serenity/Kernel/Devices
Andrew Kaster e821b349b2 Kernel: Give Devices without a custody a less fake absoulte_path
This hack allows self-test mode run-tests-and-shutdown.sh to give
TestProcFs a stat(2)-able /proc/self/fd/0. For some reason, when
stdin is a SerialDevice, /proc/self/fd/0 will be a symlink to the device
as expected, but, calling realpath or stat on /proc/self/fd/0 will error
out. realpath will give the string from Device::absolute_path() which
would be something like "device:4,64 (SerialDevice)". When VFS is trying
to resolve_path so that we can stat the file, it would bail out on this
fake-y path.

Change the fake path (that doesn't show up when you ls a device, nor
when checking the devices tab in SystemMonitor) from the major/minor
device number and class_name() to /dev/device_name(). There's probably
a very hairy yak standing behind this issue that was only discovered due
to the ProcFS rework.
2021-06-30 12:07:57 +04:30
..
HID Kernel: Pass TTY-switch keyboard combo to userspace 2021-06-25 19:26:30 +02:00
USB Kernel: Remove some unnecessary JSON related includes 2021-06-29 22:11:10 +02:00
AsyncDeviceRequest.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
AsyncDeviceRequest.h Kernel: Make UserOrKernelBuffer R/W helpers return KResultOr<size_t> 2021-05-13 23:28:40 +02:00
BlockDevice.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BlockDevice.h Kernel: Mark AsyncBlockDeviceRequest + AnonymousVMObject as final 2021-05-03 16:03:17 +02:00
CharacterDevice.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CharacterDevice.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Device.cpp Kernel: Give Devices without a custody a less fake absoulte_path 2021-06-30 12:07:57 +04:30
Device.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
FullDevice.cpp Kernel: Fix adopt_ref_if_nonnull(new T).release_nonnull() pattern 2021-06-29 22:57:52 +04:30
FullDevice.h Kernel: Don't use naked new statements in init process 2021-06-19 09:30:43 +02:00
MemoryDevice.cpp Kernel: Fix adopt_ref_if_nonnull(new T).release_nonnull() pattern 2021-06-29 22:57:52 +04:30
MemoryDevice.h Kernel: Don't use naked new statements in init process 2021-06-19 09:30:43 +02:00
NullDevice.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
NullDevice.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PCISerialDevice.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
PCISerialDevice.h Kernel: Add support for QEMU's emulated pci serial (-pci-serial option) 2021-05-17 19:45:35 +01:00
PCSpeaker.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
PCSpeaker.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RandomDevice.cpp Kernel: Fix adopt_ref_if_nonnull(new T).release_nonnull() pattern 2021-06-29 22:57:52 +04:30
RandomDevice.h Kernel: Don't use naked new statements in init process 2021-06-19 09:30:43 +02:00
SB16.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
SB16.h Kernel/Interrupts: Return boolean on whether we handled the interrupt 2021-06-17 16:53:25 +02:00
SerialDevice.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
SerialDevice.h Kernel: Don't use naked new statements in init process 2021-06-19 09:30:43 +02:00
VMWareBackdoor.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
VMWareBackdoor.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ZeroDevice.cpp Kernel: Fix adopt_ref_if_nonnull(new T).release_nonnull() pattern 2021-06-29 22:57:52 +04:30
ZeroDevice.h Kernel: Don't use naked new statements in init process 2021-06-19 09:30:43 +02:00