serenity/Kernel/Devices
Liav A d4b65f644e Kernel: Allow opening some device nodes sparingly for jailed processes
From now on, we don't allow jailed processes to open all device nodes in
/dev, but only allow jailed processes to open /dev/full, /dev/zero,
/dev/null, and various TTY and PTY devices (and not including virtual
consoles) so we basically restrict applications to what they can do when
they are in jail.
The motivation for this type of restriction is to ensure that even if a
remote code execution occurred, the damage that can be done is very
small.
We also don't restrict reading and writing on device nodes that were
already opened, because that limit seems not useful, especially in the
case where we do want to provide an OpenFileDescription to such device
but nothing further than that.
2022-12-09 23:09:00 -07:00
..
Audio Kernel: Use generic functions to change interrupt state of Processor 2022-10-26 20:01:45 +02:00
HID Kernel: Remove unused #includes 2022-11-01 14:31:34 +00:00
AsyncDeviceRequest.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
AsyncDeviceRequest.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
BlockDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
BlockDevice.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
CharacterDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
CharacterDevice.h Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
ConsoleDevice.cpp Kernel: Introduce global variables and stats in /sys/kernel directory 2022-10-25 15:33:34 -06:00
ConsoleDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
Device.cpp Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
Device.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
DeviceControlDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
DeviceControlDevice.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
DeviceManagement.cpp Kernel: Add DeviceManagement::try_for_each() for fallible iteration 2022-02-27 20:37:57 +01:00
DeviceManagement.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
FullDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
FullDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
KCOVDevice.cpp Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
KCOVDevice.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
KCOVInstance.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KCOVInstance.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
MemoryDevice.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
MemoryDevice.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
NullDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
NullDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
PCISerialDevice.cpp Kernel: Introduce the IOWindow class 2022-09-23 17:22:15 +01:00
PCISerialDevice.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
RandomDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
RandomDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
SelfTTYDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
SelfTTYDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00
SerialDevice.cpp Kernel: Introduce the IOWindow class 2022-09-23 17:22:15 +01:00
SerialDevice.h Kernel: Introduce the IOWindow class 2022-09-23 17:22:15 +01:00
ZeroDevice.cpp Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
ZeroDevice.h Kernel: Allow opening some device nodes sparingly for jailed processes 2022-12-09 23:09:00 -07:00