CVE-2026-80788 PUBLISHED

nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations

Assigner: Linux
Reserved: 26.08.2026 Published: 04.09.2026 Updated: 04.09.2026

In the Linux kernel, the following vulnerability has been resolved:

nvmet-tcp: Do not WARN on remotely-controlled oversized SGL allocations

When fuzzing the nvme target code, I tripped a kernel warning in nvmet_tcp_map_data() because the length passed into the allocator is controlled by the remote initiator.

A remote initiator that sends a command with an SGL claiming a huge number, can create a scatterlist and iovec allocation of over 1 million entries, which causes the backing kmalloc call to exceed MAX_PAGE_ORDER and then the page allocator will trip on a WARN_ON_ONCE_GFP() message:

WARNING: mm/page_alloc.c:5280 __alloc_frozen_pages_noprof Workqueue: nvmet_tcp_wq nvmet_tcp_io_work ... sgl_alloc_order nvmet_tcp_map_data nvmet_tcp_try_recv_pdu

As it's never good to trip a kernel warning remotely due to many systems having panic-on-warn enabled, let's silence it by just add GFP_NOWARN to the allocation flags.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 8d01f0d0e96485e39ad89b859ef85e1dc3020465 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 7b6a54d4e7b0da423c2b53ed293fd36b16c0b19e (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to e7077e6c45423dd2bb7de7b5fc4b018a8e6c4741 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 86cc450022473c4a29b43a09f3ec22a9ef566dac (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to c509f20be1cabda3087810bb2d658d66b3f31f35 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9c95f7e66c62ee6c6abedcf1c04311f430ff5833 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 7fd6da0f28932442b51658bac4ff55565ca9b377 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9b770e40bc00381e5ebf53653de5776773415be3 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 737a3b535247226f6e1a7988fd9d6e63e7d6fc71 (excl.)
  • affected from 0 to 5.10.267 (excl.)
  • affected from 0 to 5.15.218 (excl.)
  • affected from 0 to 6.1.185 (excl.)
  • affected from 0 to 6.6.154 (excl.)
  • affected from 0 to 6.12.106 (excl.)
  • affected from 0 to 6.18.47 (excl.)
  • affected from 0 to 7.1.11 (excl.)
  • affected from 0 to 7.2.1 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • unaffected from 5.10.267 to 5.10.* (incl.)
  • unaffected from 5.15.218 to 5.15.* (incl.)
  • unaffected from 6.1.185 to 6.1.* (incl.)
  • unaffected from 6.6.154 to 6.6.* (incl.)
  • unaffected from 6.12.106 to 6.12.* (incl.)
  • unaffected from 6.18.47 to 6.18.* (incl.)
  • unaffected from 7.1.11 to 7.1.* (incl.)
  • unaffected from 7.2.1 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References