• N
    kernel/kcov: unproxify debugfs file's fops · df4565f9
    Nicolai Stange 提交于
    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 ->mmap isn't among them -- it appears to be NULL from the
    VFS layer's perspective.
    
    This behaviour breaks the /sys/kernel/debug/kcov file introduced
    concurrently with commit 5c9a8750 ("kernel: add kcov code coverage").
    
    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/kcov by creating it via
    debugfs_create_file_unsafe() rather than debugfs_create_file().
    
    Fixes: 49d200de ("debugfs: prevent access to removed files' private data")
    Fixes: 5c9a8750 ("kernel: add kcov code coverage")
    Reported-by: NSasha Levin <sasha.levin@oracle.com>
    Signed-off-by: NNicolai Stange <nicstange@gmail.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    df4565f9
kcov.c 6.6 KB