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]"