Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/bridge/br_fdb.c br_fdb_add_local() -> fdb_add_local()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source 0,4096-ptr_max
BUF_SIZE 1 source (-1),1392
BUF_SIZE 1 source (-1),1392
BUF_SIZE 2 addr 32
BUF_SIZE 2 addr 32
CAPPED_DATA 1 source 1
DATA_SOURCE 0 br $0
DATA_SOURCE 1 source $1
DATA_SOURCE 2 addr $2
DATA_SOURCE 3 vid $3
NOSPEC 1 source->dev->ifindex
NOSPEC 3 vid
NOSPEC 3 vid
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 br->dev->flags 0-526337[c]
USER_DATA 0 br->dev->ifindex 0-s32max[c]
USER_DATA 1 source->dev->flags 0-525313[c]
USER_DATA 1 source->dev->ifindex 0-s32max[c]
USER_DATA 3 vid 1-4094
NO_OVERFLOW_SIMPLE 0 br->default_pvid
NO_OVERFLOW_SIMPLE 0 br->multicast_ctx.multicast_igmp_version
NO_OVERFLOW_SIMPLE 0 br->multicast_ctx.multicast_mld_version
NO_OVERFLOW_SIMPLE 0 br->multicast_ctx.multicast_querier
NO_OVERFLOW_SIMPLE 0 br->multicast_ctx.multicast_router
NO_OVERFLOW_SIMPLE 0 br->vlan_proto
NO_OVERFLOW_SIMPLE 1 source->dev->group
LOCK2 bh
LOCK2 0 &br->hash_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct net_bridge)->hash_lock

net/bridge/br_fdb.c br_fdb_change_mac_address() -> fdb_add_local()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->dev 4096-ptr_max
PARAM_VALUE 0 br->fdb_hash_tbl.p.hashfn 4096-ptr_max
PARAM_VALUE 0 br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source 0
PARAM_VALUE 3 vid 0
BUF_SIZE 2 addr (-1),6,14,32
BUF_SIZE 2 addr (-1),6,14,32
DATA_SOURCE 0 br $0
DATA_SOURCE 2 addr $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 br->dev->flags 0-526337[c]
USER_DATA 0 br->dev->ifindex 0-s32max[c]
USER_DATA 2 *addr 0-255
USER_PTR 2 addr
LOCK2 bh
LOCK2 0 &br->hash_lock
HALF_LOCKED2 0 &br->lock
TYPE_LOCK (struct net_bridge)->hash_lock

net/bridge/br_fdb.c br_fdb_change_mac_address() -> fdb_add_local()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->dev 4096-ptr_max
PARAM_VALUE 0 br->fdb_hash_tbl.p.hashfn 4096-ptr_max
PARAM_VALUE 0 br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 br->vlgrp 4096-ptr_max
PARAM_VALUE 0 br->vlgrp->num_vlans 1-u16max
PARAM_VALUE 1 source 0
PARAM_VALUE 2 addr 4096-ptr_max
BUF_SIZE 2 addr (-1),6,14,32
BUF_SIZE 2 addr (-1),6,14,32
CAPPED_DATA 0 br->vlgrp 1
DATA_SOURCE 0 br $0
DATA_SOURCE 2 addr $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 br->dev->flags 0-526337[c]
USER_DATA 0 br->dev->ifindex 0-s32max[c]
USER_DATA 2 *addr 0-255
USER_PTR 2 addr
LOCK2 bh
LOCK2 0 &br->hash_lock
HALF_LOCKED2 0 &br->lock
TYPE_LOCK (struct net_bridge)->hash_lock

net/bridge/br_fdb.c br_fdb_changeaddr() -> fdb_add_local()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source 4096-ptr_max
PARAM_VALUE 1 source->br 4096-ptr_max
PARAM_VALUE 1 source->br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source->br->lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 vid 0
BUF_SIZE 2 addr 32
BUF_SIZE 2 addr 32
CAPPED_DATA 1 source 1
CAPPED_DATA 1 source->vlgrp 1
DATA_SOURCE 1 source $0
DATA_SOURCE 2 addr $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &br->lock
LOCK2 bh
LOCK2 0 &br->hash_lock
TYPE_LOCK (struct net_bridge)->hash_lock
TYPE_LOCK (struct net_bridge)->lock

net/bridge/br_fdb.c br_fdb_changeaddr() -> fdb_add_local()

Type Parameter Key Value
PARAM_VALUE 0 br 4096-ptr_max
PARAM_VALUE 0 br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source 4096-ptr_max
PARAM_VALUE 1 source->br 4096-ptr_max
PARAM_VALUE 1 source->br->hash_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 source->br->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 addr 4096-ptr_max
BUF_SIZE 2 addr 32
BUF_SIZE 2 addr 32
CAPPED_DATA 1 source 1
CAPPED_DATA 1 source->vlgrp 1
DATA_SOURCE 1 source $0
DATA_SOURCE 2 addr $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &br->lock
LOCK2 bh
LOCK2 0 &br->hash_lock
TYPE_LOCK (struct net_bridge)->hash_lock
TYPE_LOCK (struct net_bridge)->lock