]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
TOMOYO: Fix oops in tomoyo_mount_acl().
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Mon, 13 Jun 2011 04:49:11 +0000 (13:49 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Jun 2011 22:05:40 +0000 (15:05 -0700)
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>
security/tomoyo/mount.c

index 82bf8c2390bc7c1b0d376ba22817b688447819cc..afa07cf1985fea05f1a0312ed56d26635f7ff436 100644 (file)
@@ -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;
                }