Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/bridge/br_sysfs_if.c store_path_cost() -> br_stp_set_path_cost()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->br 4096-ptr_max
PARAM_VALUE 0 p->br->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 p->dev 4096-ptr_max
CAPPED_DATA 0 p->dev->nd_net.net 1
DATA_SOURCE 0 p $0
DATA_SOURCE 1 path_cost $1
NS_CAPABLE 0 12
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 path_cost 0-u64max
LOCK2 &of->mutex
LOCK2 bh
LOCK2 global &rtnl_mutex
LOCK2 0 &p->br->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct net_bridge)->lock

net/bridge/br_netlink.c br_setport() -> br_stp_set_path_cost()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->br 4096-ptr_max
PARAM_VALUE 0 p->br->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 path_cost 0-u32max
DATA_SOURCE 0 p $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &p->br->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct net_bridge)->lock

net/bridge/br_ioctl.c br_dev_siocdevprivate() -> br_stp_set_path_cost()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
CAPPED_DATA 0 p->port_no 1
DATA_SOURCE 0 p r br_get_port
NS_CAPABLE 0 12
PREEMPT_ADD <- disables preempt
USER_DATA 1 path_cost 0-u64max
LOCK2 &br->lock
LOCK2 bh
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct net_bridge)->lock