• Brian Norris's avatar
    tracefs: Only clobber mode/uid/gid on remount if asked · 47311db8
    Brian Norris authored
    Users may have explicitly configured their tracefs permissions; we
    shouldn't overwrite those just because a second mount appeared.
    
    Only clobber if the options were provided at mount time.
    
    Note: the previous behavior was especially surprising in the presence of
    automounted /sys/kernel/debug/tracing/.
    
    Existing behavior:
    
      ## Pre-existing status: tracefs is 0755.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
      ## (Re)trigger the automount.
      # umount /sys/kernel/debug/tracing
      # stat -c '%A' /sys/kernel/debug/tracing/.
      drwx------
    
      ## Unexpected: the automount changed mode for other mount instances.
      # stat -c '%A' /sys/kernel/tracing/
      drwx------
    
    New behavior (after this change):
    
      ## Pre-existing status: tracefs is 0755.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
      ## (Re)trigger the automount.
      # umount /sys/kernel/debug/tracing
      # stat -c '%A' /sys/kernel/debug/tracing/.
      drwxr-xr-x
    
      ## Expected: the automount does not change other mount instances.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
    Link: https://lkml.kernel.org/r/20220826174353.2.Iab6e5ea57963d6deca5311b27fb7226790d44406@changeid
    
    Cc: stable@vger.kernel.org
    Fixes: 4282d606 ("tracefs: Add new tracefs file system")
    Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    47311db8
inode.c 16.2 KB