summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2011-06-13 13:49:11 +0900
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-23 15:05:40 -0700
commit93b18ca021e7b38d26eb55bcb0d1ca4c9105f643 (patch)
treefce6837e3212412d1fa30180a78d699f323aff90
parent89ae106c9a9c2747e11ae1bacd7f5a65207a9296 (diff)
TOMOYO: Fix oops in tomoyo_mount_acl().
commit 4e78c724d47e2342aa8fde61f6b8536f662f795f upstream. 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> Signed-off-by: James Morris <jmorris@namei.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--security/tomoyo/mount.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/tomoyo/mount.c b/security/tomoyo/mount.c
index 82bf8c2390bc..afa07cf1985f 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,
}
if (need_dev) {
/* Get mount point or device file. */
- if (kern_path(dev_name, LOOKUP_FOLLOW, &path)) {
+ if (!dev_name || kern_path(dev_name, LOOKUP_FOLLOW, &path)) {
error = -ENOENT;
goto out;
}