Date: Thu, 13 Apr 2017 10:45:01 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 218625] [PATCH] Evdev ioctls EVIOCGRAB and EVIOCREVOKE don't work together with cuse Message-ID: <bug-218625-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
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: freebsd-bugs@FreeBSD.org Reporter: jan.kokemueller@gmail.com 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-218625-8>
