Re: [syzbot] [reiserfs?] possible deadlock in open_xa_dir

From: Paul Moore
Date: Fri May 05 2023 - 17:36:40 EST


On Fri, May 5, 2023 at 4:51 PM syzbot
<syzbot+8fb64a61fdd96b50f3b8@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> syzbot has bisected this issue to:
>
> commit d82dcd9e21b77d338dc4875f3d4111f0db314a7c
> Author: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
> Date: Fri Mar 31 12:32:18 2023 +0000
>
> reiserfs: Add security prefix to xattr name in reiserfs_security_write()
>
> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=14403182280000
> start commit: 3c4aa4434377 Merge tag 'ceph-for-6.4-rc1' of https://githu..
> git tree: upstream
> final oops: https://syzkaller.appspot.com/x/report.txt?x=16403182280000
> console output: https://syzkaller.appspot.com/x/log.txt?x=12403182280000
> kernel config: https://syzkaller.appspot.com/x/.config?x=73a06f6ef2d5b492
> dashboard link: https://syzkaller.appspot.com/bug?extid=8fb64a61fdd96b50f3b8
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12442414280000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=176a7318280000
>
> Reported-by: syzbot+8fb64a61fdd96b50f3b8@xxxxxxxxxxxxxxxxxxxxxxxxx
> Fixes: d82dcd9e21b7 ("reiserfs: Add security prefix to xattr name in reiserfs_security_write()")
>
> For information about bisection process see: https://goo.gl/tpsmEJ#bisection

I don't think Roberto's patch identified above is the actual root
cause of this problem as reiserfs_xattr_set_handle() is called in
reiserfs_security_write() both before and after the patch. However,
due to some bad logic in reiserfs_security_write() which Roberto
corrected, I'm thinking that it is possible this code is being
exercised for the first time and syzbot is starting to trigger a
locking issue in the reiserfs code ... ?

--
paul-moore.com