On Fri, May 10, 2024 at 03:04:32PM +0100, Vincent Donnefort wrote: [...] > diff --git a/include/uapi/linux/trace_mmap.h b/include/uapi/linux/trace_mmap.h > index b682e9925539..bd1066754220 100644 > --- a/include/uapi/linux/trace_mmap.h > +++ b/include/uapi/linux/trace_mmap.h > @@ -43,4 +43,6 @@ struct trace_buffer_meta { > __u64 Reserved2; > }; > > +#define TRACE_MMAP_IOCTL_GET_READER _IO('T', 0x1) > +
I'm sorry but among all the numbers this one was probably the least fortunate choice because it collides with TCGETS on most of architectures. For example, this is how strace output would look like when TRACE_MMAP_IOCTL_GET_READER support is added: $ strace -e ioctl stty ioctl(0, TCGETS or TRACE_MMAP_IOCTL_GET_READER, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 Even though ioctl numbers are inherently not unique, TCGETS is a very traditional one, so it would be great if you could change TRACE_MMAP_IOCTL_GET_READER to avoid this collision. Given that _IO('T', 0x1) is _IOC(_IOC_NONE, 'T', 0x1, 0), something like _IOC(_IOC_NONE, 'T', 0x1, 0x1) should be OK. -- ldv