Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/dsa/user.c dsa_user_fdb_event() -> dsa_foreign_dev_check()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 foreign_dev $1

net/switchdev/switchdev.c __switchdev_handle_port_obj_del() -> __switchdev_handle_port_obj_del param 3()

Type Parameter Key Value
PARAM_VALUE 1 foreign_dev 4096-ptr_max
BUF_SIZE 0 dev 0
DATA_SOURCE 0 dev r switchdev_lower_dev_find
DATA_SOURCE 1 foreign_dev $0
PARAM_COMPARE 1 &foreign_dev->adj_list.upper != $1->adj_list.upper.next
BIT_INFO 0 dev 0x0,0x0

net/switchdev/switchdev.c __switchdev_handle_fdb_event_to_device() -> __switchdev_handle_fdb_event_to_device param 5()

Type Parameter Key Value
PARAM_VALUE 1 foreign_dev 4096-ptr_max
BUF_SIZE 0 dev 0
DATA_SOURCE 0 dev r switchdev_lower_dev_find_rcu
DATA_SOURCE 1 foreign_dev $0
PARAM_COMPARE 1 &foreign_dev->adj_list.upper != $1->adj_list.upper.next
BIT_INFO 0 dev 0x0,0x0

net/switchdev/switchdev.c __switchdev_handle_port_obj_add() -> __switchdev_handle_port_obj_add param 3()

Type Parameter Key Value
PARAM_VALUE 1 foreign_dev 4096-ptr_max
BUF_SIZE 0 dev 0
DATA_SOURCE 0 dev r switchdev_lower_dev_find
DATA_SOURCE 1 foreign_dev $0
PARAM_COMPARE 1 &foreign_dev->adj_list.upper != $1->adj_list.upper.next
BIT_INFO 0 dev 0x0,0x0

net/switchdev/switchdev.c switchdev_lower_dev_walk() -> switchdev_lower_dev_walk ptr foreign_dev_check_cb()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
CONTAINER 1 *(-8+16) $(-1)
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte