CVE-2026-80790 PUBLISHED

nvmet-fc: fix invalid free in LS IOD error path

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-fc: fix invalid free in LS IOD error path

nvmet_fc_alloc_ls_iodlist() advances iod while initializing the LS IOD array. If an rqstbuf allocation or response buffer DMA mapping fails, the unwind loop decrements iod past the start of the array. The final kfree(iod) therefore frees an address before the allocated object.

This can be reproduced with nvme-fcloop and failslab by setting fail-nth to 6 before creating a target port. KASAN reports:

BUG: KASAN: invalid-free in nvmet_fc_register_targetport Free of addr ffff88816cf8ff48 by task nvmet_fail_nth/9552

Free the original allocation base stored in tgtport->iod instead. With this fix applied, the same sysfs write with fail-nth=6 returns -ENOMEM without any KASAN report.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to b189c6e408896ccc23d2e76d7738847cdebf1532 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to 449e9c4f8db84ad9d9bb288029b230bcf590faa2 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to 1a8f007faefe8c226ec65896589f8d59b0a8d5a5 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to d094582cce9c08516d714e7436a8f3b9211dda90 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to 371fb1bf902adaa59be32bd7e904a5317e604fd0 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to 8bce9cd08aae4283badf8ddc11fbb6f57b75a81e (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to bb9489f0dce58da730d3479588d6710d7a2c1b45 (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to 94334ea92f4d7535f66f86e33681efa94827eddc (excl.)
  • affected from c53432030d86429dc9fe5adc3d68cb9d1343b0b2 to ba98d6796d12258e837ece065d2ecb59d76ce4ff (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.10 is affected
  • unaffected from 0 to 4.10 (excl.)
  • 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