https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218625

            Bug ID: 218625
           Summary: [PATCH] Evdev ioctls EVIOCGRAB and EVIOCREVOKE don't
                    work together with cuse
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: [email protected]
          Reporter: [email protected]
          Keywords: patch

Created attachment 181752
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=181752&action=edit
patch to change type of EVIOCGRAB and EVIOCREVOKE ioctls to _IO

EVIOCGRAB and EVIOCREVOKE from dev/evdev/input.h are defined as _IOWINT.
Those ioctls don't actually write an integer, though. What matters is the value
of the data pointer. Cuse, however, only passes along the value of the data
pointer when the length of the ioctl is 0 (see
https://github.com/freebsd/freebsd/blob/master/sys/fs/cuse/cuse.c#L1669).

One solution would be to define those two ioctls as _IO (see attached patch).
I've tested this with my cuse-based evdev implementation
(https://github.com/jiixyj/evdevfbsd).

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to