summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-28 00:32:37 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-28 00:32:37 (GMT)
commitf1bd473f95e02bc382d4dae94d7f82e2a455e05d (patch)
tree404233d42dd50a0c4da0b0e63f4a16760f5e336f
parentff0c57ac70434bc936cb0110eaf033a0a1a62e52 (diff)
parent8fe7a268b18ebc89203c766b020b9e32f1cfeebf (diff)
downloadlinux-f1bd473f95e02bc382d4dae94d7f82e2a455e05d.tar.xz
Merge branch 'sec-v3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security
Pull tomoyo fix from Serge Hallyn. * 'sec-v3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security: tomoyo: Fix pathname calculation breakage.
-rw-r--r--security/tomoyo/realpath.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c
index a3386d1..bed745c 100644
--- a/security/tomoyo/realpath.c
+++ b/security/tomoyo/realpath.c
@@ -173,7 +173,7 @@ static char *tomoyo_get_local_path(struct dentry *dentry, char * const buffer,
* Use filesystem name if filesystem does not support rename()
* operation.
*/
- if (!inode->i_op->rename)
+ if (!inode->i_op->rename && !inode->i_op->rename2)
goto prepend_filesystem_name;
}
/* Prepend device name. */
@@ -282,7 +282,8 @@ char *tomoyo_realpath_from_path(struct path *path)
* Get local name for filesystems without rename() operation
* or dentry without vfsmount.
*/
- if (!path->mnt || !inode->i_op->rename)
+ if (!path->mnt ||
+ (!inode->i_op->rename && !inode->i_op->rename2))
pos = tomoyo_get_local_path(path->dentry, buf,
buf_len - 1);
/* Get absolute name for the rest. */