From: Mark Wielaard Date: Wed, 8 Jan 2025 15:52:03 +0000 (+0100) Subject: linux: support EVIOCGRAB ioctl X-Git-Tag: VALGRIND_3_25_0~179 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59eb5a4af60d4beb2c6910a1fa6cdf8d1f3a56f2;p=thirdparty%2Fvalgrind.git linux: support EVIOCGRAB ioctl EVIOCGRAB just takes an int argument. https://bugs.kde.org/show_bug.cgi?id=498143 --- diff --git a/NEWS b/NEWS index 118961a03..e25d1d8b8 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. overloaded functions and procedures 498317 FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes +498143 False positive on EVIOCGRAB ioctl To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 60e05a46c..e8978b5bc 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -10397,6 +10397,10 @@ PRE(sys_ioctl) break; } + case VKI_EVIOCGRAB: + /* This just takes an int argument. */ + break; + default: /* EVIOC* are variable length and return size written on success */ switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) { diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index 006f16d92..d4e1908e1 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -3226,6 +3226,9 @@ struct vki_getcpu_cache { #define VKI_EVIOCGBIT(ev,len) _VKI_IOC(_VKI_IOC_READ, 'E', 0x20 + ev, len) /* get event bits */ +#define VKI_EVIOCGRAB _VKI_IOW('E', 0x90, int) +/* grab device */ + /* * Event types */