[RFC v2 0/4] vfs: detect symlink corruption with attributes

From: Luis R. Rodriguez
Date: Thu May 10 2018 - 19:15:13 EST


Filesystems which detect symlinks with append/immutable should inform
users their filesystem is corrupted and their respective filesystem
checker tool should fix this.

In lieu of this though users may be stuck with pesky files or
directories which they cannot remove. We cannot expect all filesystems
to be updated to address this, so since the VFS does not let filesystems
set these attributes -- let the VFS enable users to remove symlink with
these attributes, but also provide a fallback warning, in case the
users's own filesystem does not catch it.

Sending again as RFC as this just goes compile tested so far, and it
is still unclear if this is the direction we want to go with this.

v2:

As per Darrick, even though the VFS should probably allow not so popular
filesystems to delete corrupt symlinks with append/immutable -- popular
filesystems should check for this themselves and inform the users of
corruption. These filesystems should have their respective filesystem
checker tools updated to correct this as well.

v1:

Sent out a single patch just to ignore the append/immutable attributes
set on symlinks.

Luis R. Rodriguez (4):
vfs: skip extra attributes check on removal for symlinks
xfs: add verifier check for symlink with append/immutable flags
ext4: add verifier check for symlink with append/immutable flags
btrfs: verify symlinks with append/immutable flags

fs/btrfs/inode.c | 9 +++++++++
fs/ext4/inode.c | 7 +++++++
fs/namei.c | 24 ++++++++++++++++++++++--
fs/xfs/libxfs/xfs_symlink_remote.c | 5 +++++
4 files changed, 43 insertions(+), 2 deletions(-)

--
2.17.0