mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
fs: support O_PATH fds with FSCONFIG_SET_FD
Let FSCONFIG_SET_FD handle O_PATH file descriptors. This is particularly
useful in the context of overlayfs where layers can be specified via
file descriptors instead of paths. But userspace must currently use
non-O_PATH file desriptors which is often pointless especially if
the file descriptors have been created via open_tree(OPEN_TREE_CLONE).
Link: https://lore.kernel.org/r/20250210-work-overlayfs-v2-1-ed2a949b674b@kernel.org
Fixes: a08557d19e ("ovl: specify layers via file descriptors")
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
2cc0b7fd4b
commit
0ff053b98a
2 changed files with 3 additions and 1 deletions
|
|
@ -218,6 +218,8 @@ void autofs_clean_ino(struct autofs_info *);
|
|||
|
||||
static inline int autofs_check_pipe(struct file *pipe)
|
||||
{
|
||||
if (pipe->f_mode & FMODE_PATH)
|
||||
return -EINVAL;
|
||||
if (!(pipe->f_mode & FMODE_CAN_WRITE))
|
||||
return -EINVAL;
|
||||
if (!S_ISFIFO(file_inode(pipe)->i_mode))
|
||||
|
|
|
|||
|
|
@ -453,7 +453,7 @@ SYSCALL_DEFINE5(fsconfig,
|
|||
case FSCONFIG_SET_FD:
|
||||
param.type = fs_value_is_file;
|
||||
ret = -EBADF;
|
||||
param.file = fget(aux);
|
||||
param.file = fget_raw(aux);
|
||||
if (!param.file)
|
||||
goto out_key;
|
||||
param.dirfd = aux;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue