BACKPORT: Smack: change rule cap check
authorCasey Schaufler <casey@schaufler-ca.com>
Thu, 19 Dec 2013 21:23:26 +0000 (13:23 -0800)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 30 Jun 2016 12:57:30 +0000 (14:57 +0200)
smk_write_change_rule() is calling capable rather than
the more correct smack_privileged(). This allows for setting
rules in violation of the onlycap facility. This is the
simple repair.

Targeted for git://git.gitorious.org/smack-next/kernel.git

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
(cherry-picked from upstream 4afde48be8929b6da63a9e977aaff0894ba82984)

security/smack/smackfs.c

index f5a6bb8e282848e8ec1247c7d46e881b92b5a814..3198cfe1dcc69fb0bcc158940c030cd125105ed5 100644 (file)
@@ -2152,7 +2152,7 @@ static ssize_t smk_write_change_rule(struct file *file, const char __user *buf,
        /*
         * Must have privilege.
         */
-       if (!capable(CAP_MAC_ADMIN))
+       if (!smack_privileged(CAP_MAC_ADMIN))
                return -EPERM;
 
        return smk_write_rules_list(file, buf, count, ppos, NULL, NULL,