On Sat, Jun 14, 2025 at 09:55:05PM +0800, Alan Huang wrote: > btree_interior_update_pool has not been initialized before the > filesystem becomes read-write, thus mempool_alloc in bch2_btree_update_start > will trigger pool->alloc NULL pointer dereference in mempool_alloc_noprof > > Reported-by: [email protected] > Signed-off-by: Alan Huang <[email protected]> > --- > fs/bcachefs/chardev.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/bcachefs/chardev.c b/fs/bcachefs/chardev.c > index fde3c2380e28..ec8d0719a543 100644 > --- a/fs/bcachefs/chardev.c > +++ b/fs/bcachefs/chardev.c > @@ -378,6 +378,9 @@ static long bch2_ioctl_data(struct bch_fs *c, > struct bch_data_ctx *ctx; > int ret; > > + if (!test_bit(BCH_FS_rw, &c->flags)) > + return -EINVAL; > +
this isn't the right fix - we need to do a tryget and take a ref on c->writes > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > -- > 2.48.1 >
