DF-2300 / fix.diff
--- /home/maxx/dfbsd/dfbsd/sys/bus/firewire/fwohci.c 2026-06-29 12:51:18.000000000 +0000 +++ fwohci.DF-2300i.fixed 2026-10-18 12:37:24.923807159 +0000 @@ -54,6 +54,7 @@ #include <sys/endian.h> #include <sys/thread2.h> +#include <sys/caps.h> #include <bus/firewire/firewire.h> #include <bus/firewire/firewirereg.h> @@ -350,6 +351,11 @@ if (!ap->a_data) return(EINVAL); + /* DF-2300: raw OHCI register / PHY access programs the DMA + * engine; restrict it to privileged callers. */ + if (caps_priv_check(ap->a_cred, SYSCAP_NODRIVER)) + return(EPERM); + switch (ap->a_cmd) { case FWOHCI_WRREG: #define OHCI_MAX_REG 0x800 |