On 11/10/2026 4:14 PM, Christian Brauner wrote: > The file backend takes any path that isn't a block device. With > buffered_io=1 that includes files on procfs or sysfs which then get read > and written by a kernel worker on behalf of the host. Refuse files on > pseudo filesystems just like loop does. > > Signed-off-by: Christian Brauner (Amutable) <[email protected]> > --- > drivers/nvme/target/io-cmd-file.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/nvme/target/io-cmd-file.c > b/drivers/nvme/target/io-cmd-file.c > index dfa8aa46188c..71c69bac5394 100644 > --- a/drivers/nvme/target/io-cmd-file.c > +++ b/drivers/nvme/target/io-cmd-file.c > @@ -52,6 +52,11 @@ int nvmet_file_ns_enable(struct nvmet_ns *ns) > goto err; > } > > + if (file_is_pseudo(ns->file)) { > + ret = -EINVAL; > + goto err; > + } > + > nvmet_file_ns_revalidate(ns); > > /* >
I noticed patch 41/41 doesn't include a test for nvmet. Would it make sense to add one with buffered_io=1? The test would need a pseudo file that can be opened with O_RDWR and supports both read_iter and write_iter. Otherwise, it could pass without ever reaching the new file_is_pseudo() check. Thanks.
