[PATCH v3] nvme: fix command effects log lifetime for multipath heads
Keith Busch
kbusch at kernel.org
Tue Sep 22 08:00:15 PDT 2026
On Tue, Sep 22, 2026 at 03:37:30PM +0800, Yao Sang wrote:
> KASAN reported a use-after-free when an I/O passthrough command was sent
> through a multipath namespace head after the controller path that first
> created the head had been removed:
>
> BUG: KASAN: slab-use-after-free in nvme_command_effects+0x192/0x200 [nvme_core]
> Read of size 4 at addr ffff888141b14400 by task nvme/19811
> nvme_command_effects+0x192/0x200 [nvme_core]
> nvme_cmd_allowed+0x7e/0x1b0 [nvme_core]
> nvme_user_cmd.constprop.0+0x1b5/0x450 [nvme_core]
> nvme_ns_head_chr_ioctl+0xf4/0x2a0 [nvme_core]
>
> Move the log cache to the subsystem, with one entry per command set. Both
> controllers and namespace heads hold subsystem references, keeping their
> log pointers valid until subsystem release.
Thanks, applied to nvme-7.3.
More information about the Linux-nvme
mailing list