Skip to content

nvme: fix segfault at nvme_match_devname()#3125

Merged
igaw merged 1 commit intolinux-nvme:masterfrom
martin-gpy:nvme-match-devname-segfault
Mar 3, 2026
Merged

nvme: fix segfault at nvme_match_devname()#3125
igaw merged 1 commit intolinux-nvme:masterfrom
martin-gpy:nvme-match-devname-segfault

Conversation

@martin-gpy
Copy link
Copy Markdown
Contributor

Passing the character device as an argument to nvme list-subsys can result in a segfault at nvme_match_devname() as seen in the below gdb stack trace:

(gdb) where
nvme_ctrl_get_name (c=0x0) at ../libnvme/src/nvme/tree.c:1085 0x000000000040e800 in nvme_match_devname (devname=0xf910df0 "0\342\220\017", ns=0x7ffd1ed57703) at ../nvme.c:3462 0x000000000040e853 in nvme_match_device_filter (s=0x0, c=0xf90dbe0, ns=0x0, f_args=0x30) at ../nvme.c:3471 (gdb)

This is because nvme_ns_get_ctrl() can return a NULL for multipathed ns devices. Fix the same.

Fixes: 51bc794 ("nvme: allow char dev filter for show-topology and list-subsys commands")

Passing the character device as an argument to nvme list-subsys
can result in a segfault at nvme_match_devname() as seen in the
below gdb stack trace:

(gdb) where
nvme_ctrl_get_name (c=0x0) at ../libnvme/src/nvme/tree.c:1085
0x000000000040e800 in nvme_match_devname (devname=0xf910df0 "0\342\220\017", ns=0x7ffd1ed57703) at ../nvme.c:3462
0x000000000040e853 in nvme_match_device_filter (s=0x0, c=0xf90dbe0, ns=0x0, f_args=0x30) at ../nvme.c:3471
(gdb)

This is because nvme_ns_get_ctrl() can return a NULL for multipathed
ns devices. Fix the same.

Fixes: 51bc794 ("nvme: allow char dev filter for show-topology and list-subsys commands")

Signed-off-by: Martin George <[email protected]>
@igaw igaw merged commit 3ff917f into linux-nvme:master Mar 3, 2026
18 of 19 checks passed
@igaw
Copy link
Copy Markdown
Collaborator

igaw commented Mar 3, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants