tomoyo: Fix pathname calculation breakage.
Commit 7177a9c4b5
("fs: call rename2 if exists") changed
"struct inode_operations"->rename == NULL if
"struct inode_operations"->rename2 != NULL .
TOMOYO needs to check for both ->rename and ->rename2 , or
a system on (e.g.) ext4 filesystem won't boot.
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
parent
52addcf9d6
commit
8fe7a268b1
1 changed files with 3 additions and 2 deletions
|
@ -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. */
|
||||
|
|
Loading…
Reference in a new issue