nilfs2: fix incorrect masking of permission flags for symlinks
authorRyusuke Konishi <konishi.ryusuke@gmail.com>
Thu, 23 Jun 2022 08:54:01 +0000 (17:54 +0900)
committerakpm <akpm@linux-foundation.org>
Sun, 3 Jul 2022 22:42:33 +0000 (15:42 -0700)
commit5924e6ec1585445f251ea92713eb15beb732622a
tree87c98a97b01abb76eb51685ccb8ad816b8ae2089
parent1118234e4bc22ff50e9eae40ad95b17a6b12cefa
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/1655974441-5612-1-git-send-email-konishi.ryusuke@gmail.com
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Reported-by: Tommy Pettersson <ptp@lysator.liu.se>
Reported-by: Ciprian Craciun <ciprian.craciun@gmail.com>
Tested-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/nilfs2/nilfs.h