TOMOYO: Fix incorrect enforce mode.
Tetsuo Handa [Thu, 25 Aug 2011 12:15:00 +0000 (21:15 +0900)]
In tomoyo_get_mode() since 2.6.36, CONFIG::file::execute was by error used in
place of CONFIG::file if CONFIG::file::execute was set to other than default.
As a result, enforcing mode was not applied in a way documentation says.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: James Morris <jmorris@namei.org>

security/tomoyo/util.c

index c36bd11..6a4195a 100644 (file)
@@ -925,7 +925,8 @@ int tomoyo_get_mode(const struct tomoyo_policy_namespace *ns, const u8 profile,
                return TOMOYO_CONFIG_DISABLED;
        mode = tomoyo_profile(ns, profile)->config[index];
        if (mode == TOMOYO_CONFIG_USE_DEFAULT)
-               mode = tomoyo_profile(ns, profile)->config[category];
+               mode = tomoyo_profile(ns, profile)->config
+                       [category + TOMOYO_MAX_MAC_INDEX];
        if (mode == TOMOYO_CONFIG_USE_DEFAULT)
                mode = tomoyo_profile(ns, profile)->default_config;
        return mode & 3;