In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftablesoffload: suppress WARNONONCE for ENOMEM in abort path
In nftflowruleoffloadabort(), WARNONONCE(err) is triggered on every error during rollback, including -ENOMEM. Memory allocation failures are expected under low-memory conditions and do not indicate a kernel bug.
Trace for example: nftflowoffloadchain() // FLOWBLOCKBIND nftflowblockchain() nftchainoffloadcmd() nftblockoffloadcmd() ->ndosetuptc() nsimsetuptc() flowblockcbsetupsimple() flowblockcb_alloc() // fails to -ENOMEM
The warning was reproduced on the 5.10 stable kernel under memory pressure via fault injection, but the underlying bug exists in mainline as well, as demonstrated by the ENOMEM trace above. The following splat was triggered during nf_tables transaction processing:
WARNING: CPU: 0 PID: 8567 at net/netfilter/nftablesoffload.c:532 nftflowruleoffloadabort net/netfilter/nftablesoffload.c:532 [inline] WARNING: CPU: 0 PID: 8567 at net/netfilter/nftablesoffload.c:532 nftflowruleoffloadcommit+0x971/0xcd0 net/netfilter/nftablesoffload.c:591 Modules linked in: CPU: 0 PID: 8567 Comm: syz-executor.0 Not tainted 5.10.260-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:nftflowruleoffloadabort net/netfilter/nftablesoffload.c:532 [inline] RIP: 0010:nftflowruleoffloadcommit+0x971/0xcd0 net/netfilter/nftablesoffload.c:591 Call Trace: nftablescommit+0x3bd/0x4bd0 net/netfilter/nftablesapi.c:8604 nfnetlinkrcvbatch+0xb1e/0x1f20 net/netfilter/nfnetlink.c:509 nfnetlinkrcvskbbatch net/netfilter/nfnetlink.c:579 [inline] nfnetlinkrcv+0x3b3/0x420 net/netfilter/nfnetlink.c:597 netlinkunicastkernel net/netlink/afnetlink.c:1314 [inline] netlinkunicast+0x6cd/0xa00 net/netfilter/afnetlink.c:1340 netlinksendmsg+0x906/0xe10 net/netfilter/afnetlink.c:1919 socksendmsg_nosec net/socket.c:651 [inline] __sock_sendmsg+0x155/0x190 net/socket.c:663 ____sys_sendmsg+0x705/0x870 net/socket.c:2379 ___sys_sendmsg+0x100/0x170 net/socket.c:2433 _syssendmsg+0xe9/0x1c0 net/socket.c:2462 dosyscall64+0x33/0x40 arch/x86/entry/common.c:46 entrySYSCALL64afterhwframe+0x67/0xd1
Change the condition to WARNONONCE(err && err != -ENOMEM) so that warnings are only emitted for unexpected errors. This aligns with the common kernel practice of not warning on -ENOMEM.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80744.json",
"cna_assigner": "Linux"
}