Skip site navigation (1)Skip section navigation (2)
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>