Skip to content
  • Nicolai Stange's avatar
    debugfs: call debugfs_real_fops() only after debugfs_file_get() · 154b9d75
    Nicolai Stange authored
    
    
    The current implementation of debugfs_real_fops() relies on a
    debugfs_fsdata instance to be installed at ->d_fsdata.
    
    With future patches introducing lazy allocation of these, this requirement
    will be guaranteed to be fullfilled only inbetween a
    debugfs_file_get()/debugfs_file_put() pair.
    
    The full proxies' fops implemented by debugfs happen to be the only
    offenders. Fix them up by moving their debugfs_real_fops() calls past those
    to debugfs_file_get().
    
    full_proxy_release() is special as it doesn't invoke debugfs_file_get() at
    all. Leave it alone for now.
    
    Signed-off-by: default avatarNicolai Stange <nicstange@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    154b9d75