mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
net: warn during dump if NAPI list is not sorted
Dump continuation depends on the NAPI list being sorted. Broken netlink dump continuation may be rare and hard to debug so add a warning if we notice the potential problem while walking the list. Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> Reviewed-by: Joe Damato <jdamato@fastly.com> Link: https://patch.msgid.link/20250110004505.3210140-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
460b52835e
commit
af3525d410
|
|
@ -263,14 +263,21 @@ netdev_nl_napi_dump_one(struct net_device *netdev, struct sk_buff *rsp,
|
|||
struct netdev_nl_dump_ctx *ctx)
|
||||
{
|
||||
struct napi_struct *napi;
|
||||
unsigned int prev_id;
|
||||
int err = 0;
|
||||
|
||||
if (!(netdev->flags & IFF_UP))
|
||||
return err;
|
||||
|
||||
prev_id = UINT_MAX;
|
||||
list_for_each_entry(napi, &netdev->napi_list, dev_list) {
|
||||
if (napi->napi_id < MIN_NAPI_ID)
|
||||
continue;
|
||||
|
||||
/* Dump continuation below depends on the list being sorted */
|
||||
WARN_ON_ONCE(napi->napi_id >= prev_id);
|
||||
prev_id = napi->napi_id;
|
||||
|
||||
if (ctx->napi_id && napi->napi_id >= ctx->napi_id)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user