Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_associate() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_associate() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_associate() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_disassociate() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_disassociate() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_pp_preassociate_rr() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_process_get_pp_request() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
STR_LEN 0 enic (-1)
STR_LEN 0 enic (-1)
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 &netdev->ethtool->rss_lock
HALF_LOCKED2 &netdev->lock
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_process_get_pp_request() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
STR_LEN 0 enic (-1)
STR_LEN 0 enic (-1)
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 &netdev->ethtool->rss_lock
HALF_LOCKED2 &netdev->lock
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_set_port_profile() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_pp.c enic_unset_port_profile() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf (-1)-65534
CAPPED_DATA 1 vf 1
DATA_SOURCE 0 enic $0
DATA_SOURCE 1 vf $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 enic->vdev->pdev->dev.cma_area->available_count
LOCK2 bh
LOCK2 0 &enic->devcmd_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_main.c enic_set_vf_mac() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf 0-65534
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 vf 0-65534
LOCK2 bh
LOCK2 global &rtnl_mutex
LOCK2 0 &enic->devcmd_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 &rx_queue_mutex
TYPE_LOCK (struct enic)->devcmd_lock

drivers/net/ethernet/cisco/enic/enic_main.c enic_set_vf_port() -> enic_is_valid_vf()

Type Parameter Key Value
PARAM_VALUE 0 enic 4096-ptr_max
PARAM_VALUE 1 vf 0-65534
DATA_SOURCE 1 vf $1
PARAM_COMPARE 0 enic->num_vfs > $1
PARAM_COMPARE 1 vf < $0->num_vfs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 bh
LOCK2 global &rtnl_mutex
LOCK2 0 &enic->devcmd_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 &rx_queue_mutex
TYPE_LOCK (struct enic)->devcmd_lock