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.
https://git.kernel.org/stable/c/d094582cce9c08516d714e7436a8f3b9211dda90
https://git.kernel.org/stable/c/bb9489f0dce58da730d3479588d6710d7a2c1b45
https://git.kernel.org/stable/c/ba98d6796d12258e837ece065d2ecb59d76ce4ff
https://git.kernel.org/stable/c/b189c6e408896ccc23d2e76d7738847cdebf1532
https://git.kernel.org/stable/c/94334ea92f4d7535f66f86e33681efa94827eddc
https://git.kernel.org/stable/c/8bce9cd08aae4283badf8ddc11fbb6f57b75a81e
https://git.kernel.org/stable/c/449e9c4f8db84ad9d9bb288029b230bcf590faa2
https://git.kernel.org/stable/c/371fb1bf902adaa59be32bd7e904a5317e604fd0
https://git.kernel.org/stable/c/1a8f007faefe8c226ec65896589f8d59b0a8d5a5