diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-28 04:32:37 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-28 04:32:37 +0400 |
commit | f1bd473f95e02bc382d4dae94d7f82e2a455e05d (patch) | |
tree | 404233d42dd50a0c4da0b0e63f4a16760f5e336f | |
parent | ff0c57ac70434bc936cb0110eaf033a0a1a62e52 (diff) | |
parent | 8fe7a268b18ebc89203c766b020b9e32f1cfeebf (diff) | |
download | linux-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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c index a3386d119425..bed745c8b1a3 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. */ |