mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 01:02:45 +00: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
		Add a link
		
	
		Reference in a new issue
	
	 Liav A
						Liav A