|
@@ -238,7 +238,8 @@ int generic_permission(struct inode *inode, int mask, unsigned int flags,
|
|
|
|
|
|
/*
|
|
|
* Read/write DACs are always overridable.
|
|
|
- * Executable DACs are overridable if at least one exec bit is set.
|
|
|
+ * Executable DACs are overridable for all directories and
|
|
|
+ * for non-directories that have least one exec bit set.
|
|
|
*/
|
|
|
if (!(mask & MAY_EXEC) || execute_ok(inode))
|
|
|
if (ns_capable(inode_userns(inode), CAP_DAC_OVERRIDE))
|
|
@@ -1011,9 +1012,6 @@ failed:
|
|
|
* Follow down to the covering mount currently visible to userspace. At each
|
|
|
* point, the filesystem owning that dentry may be queried as to whether the
|
|
|
* caller is permitted to proceed or not.
|
|
|
- *
|
|
|
- * Care must be taken as namespace_sem may be held (indicated by mounting_here
|
|
|
- * being true).
|
|
|
*/
|
|
|
int follow_down(struct path *path)
|
|
|
{
|