• Namjae Jeon's avatar
    ksmbd: fix racy issue from using ->d_parent and ->d_name · 74d7970f
    Namjae Jeon authored
    Al pointed out that ksmbd has racy issue from using ->d_parent and ->d_name
    in ksmbd_vfs_unlink and smb2_vfs_rename(). and use new lock_rename_child()
    to lock stable parent while underlying rename racy.
    Introduce vfs_path_parent_lookup helper to avoid out of share access and
    export vfs functions like the following ones to use
    vfs_path_parent_lookup().
     - rename __lookup_hash() to lookup_one_qstr_excl().
     - export lookup_one_qstr_excl().
     - export getname_kernel() and putname().
    
    vfs_path_parent_lookup() is used for parent lookup of destination file
    using absolute pathname given from FILE_RENAME_INFORMATION request.
    Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    74d7970f
vfs.c 43.1 KB