You're right, [1] says _IO is appropriate for ioctls which only take an integer argument. I'll send a v3 with this fix, although I might wait a bit for any other review comments before doing so. Thanks for taking a look!
https://www.kernel.org/doc/html/latest/driver-api/ioctl.html
On Mon, Apr 25, 2022 at 1:32 PM Dmitry V. Levin ldv@altlinux.org wrote:
On Fri, Apr 22, 2022 at 02:29:41PM -0700, Axel Rasmussen wrote: [...]
--- a/include/uapi/linux/userfaultfd.h +++ b/include/uapi/linux/userfaultfd.h @@ -12,6 +12,10 @@
#include <linux/types.h>
+/* ioctls for /dev/userfaultfd */ +#define USERFAULTFD_IOC 0xAA +#define USERFAULTFD_IOC_NEW _IOWR(USERFAULTFD_IOC, 0x00, int)
Why this new ioctl is defined using _IOWR()? Since it neither reads from user memory nor writes into user memory, it should rather be defined using _IO(), shouldn't it?
-- ldv