Messages in this thread | | | Date | Thu, 1 Dec 2022 14:20:09 +0800 | Subject | Re: [PATCH v2] ext4: fix a NULL pointer when validating an inode bitmap | From | Baokun Li <> |
| |
On 2022/12/1 12:32, Theodore Ts'o wrote: > On Wed, Nov 30, 2022 at 11:20:11AM +0800, Baokun Li wrote: >>> If we can protect against the problem by adding a check that has other >>> value as well (such as making usre that when ext4_iget fetches a >>> special inode, we enforce that i_links_couint must be > 0), maybe >>> that's worth it. >> Yes, but some special inodes allow i_links_couint to be zero, >> such as the uninitialized boot load inode. > That's a good point; but the only time when a special inode can > validly have a zero i_links_count is when it has no blocks associated > to it. Otherwise, when the file system releases the inode using > iput() when the file system is unmounted, all of the blocks will get > released when the inode is evicted. So we can have ext4_iget() allow > fetching an inode if i_blocks[] is zeros. But if it has any blocks > and i_links_count is non-zero, something must be terribly wrong with > that inode. > > Cheers, > > - Ted > Totally agree! That sounds good!
-- With Best Regards, Baokun Li .
| |