[PATCH 0/4] ext4: clean up ea_inode handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This fixes a number of problems with ea_inode handling which were
pointed out by syzbot.  The first and third add some additional
checking for invalid / maliciously fuzzed file systems.  The second
and fourth patch adds some lockdep annotations to avoid some false
positive reports from lockdep.

There is still one remaining syzbot report[1] relating to ea_inodes
not handled by this patch series, and that is an apparently deadlock
which happens when a kernel thread is freeing an ea_inode racing with
another thread which is trying to find the mbcache entry (presumably
with the intent of reusing it).  The problem is apparently hard to
reproduce; it's only been hit 4 times, and there is no C reproducer;
just a syzkaller reproducer.  So we'll leave that for another day/

[1] https://syzkaller.appspot.com/bug?extid=38e6635a03c83c76297a
    INFO: task hung in ext4_evict_ea_inode


Theodore Ts'o (4):
  ext4: add EA_INODE checking to ext4_iget()
  ext4: set lockdep subclass for the ea_inode in
    ext4_xattr_inode_cache_find()
  ext4: disallow ea_inodes with extended attributes
  ext4: add lockdep annotations for i_data_sem for ea_inode's

 fs/ext4/ext4.h  |  5 ++++-
 fs/ext4/inode.c | 34 +++++++++++++++++++++++++++++-----
 fs/ext4/xattr.c | 41 ++++++++++++-----------------------------
 3 files changed, 45 insertions(+), 35 deletions(-)

-- 
2.31.0




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux