Comment by zozbot234

Comment by zozbot234 5 hours ago

3 replies

Some device classes can be supported in userspace because no matter how an adversarial driver might get the device to misbehave, it cannot possibly break the kernel's security model. This might even apply to some audio devices, depending on how exactly they're hooked up to the rest of your system. But the more typical devices, especially those in your average SoC and those connected to a PCIe bus or the like, have full privileges within the system and will need kernel-level support for the foreseeable future.

AnotherGoodName 5 hours ago

Kernel modules absolutely run in kernel space though.

I’ve literally written kernel modules for high speed networking devices that have full access to the memory bus and enumerate pci devices. There’s no userspace or kernel space question here. It’s merely a matter of someone turning this into an easily installable kernel module

  • zozbot234 5 hours ago

    Kernel modules are not going to be "easily installable" anyway because their whole purpose is to poke at kernel-internal structures that will change all the time as the kernel evolves. With source code, you'll hopefully get notified if there is breakage - the module fails to build and you need to forward-port it to the current kernel.

    • AnotherGoodName 4 hours ago

      They have great stability between kernels by design. Better than Windows dll based drivers IMHO.

      As someone who actually writes drivers I'm a little frustrated at this whole thread with people claiming Linux drivers have to be distributed this way.

      Kernel modules exist for a reason, literally to allow end users as easy and as forwards compatible of a way to install drivers as windows dll based drivers. This whole thread has a lot of know nothings chiming in if I'm blunt.