ladybird/Kernel/Net
Idan Horowitz e28af4a2fc Kernel: Stop using HashMap in Mutex
This commit removes the usage of HashMap in Mutex, thereby making Mutex
be allocation-free.

In order to achieve this several simplifications were made to Mutex,
removing unused code-paths and extra VERIFYs:
 * We no longer support 'upgrading' a shared lock holder to an
   exclusive holder when it is the only shared holder and it did not
   unlock the lock before relocking it as exclusive. NOTE: Unlike the
   rest of these changes, this scenario is not VERIFY-able in an
   allocation-free way, as a result the new LOCK_SHARED_UPGRADE_DEBUG
   debug flag was added, this flag lets Mutex allocate in order to
   detect such cases when debugging a deadlock.
 * We no longer support checking if a Mutex is locked by the current
   thread when the Mutex was not locked exclusively, the shared version
   of this check was not used anywhere.
 * We no longer support force unlocking/relocking a Mutex if the Mutex
   was not locked exclusively, the shared version of these functions
   was not used anywhere.
2022-01-29 16:45:39 +01:00
..
Intel Kernel: Update E1000 link state using interrupt 2021-12-31 15:48:16 +01:00
NE2000 Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
Realtek Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
ARP.h
EthernetFrameHeader.h
EtherType.h
ICMP.h
IPv4.h
IPv4Socket.cpp Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
IPv4Socket.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
IPv4SocketTuple.h Kernel: Convert IPv4SocketTuple::to_string() to KString 2022-01-12 16:09:09 +02:00
LocalSocket.cpp Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
LocalSocket.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
LoopbackAdapter.cpp
LoopbackAdapter.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
NetworkAdapter.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
NetworkAdapter.h
NetworkingManagement.cpp Kernel: Remove the KString::try_create(String::formatted(...)) pattern 2021-12-28 01:55:22 -08:00
NetworkingManagement.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
NetworkTask.cpp Kernel: Use MUST + Vector::try_append instead of Vector::append 2022-01-05 14:04:18 +01:00
NetworkTask.h
Routing.cpp
Routing.h
Socket.cpp Kernel: Fix typo in Socket::getsockopt tracing 2022-01-18 08:47:22 +01:00
Socket.h Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
TCP.h
TCPSocket.cpp Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
TCPSocket.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
UDP.h
UDPSocket.cpp Kernel: Remove unnecessary SocketHandle<T> class 2021-12-25 11:23:57 +01:00
UDPSocket.h Kernel: Remove unnecessary SocketHandle<T> class 2021-12-25 11:23:57 +01:00