1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 14:55:08 +00:00
Commit graph

4 commits

Author SHA1 Message Date
Luke
51b6bd8d95 Kernel/USB: Remove UAF in device removal
I was using a raw pointer instead of a RefPtr to keep the device alive
during removal.
2021-08-14 23:14:56 +02:00
Luke
4b4525dfc7 Kernel/USB: Update SysFS from the generic hub instead of from UHCI 2021-08-14 21:22:44 +02:00
Luke
b6a2bbba3b Kernel/USB: Replace PortNumber enum with a raw u8
A hub can technically have up to 255 ports, given that bNbrPorts is a
u8 and the DeviceRemovable field is a VLA to support up to 255 ports.

Source: USB 2.0 Specification Section 11.23.2.1

That means this enum is not going to scale well in terms of size.
Replacing it with a raw u8 allows me to remove the two port assumption
and a cast.
2021-08-14 21:22:44 +02:00
Luke
da0a1068e9 Kernel/USB: Add Hubs and the UHCI Root Hub 2021-08-14 21:22:44 +02:00