1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00
serenity/Kernel/FileSystem/SysFS/Subsystems
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
..
Bus Kernel: Remove unused includes of Kernel/Debug.h 2023-01-02 20:27:20 -05:00
DeviceIdentifiers Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
Devices Kernel: Remove unused includes of Kernel/Debug.h 2023-01-02 20:27:20 -05:00
Firmware Kernel: Split the SysFS core files into smaller components 2022-11-08 02:54:48 -07:00
Kernel Kernel/SysFS: Don't refresh/set-values inside the Jail spinlock scope 2023-01-05 23:58:13 +01:00