[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231225024906.GD491196@mit.edu>
Date: Sun, 24 Dec 2023 21:49:06 -0500
From: "Theodore Ts'o" <tytso@....edu>
To: Baokun Li <libaokun1@...wei.com>
Cc: Al Viro <viro@...iv.linux.org.uk>, Edward Adam Davis <eadavis@...com>,
syzbot+2c4a3b922a860084cc7f@...kaller.appspotmail.com,
adilger.kernel@...ger.ca, linux-ext4@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com, yangerkun <yangerkun@...wei.com>
Subject: Re: [PATCH] ext4: fix WARNING in lock_two_nondirectories
On Mon, Dec 25, 2023 at 10:33:20AM +0800, Baokun Li wrote:
> Since in the current logic we update the boot loader file via
> swap_inode_boot_loader(), however the boot loader inode on disk
> may be uninitialized and may be garbage data, so we allow to get a
> bad boot loader inode and then initialize it and swap it with the boot
> loader file to be set.
> When reinitializing the bad boot loader inode, something like an
> inode type conversion may occur.
Yes, but the boot laoder inode is *either* all zeros, or a regular
file. If it's a directory, then it's a malicious syzbot trying to
mess with our minds.
Aside from the warning, it's pretty harmless, but it will very likely
result in a corrupted file system --- but the file system was
corrupted in the first place. So who cares?
Just check to make sure that i_mode is either 0, or regular file, and
return EFSCORRUPTEd, and we're done.
- Ted
Powered by blists - more mailing lists