ioctl: uiomove, copyin, copyout

Kristis Makris kristis.makris at
Tue Sep 5 19:07:16 PDT 2006

> Check the format of your ioctl code to make sure that it follows BSD
> rules for getting passed to your driver w/o interpretation. Linux IIRC
> follows SYSV ioctl semantics, which means that the ioctl is never
> interpreted by the kernel above the driver. BSD ioctls semantics looks
> at the type nibble to decide whether the ioctl parameters can be
> copied directly to the kernel and presented to driver as a pointer you
> can just de-reference rather than a pointer you have to perform copyin
> on.
> Check sys/ioccom.h.

That was it. I learned something new today. Thanks a lot.

More information about the freebsd-drivers mailing list