On Wed, 2025-06-25 at 19:10 +0900, Tetsuo Handa wrote: > syzkaller can mount crafted filesystem images. > Don't crash the kernel when we can continue. > > Reported-by: syzbot <syzbot+1107451c16b9eb9d29e6@xxxxxxxxxxxxxxxxxxxxxxxxx> > Closes: https://syzkaller.appspot.com/bug?extid=1107451c16b9eb9d29e6 > Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > --- > fs/hfsplus/xattr.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/fs/hfsplus/xattr.c b/fs/hfsplus/xattr.c > index 9a1a93e3888b..191767d4cf78 100644 > --- a/fs/hfsplus/xattr.c > +++ b/fs/hfsplus/xattr.c > @@ -172,7 +172,11 @@ static int hfsplus_create_attributes_file(struct super_block *sb) > return PTR_ERR(attr_file); > } > > - BUG_ON(i_size_read(attr_file) != 0); So, it's something like unexpected situation here. Why do we have i_size_read(attr_file) != 0 here? It looks like hfsplus_create_attributes_file() was called in incorrect context. Probably, it's not the whole fix. Any ideas? > + if (i_size_read(attr_file) != 0) { > + err = -EIO; > + pr_err("failed to load attributes file\n"); > + goto end_attr_file_creation; > + } > > hip = HFSPLUS_I(attr_file); > Makes sense to me. Looks good. Reviewed-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx> Thanks, Slava.