• Steven Rostedt (Google)'s avatar
    eventfs: Have "events" directory get permissions from its parent · d57cf30c
    Steven Rostedt (Google) authored
    The events directory gets its permissions from the root inode. But this
    can cause an inconsistency if the instances directory changes its
    permissions, as the permissions of the created directories under it should
    inherit the permissions of the instances directory when directories under
    it are created.
    
    Currently the behavior is:
    
     # cd /sys/kernel/tracing
     # chgrp 1002 instances
     # mkdir instances/foo
     # ls -l instances/foo
    [..]
     -r--r-----  1 root lkp  0 May  1 18:55 buffer_total_size_kb
     -rw-r-----  1 root lkp  0 May  1 18:55 current_tracer
     -rw-r-----  1 root lkp  0 May  1 18:55 error_log
     drwxr-xr-x  1 root root 0 May  1 18:55 events
     --w-------  1 root lkp  0 May  1 18:55 free_buffer
     drwxr-x---  2 root lkp  0 May  1 18:55 options
     drwxr-x--- 10 root lkp  0 May  1 18:55 per_cpu
     -rw-r-----  1 root lkp  0 May  1 18:55 set_event
    
    All the files and directories under "foo" has the "lkp" group except the
    "events" directory. That's because its getting its default value from the
    mount point instead of its parent.
    
    Have the "events" directory make its default value based on its parent's
    permissions. That now gives:
    
     # ls -l instances/foo
    [..]
     -rw-r-----  1 root lkp 0 May  1 21:16 buffer_subbuf_size_kb
     -r--r-----  1 root lkp 0 May  1 21:16 buffer_total_size_kb
     -rw-r-----  1 root lkp 0 May  1 21:16 current_tracer
     -rw-r-----  1 root lkp 0 May  1 21:16 error_log
     drwxr-xr-x  1 root lkp 0 May  1 21:16 events
     --w-------  1 root lkp 0 May  1 21:16 free_buffer
     drwxr-x---  2 root lkp 0 May  1 21:16 options
     drwxr-x--- 10 root lkp 0 May  1 21:16 per_cpu
     -rw-r-----  1 root lkp 0 May  1 21:16 set_event
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240502200906.161887248@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Fixes: 8186fff7 ("tracefs/eventfs: Use root and instance inodes as default ownership")
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    d57cf30c
event_inode.c 24.4 KB