diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2011-06-13 00:49:11 -0400 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-06-14 01:18:42 -0400 |
commit | 4e78c724d47e2342aa8fde61f6b8536f662f795f (patch) | |
tree | 9256c52a1e40b593601647bcc1d8d8e588188f77 /security | |
parent | 2c53b436a30867eb6b47dd7bab23ba638d1fb0d2 (diff) |
TOMOYO: Fix oops in tomoyo_mount_acl().
In tomoyo_mount_acl() since 2.6.36, kern_path() was called without checking
dev_name != NULL. As a result, an unprivileged user can trigger oops by issuing
mount(NULL, "/", "ext3", 0, NULL) request.
Fix this by checking dev_name != NULL before calling kern_path(dev_name).
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: stable@kernel.org
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security')
-rw-r--r-- | security/tomoyo/mount.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/security/tomoyo/mount.c b/security/tomoyo/mount.c index 162a864dba24..9fc2e15841c9 100644 --- a/security/tomoyo/mount.c +++ b/security/tomoyo/mount.c | |||
@@ -138,7 +138,7 @@ static int tomoyo_mount_acl(struct tomoyo_request_info *r, char *dev_name, | |||
138 | } | 138 | } |
139 | if (need_dev) { | 139 | if (need_dev) { |
140 | /* Get mount point or device file. */ | 140 | /* Get mount point or device file. */ |
141 | if (kern_path(dev_name, LOOKUP_FOLLOW, &path)) { | 141 | if (!dev_name || kern_path(dev_name, LOOKUP_FOLLOW, &path)) { |
142 | error = -ENOENT; | 142 | error = -ENOENT; |
143 | goto out; | 143 | goto out; |
144 | } | 144 | } |