serenity/Kernel/FileSystem
Liav A a9839d7ac5 Kernel/SysFS: Don't refresh/set-values inside the Jail spinlock scope
Only do so after a brief check if we are in a Jail or not. This fixes
SMP, because apparently it is crashing when calling try_generate()
from the SysFSGlobalInformation::refresh_data method, so the fix for
this is to simply not do that inside the Process' Jail spinlock scope,
because otherwise we will simply have a possible flow of taking
multiple conflicting Spinlocks (in the wrong order multiple times), for
the SysFSOverallProcesses generation code:
Process::current().jail(), and then Process::for_each_in_same_jail being
called, we take Process::all_instances(), and Process::current().jail()
again.
Therefore, we should at the very least eliminate the first taking of the
Process::current().jail() spinlock, in the refresh_data method of the
SysFSGlobalInformation class.
2023-01-05 23:58:13 +01:00
..
DevPtsFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Ext2FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
FATFS Kernel/FileSystem: Fix handling of FAT names that don't fill an entry 2023-01-04 09:02:13 +00:00
ISO9660FS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
Plan9FS Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
ProcFS Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
SysFS Kernel/SysFS: Don't refresh/set-values inside the Jail spinlock scope 2023-01-05 23:58:13 +01:00
TmpFS Kernel: Add callback on ".." directory entry for a TmpFS root directory 2022-12-09 22:59:08 -07:00
AnonymousFile.cpp
AnonymousFile.h
BlockBasedFileSystem.cpp
BlockBasedFileSystem.h
Custody.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Custody.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
DeviceFileTypes.h
FIFO.cpp
FIFO.h
File.cpp
File.h Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +01:00
FileBackedFileSystem.cpp
FileBackedFileSystem.h
FileSystem.cpp
FileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Inode.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Inode.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
InodeFile.cpp Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +01:00
InodeFile.h Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +01:00
InodeIdentifier.h
InodeMetadata.cpp Kernel: Use real UID/GID when checking for file access 2022-12-11 19:55:37 -07:00
InodeMetadata.h Kernel: Use real UID/GID when checking for file access 2022-12-11 19:55:37 -07:00
InodeWatcher.cpp Everywhere: Remove unused includes of AK/Memory.h 2023-01-02 20:27:20 -05:00
InodeWatcher.h
Mount.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Mount.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
OpenFileDescription.cpp
OpenFileDescription.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
UnveilNode.h
VirtualFileSystem.cpp Kernel/FileSystem: Remove FIXME about old/new path being the same 2023-01-04 09:02:13 +00:00
VirtualFileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00