fs: Move notify_change permission checks into may_setattr
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 28 Jul 2021 12:47:33 +0000 (07:47 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 13 Aug 2021 04:41:05 +0000 (00:41 -0400)
commit7bb698f09bdd01fbb6d48c14bb1dde556dc1af00
treeea8c59e2b72ecbc9fcacc0ecf91f349f1a480989
parente73f0f0ee7541171d89f2e2491130c7771ba58d3
fs: Move notify_change permission checks into may_setattr

Move the permission checks in notify_change into a separate function to
make them available to filesystems.

When notify_change is called, the vfs performs those checks before
calling into iop->setattr.  However, a filesystem like gfs2 can only
lock and revalidate the inode inside ->setattr, and it must then repeat
those checks to err on the safe side.

It would be nice to get rid of the double checking, but moving the
permission check into iop->setattr altogether isn't really an option.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/attr.c
include/linux/fs.h