Re: [PATCH v3 net-next] net: advance skb_defer_disable_key check in napi_consume_skb

kernel test robot
2026-04-03T08:48:03Z

Hi Jason,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Jason-Xing/net-advance-skb_defer_disable_key-check-in-napi_consume_skb/20260403-115110
base: net-next/main
patch link: https://lore.kernel.org/r/20260401033211.44463-1-kerneljasonxing%40gmail.com
patch subject: [PATCH v3 net-next] net: advance skb_defer_disable_key check in napi_consume_skb
config: x86_64-buildonly-randconfig-005-20260403 (https://download.01.org/0day-ci/archive/20260403/202604031607.o753ScQ1-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260403/202604031607.o753ScQ1-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604031607.o753ScQ1-lkp@intel.com/

All errors (new ones prefixed by >>):

>> net/core/skbuff.c:1522:31: error: use of undeclared identifier 'skb_defer_disable_key'
1522 | if (!static_branch_unlikely(&skb_defer_disable_key) &&
| ^
>> net/core/skbuff.c:1522:31: error: use of undeclared identifier 'skb_defer_disable_key'
>> net/core/skbuff.c:1522:31: error: use of undeclared identifier 'skb_defer_disable_key'
>> net/core/skbuff.c:1522:31: error: use of undeclared identifier 'skb_defer_disable_key'
4 errors generated.

vim +/skb_defer_disable_key +1522 net/core/skbuff.c

1500
1501 /**
1502 * napi_consume_skb() - consume skb in NAPI context, try to feed skb cache
1503 * @skb: buffer to free
1504 * @budget: NAPI budget
1505 *
1506 * Non-zero @budget must come from the @budget argument passed by the core
1507 * to a NAPI poll function. Note that core may pass budget of 0 to NAPI poll
1508 * for example when polling for netpoll / netconsole.
1509 *
1510 * Passing @budget of 0 is safe from any context, it turns this function
1511 * into dev_consume_skb_any().
1512 */
1513 void napi_consume_skb(struct sk_buff *skb, int budget)
1514 {
1515 if (unlikely(!budget || !skb)) {
1516 dev_consume_skb_any(skb);
1517 return;
1518 }
1519
1520 DEBUG_NET_WARN_ON_ONCE(!in_softirq());
1521
> 1522 if (!static_branch_unlikely(&skb_defer_disable_key) &&
1523 skb->alloc_cpu != smp_processor_id() && !skb_shared(skb)) {
1524 skb_release_head_state(skb);
1525 return skb_attempt_defer_free(skb);
1526 }
1527
1528 if (!skb_unref(skb))
1529 return;
1530
1531 /* if reaching here SKB is ready to free */
1532 trace_consume_skb(skb, __builtin_return_address(0));
1533
1534 /* if SKB is a clone, don't handle this case */
1535 if (skb->fclone != SKB_FCLONE_UNAVAILABLE) {
1536 __kfree_skb(skb);
1537 return;
1538 }
1539
1540 skb_release_all(skb, SKB_CONSUMED);
1541 napi_skb_cache_put(skb);
1542 }
1543 EXPORT_SYMBOL(napi_consume_skb);
1544

--
0-DAY CI Kernel Test Service