mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 02:12:09 -05:00
Kernel/FileSystem: Remove disk cache only after ext2 superblock flush
We first must flush the superblock through the BlockBasedFileSystem methods properly and only then clear the DiskCache pointer, to prevent a possible kernel panic due to nullptr dereference.
This commit is contained in:
parent
abf7941bb9
commit
dbab4d34d7
1 changed files with 1 additions and 1 deletions
|
@ -589,7 +589,6 @@ ErrorOr<void> Ext2FS::prepare_to_clear_last_mount(Inode& mount_guest_inode)
|
|||
if (any_inode_busy)
|
||||
return EBUSY;
|
||||
|
||||
BlockBasedFileSystem::remove_disk_cache_before_last_unmount();
|
||||
m_inode_cache.clear();
|
||||
m_root_inode = nullptr;
|
||||
|
||||
|
@ -597,6 +596,7 @@ ErrorOr<void> Ext2FS::prepare_to_clear_last_mount(Inode& mount_guest_inode)
|
|||
dmesgln("Ext2FS: Clean unmount, setting superblock to valid state");
|
||||
m_super_block.s_state = EXT2_VALID_FS;
|
||||
TRY(flush_super_block());
|
||||
BlockBasedFileSystem::remove_disk_cache_before_last_unmount();
|
||||
|
||||
return {};
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue