Skip to content

Commit 5924e6e

Browse files
konisakpm00
authored andcommitted
nilfs2: fix incorrect masking of permission flags for symlinks
The permission flags of newly created symlinks are wrongly dropped on nilfs2 with the current umask value even though symlinks should have 777 (rwxrwxrwx) permissions: $ umask 0022 $ touch file && ln -s file symlink; ls -l file symlink -rw-r--r--. 1 root root 0 Jun 23 16:29 file lrwxr-xr-x. 1 root root 4 Jun 23 16:29 symlink -> file This fixes the bug by inserting a missing check that excludes symlinks. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ryusuke Konishi <[email protected]> Reported-by: Tommy Pettersson <[email protected]> Reported-by: Ciprian Craciun <[email protected]> Tested-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 1118234 commit 5924e6e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

fs/nilfs2/nilfs.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ static inline int nilfs_acl_chmod(struct inode *inode)
198198

199199
static inline int nilfs_init_acl(struct inode *inode, struct inode *dir)
200200
{
201+
if (S_ISLNK(inode->i_mode))
202+
return 0;
203+
201204
inode->i_mode &= ~current_umask();
202205
return 0;
203206
}

0 commit comments

Comments
 (0)