32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
Date: Thu, 24 Feb 2011 09:40:31 -0800
|
|
From: John Johansen <john.johansen@canonical.com>
|
|
Subject: [natty] Fix aufs calling of security_path_mknod
|
|
|
|
Fix aufs calling of security_path_mknod
|
|
|
|
BugLink: http://launchpad.net/bugs/724456
|
|
|
|
The security_path_mknod hook requires an encoded 'dev' for its 'dev' paramet
|
|
but aufs is calling security_path_mknod with a 'dev' that was already
|
|
converted by 'new_decode_dev(dev)'. However security_path_mknod and its
|
|
consumer TOMOYO is expecting 'dev' rather than 'new_decode_dev(dev)'.
|
|
|
|
This will result in TOMOYO doing new_decode_dev(new_decode_dev(dev))
|
|
(which is wrong) when security_path_mknod() is called from aufs' vfsub_mknod
|
|
|
|
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
|
|
Signed-off-by: John Johansen <john.johansen@canonical.com>
|
|
[bwh: Change source paths for Debian]
|
|
|
|
--- a/fs/aufs/vfsub.c
|
|
+++ b/fs/aufs/vfsub.c
|
|
@@ -276,7 +276,7 @@ int vfsub_mknod(struct inode *dir, struct path *path, int mo
|
|
|
|
d = path->dentry;
|
|
path->dentry = d->d_parent;
|
|
- err = security_path_mknod(path, d, mode, dev);
|
|
+ err = security_path_mknod(path, d, mode, new_encode_dev(dev));
|
|
path->dentry = d;
|
|
if (unlikely(err))
|
|
goto out;
|