[PATCH] fuse: replace BUG_ON with WARN_ON and -EBUSY in fuse_ctl_fill_super
From: Yuto Ohnuki
Date: Tue Feb 24 2026 - 06:58:42 EST
Replace BUG_ON(fuse_control_sb) with WARN_ON() that returns -EBUSY.
Currently get_tree_single() prevents duplicate calls to
fuse_ctl_fill_super(), making this condition unreachable in practice.
However, BUG_ON() should not be used for conditions that can be handled
gracefully. Use WARN_ON() to log the unexpected state instead of
crashing.
Signed-off-by: Yuto Ohnuki <ytohnuki@xxxxxxxxxx>
---
fs/fuse/control.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/fuse/control.c b/fs/fuse/control.c
index 140bd5730d99..8bac837fd4e1 100644
--- a/fs/fuse/control.c
+++ b/fs/fuse/control.c
@@ -316,7 +316,11 @@ static int fuse_ctl_fill_super(struct super_block *sb, struct fs_context *fsc)
return err;
mutex_lock(&fuse_mutex);
- BUG_ON(fuse_control_sb);
+ if (WARN_ON(fuse_control_sb)) {
+ mutex_unlock(&fuse_mutex);
+ return -EBUSY;
+ }
+
fuse_control_sb = sb;
list_for_each_entry(fc, &fuse_conn_list, entry) {
err = fuse_ctl_add_conn(fc);
--
2.50.1
Amazon Web Services EMEA SARL, 38 avenue John F. Kennedy, L-1855 Luxembourg, R.C.S. Luxembourg B186284
Amazon Web Services EMEA SARL, Irish Branch, One Burlington Plaza, Burlington Road, Dublin 4, Ireland, branch registration number 908705