DragonFlyBSD Kernel Audit
DF-2346 / maxx_open_probe.txt
← back to finding ↓ download raw
# Probe run as maxx (uid 1001, not in operator group):
#   open("/dev/usbctl", O_RDWR)   -> rc=-1   (EPERM: needs write, only root)
#   open("/dev/usbctl", O_RDONLY) -> rc=3    (operator-readable)
#   FIOASYNC on usbctl fd never sets f->async_p: that path lives in the
#   per-FIFO usb_ioctl() (usb_dev.c:1038), dispatched on ugen endpoint fds,
#   NOT on the /dev/usbctl control device (whose ioctl is usb_static_ioctl).
# Net: with no USB device attached there are no ugen endpoint fds, hence no
# USB FIFO, hence the f->async_p = USB_TD_GET_PROC(td) assignment is unreachable
# by maxx.