Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
virtiofsd: Don't allow empty paths in lookup_name()
When passed an empty filename, lookup_name() returns the inode of the parent directory, unless the parent is the root in which case the st_dev doesn't match and lo_find() returns NULL. This is because lookup_name() passes AT_EMPTY_PATH down to fstatat() or statx(). This behavior doesn't quite make sense because users of lookup_name() then pass the name to unlinkat(), renameat() or renameat2(), all of which will always fail on empty names. Drop AT_EMPTY_PATH from the flags in lookup_name() so that it has the consistent behavior of "returning an existing child inode or NULL" for all directories. Signed-off-by: Greg Kurz <[email protected]> Message-Id: <[email protected]> Reviewed-by: Connor Kuehl <[email protected]> Reviewed-by: Vivek Goyal <[email protected]> Signed-off-by: Dr. David Alan Gilbert <[email protected]>
- Loading branch information