Skip to content
  • Nicolai Stange's avatar
    staging/android: sync_debug: unproxify debugfs files' fops · 0fd9da9a
    Nicolai Stange authored
    Since commit 49d200de ("debugfs: prevent access to removed files'
    private data"), a debugfs file's file_operations methods get proxied
    through lifetime aware wrappers.
    
    However, only a certain subset of the file_operations members is supported
    by debugfs and ->compat_ioctl isn't among them -- it appears to be NULL
    from the VFS layer's perspective.
    
    This behaviour breaks the /sys/kernel/debug/sync/sw_sync file introduced
    concurrently with commit a44eb74c ("staging/android: move SW_SYNC_USER
    to a debugfs file").
    
    Since that file never gets removed, there is no file removal race and thus,
    a lifetime checking proxy isn't needed.
    
    Avoid the proxying for /sys/kernel/debug/sync/sw_sync by creating it via
    debugfs_create_file_unsafe() rather than debugfs_create_file().
    For consistency, do the same for /sys/kernel/debug/sync/info.
    
    Fixes: 49d200de ("debugfs: prevent access to removed files' private data")
    Fixes: a44eb74c
    
     ("staging/android: move SW_SYNC_USER to a debugfs file")
    Signed-off-by: default avatarNicolai Stange <nicstange@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0fd9da9a