Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
net/ethtool/ioctl.c ethtool_set_rxfh() -> (struct ethtool_ops)->remove_rxfh_context()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->bus | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->class | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->power.request | 0-4 |
| PARAM_VALUE | 0 | dev->dev.parent->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 0 | dev->dev.parent->power.wakeirq | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->dev.parent->type | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops->begin | 0,1835931156019712000,3096438129622650880,3900617307435175936,5716752743725981696,7946597811871383552,8525681326485266432 |
| PARAM_VALUE | 0 | dev->ethtool_ops->create_rxfh_context | 1-u64max |
| PARAM_VALUE | 0 | dev->ethtool_ops->get_rx_ring_count | 1-u64max |
| PARAM_VALUE | 0 | dev->ethtool_ops->set_rxfh | 1-u64max |
| PARAM_VALUE | 0 | dev->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->moving_ns | 0 |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->refcnt_tracker.list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->refcnt_tracker.list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->reg_state | 0-1 |
| PARAM_VALUE | 1 | ctx | 1-1025,1027-1029,1031-u64max |
| PARAM_VALUE | 2 | rss_context | 1-u32max |
| PARAM_VALUE | 3 | extack | 0 |
| BUF_SIZE | 3 | extack | 0 |
| CAPPED_DATA | 0 | dev->nd_net.net | 1 |
| CAPPED_DATA | 0 | &dev->ethtool->rss_lock | 1 |
| CAPPED_DATA | 1 | ctx | 1 |
| DATA_SOURCE | 0 | dev | $0 |
| DATA_SOURCE | 1 | ctx | r xa_load |
| FUZZY_MAX | 0 | dev->reg_state | 1 |
| HARD_MAX | 0 | dev->reg_state | 1 |
| USER_DATA | 2 | rss_context | 1-4294967294 |
| NO_OVERFLOW_SIMPLE | 1 | ctx->indir_size | |
| NO_OVERFLOW_SIMPLE | 1 | ctx->key_off | |
| LOCK2 | 0 | &dev->ethtool->rss_lock | |
| HALF_LOCKED2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct ethtool_netdev_state)->rss_lock |
net/ethtool/rss.c ethnl_rss_create_doit() -> (struct ethtool_ops)->remove_rxfh_context()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->bus | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->type | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_ctx.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops->rxfh_key_space | 0 |
| PARAM_VALUE | 0 | dev->ethtool_ops->rxfh_max_num_contexts | 0,2,8,16,33 |
| PARAM_VALUE | 0 | dev->ethtool_ops->rxfh_priv_size | 0,8,176 |
| PARAM_VALUE | 0 | dev->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.request | 0-4 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.request | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.runtime_error | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->enable_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->prepare_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->protect_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->prepare_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->protect_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.request | 0-4 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | *dev->name | 0 |
| PARAM_VALUE | 0 | *dev->priv->dp.netdev->name | 0 |
| PARAM_VALUE | 1 | ctx | 4096-ptr_max |
| PARAM_VALUE | 1 | ctx->indir_user_size | 0-16383 |
| PARAM_VALUE | 1 | ctx->key_size | 0-u16max |
| PARAM_VALUE | 1 | ctx->priv_size | 0,8,176 |
| PARAM_VALUE | 3 | extack | 0 |
| BUF_SIZE | 1 | ctx | 24-s32max |
| BUF_SIZE | 1 | ctx | 24-s32max |
| CAPPED_DATA | 0 | dev->ethtool_ops->rxfh_max_num_contexts | 1 |
| CAPPED_DATA | 0 | &dev->ethtool->rss_lock | 1 |
| CAPPED_DATA | 1 | ctx | 1 |
| CAPPED_DATA | 1 | ctx->indir_user_size | 1 |
| CAPPED_DATA | 1 | ctx->key_size | 1 |
| DATA_SOURCE | 1 | ctx | r ethtool_rxfh_ctx_alloc |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | *ctx->data->vnic.rss_hash_key | 0-255 |
| NO_OVERFLOW_SIMPLE | 1 | ctx->indir_size | |
| NO_OVERFLOW_SIMPLE | 1 | ctx->key_off | |
| LOCK2 | 0 | &dev->ethtool->rss_lock | |
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &devlink->lock | ||
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &audit_cmd_mutex.lock | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &crypto_cfg_mutex | ||
| HALF_LOCKED2 | global &dpll_lock | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &net_dm_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct ethtool_netdev_state)->rss_lock |
net/ethtool/rss.c ethnl_rss_delete_doit() -> (struct ethtool_ops)->remove_rxfh_context()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->bus | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->dev.parent->type | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool_ops->create_rxfh_context | 1-u64max |
| PARAM_VALUE | 0 | dev->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.request | 0-4 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.request | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.runtime_error | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->enable_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->prepare_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->parent->protect_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->prepare_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->clk->core->protect_count | 0-4294967295 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.deferred_resume | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.idle_notification | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.request | 0-4 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.request_pending | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.runtime_status | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.timer_autosuspends | 0-1 |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.usage_count.counter | s32min-s32max |
| PARAM_VALUE | 0 | dev->priv->cpsw->dev->power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 1 | ctx | 1-1025,1027-1029,1031-u64max |
| PARAM_VALUE | 3 | extack | 4971238048455385088 |
| CAPPED_DATA | 0 | &dev->ethtool->rss_lock | 1 |
| DATA_SOURCE | 1 | ctx | r xa_load |
| DATA_SOURCE | 2 | rss_context | r nla_get_u32 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &dev->ethtool->rss_lock | |
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &devlink->lock | ||
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &audit_cmd_mutex.lock | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &crypto_cfg_mutex | ||
| HALF_LOCKED2 | global &dpll_lock | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &net_dm_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct ethtool_netdev_state)->rss_lock |
net/core/dev.c netdev_rss_contexts_free() -> (struct ethtool_ops)->remove_rxfh_context()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->addr_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->dev.power.wakeirq->status | 0-4294967295 |
| PARAM_VALUE | 0 | dev->ethtool | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_ctx.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | dev->ethtool->rss_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | dev->ethtool_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->mc.count | 0 |
| PARAM_VALUE | 0 | dev->netdev_ops | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->netdev_ops->ndo_uninit | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->offload_xstats_l3 | 0 |
| PARAM_VALUE | 0 | dev->qdisc | 7935956897246715904 |
| PARAM_VALUE | 0 | dev->tcx_egress | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->tcx_ingress | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dev->uc.count | 0 |
| PARAM_VALUE | 0 | dev->work_core_pending | 0 |
| PARAM_VALUE | 0 | dev->work_node.next | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->work_pending | 0 |
| PARAM_VALUE | 0 | dev->work_tracker->alloc_stack_handle | 0-4294967295 |
| PARAM_VALUE | 0 | dev->work_tracker->dead | 0-1 |
| PARAM_VALUE | 0 | dev->work_tracker->free_stack_handle | 0-4294967295 |
| PARAM_VALUE | 1 | ctx | 1-u64max |
| PARAM_VALUE | 3 | extack | 0 |
| CAPPED_DATA | 0 | dev->ingress_queue | 1 |
| CAPPED_DATA | 0 | dev->num_tx_queues | 1 |
| CAPPED_DATA | 0 | dev->real_num_rx_queues | 1 |
| CAPPED_DATA | 0 | &dev->ethtool->rss_lock | 1 |
| DATA_SOURCE | 0 | dev | $0 |
| CONTAINER | 0 | -384-784+0 | $(-1) |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | 0 | &dev->ethtool->rss_lock | |
| HALF_LOCKED2 | global &ovs_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | 0 | &dev->lock | |
| TYPE_LOCK | (struct ethtool_netdev_state)->rss_lock |