[PATCH RFC 36/41] nvmet: refuse files on pseudo filesystems as namespace backing files
From: Christian Brauner
Date: Tue Nov 10 2026 - 05:08:20 EST
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) <brauner@xxxxxxxxxx>
---
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);
/*
--
2.53.0