Tetsuo Handa
from-****@I-lov*****
2011年 8月 29日 (月) 11:29:09 JST
Tetsuo Handa wrote: > 2.6.38 と 2.6.39 との間には以下の違い > ( http://tomoyo.sourceforge.jp/2.3/patches/2.6.36-tomoyo-fix-memory-leak-in-tomoyo_check_open_permission.patch )しかなく、 > ご質問の不具合が生じるような変更点はありません。 ごめんなさい。 git reset で取り出したファイルが古かったようです。 2.6.38 と 2.6.39 の差分は以下のようになっています。(結論は変わりません。) # diff -upr linux-2.6.38.8/ linux-2.6.39.4/ diff -upr linux-2.6.38.8/security/tomoyo/load_policy.c linux-2.6.39.4/security/tomoyo/load_policy.c --- linux-2.6.38.8/security/tomoyo/load_policy.c 2011-03-15 10:20:32.000000000 +0900 +++ linux-2.6.39.4/security/tomoyo/load_policy.c 2011-05-19 13:06:34.000000000 +0900 @@ -23,7 +23,7 @@ static bool tomoyo_policy_loader_exists( * If the initrd includes /sbin/init but real-root-dev has not * mounted on / yet, activating MAC will block the system since * policies are not loaded yet. - * Thus, let do_execve() call this function everytime. + * Thus, let do_execve() call this function every time. */ struct path path; diff -upr linux-2.6.38.8/security/tomoyo/mount.c linux-2.6.39.4/security/tomoyo/mount.c --- linux-2.6.38.8/security/tomoyo/mount.c 2011-03-15 10:20:32.000000000 +0900 +++ linux-2.6.39.4/security/tomoyo/mount.c 2011-08-29 11:20:27.000000000 +0900 @@ -138,7 +138,7 @@ static int tomoyo_mount_acl(struct tomoy } 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; }