[GIT PULL] tracing: Fix ioctl conflict with memmapped ring buffer ioctl

Steven Rostedt posted 1 patch 1 year, 7 months ago
Documentation/userspace-api/ioctl/ioctl-number.rst | 1 +
include/uapi/linux/trace_mmap.h                    | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
[GIT PULL] tracing: Fix ioctl conflict with memmapped ring buffer ioctl
Posted by Steven Rostedt 1 year, 7 months ago


Linus,

tracing: Fix ioctl conflict with memmapped ring buffer ioctl

It was reported that the ioctl() number used to update the ring buffer
memory mapping conflicted with the TCGETS ioctl causing strace to report:

  $ 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

Since this ioctl hasn't been in a full release yet, change it from "T", 0x1
to "R" 0x20, and also reserve 0x20-0x2F for future ioctl commands, as
some more are being worked on for the future.


Please pull the latest trace-v6.10-rc6 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-v6.10-rc6

Tag SHA1: 944abfe5775e0d509546ed6b586d8c32df37c263
Head SHA1: 4ecaf7e98a3ae0c843d67c76649ecc694232834b


Steven Rostedt (Google) (1):
      tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F

----
 Documentation/userspace-api/ioctl/ioctl-number.rst | 1 +
 include/uapi/linux/trace_mmap.h                    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
---------------------------
commit 4ecaf7e98a3ae0c843d67c76649ecc694232834b
Author: Steven Rostedt (Google) <rostedt@goodmis.org>
Date:   Tue Jul 2 15:33:54 2024 -0400

    tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F
    
    To prevent conflicts with other ioctl numbers to allow strace to have an
    idea of what is happening, add the range of ioctls for the trace buffer
    mapping from _IO("T", 0x1) to the range of "R" 0x20 - 0x2F.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240630105322.GA17573@altlinux.org/
    Link: https://lore.kernel.org/linux-trace-kernel/20240630213626.GA23566@altlinux.org/
    
    Cc: Jonathan Corbet <corbet@lwn.net>
    Fixes: cf9f0f7c4c5bb ("tracing: Allow user-space mapping of the ring-buffer")
    Link: https://lore.kernel.org/20240702153354.367861db@rorschach.local.home
    Reported-by: "Dmitry V. Levin" <ldv@strace.io>
    Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>

diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst
index a141e8e65c5d..9a97030c6c8d 100644
--- a/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -186,6 +186,7 @@ Code  Seq#    Include File                                           Comments
 'Q'   all    linux/soundcard.h
 'R'   00-1F  linux/random.h                                          conflict!
 'R'   01     linux/rfkill.h                                          conflict!
+'R'   20-2F  linux/trace_mmap.h
 'R'   C0-DF  net/bluetooth/rfcomm.h
 'R'   E0     uapi/linux/fsl_mc.h
 'S'   all    linux/cdrom.h                                           conflict!
diff --git a/include/uapi/linux/trace_mmap.h b/include/uapi/linux/trace_mmap.h
index bd1066754220..c102ef35d11e 100644
--- a/include/uapi/linux/trace_mmap.h
+++ b/include/uapi/linux/trace_mmap.h
@@ -43,6 +43,6 @@ struct trace_buffer_meta {
 	__u64	Reserved2;
 };
 
-#define TRACE_MMAP_IOCTL_GET_READER		_IO('T', 0x1)
+#define TRACE_MMAP_IOCTL_GET_READER		_IO('R', 0x20)
 
 #endif /* _TRACE_MMAP_H_ */
Re: [GIT PULL] tracing: Fix ioctl conflict with memmapped ring buffer ioctl
Posted by pr-tracker-bot@kernel.org 1 year, 7 months ago
The pull request you sent on Wed, 3 Jul 2024 17:12:35 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-v6.10-rc6

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/795c58e4c7fc6163d8fb9f2baa86cfe898fa4b19

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html