On Thu 11-02-21 14:49:43, Dan Carpenter wrote:
On Thu, Feb 11, 2021 at 11:50:38AM +0100, 'Michal Hocko' via syzkaller-bugs wrote:
quoted
On Thu 11-02-21 11:22:25, Jan Kara wrote:
quoted
On Thu 11-02-21 12:07:29, Hillf Danton wrote:
I haven't received Hillf's email.
[...]
quoted
quoted
Fix 71b565ceff37 ("ext4: drop ext4_kvmalloc()") by restoring the
GFP_NOFS introduced in dec214d00e0d ("ext4: xattr inode deduplication").
Note this may be the fix also to possible deadlock
Reported-by: syzbot+bfdded10ab7dcd7507ae@syzkaller.appspotmail.com
https://lore.kernel.org/linux-ext4/000000000000563a0205bafb7970@google.com/ (local)
Please no. Ext4 is using scoping API to limit allocations to GFP_NOFS
inside transactions. In this case something didn't work which seems like a
lockdep bug at the first sight but I'll talk to mm guys about it.
Definitely to problem doesn't seem to be in ext4.
Agreed. kvmalloc(NOFS) is not even supported because vmalloc doesn't
support GFP_KERNEL incompatible requests.
Okay. I have created a new Smatch warning when people pass GFP_NOFS
to kvmalloc() and friends. We'll see if it finds anything tomorrow.
Thanks! Let me just clarify a bit. The kvmalloc doesn't support
GFP_KERNEL incompatible requests and it simply skips vmalloc fallback.
So this is not a correctness issue. It is the API abuse though.
--
Michal Hocko
SUSE Labs