From f79862520bd9fcb839474699f3145d9eaac9f7c6 Mon Sep 17 00:00:00 2001 From: Jarkko Sakkinen Date: Mon, 10 Oct 2011 14:29:28 +0300 Subject: [PATCH] --- yaml --- r: 264566 b: refs/heads/master c: f8859d98c1d1e73393285fb9dd57007839956247 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/security/smack/smackfs.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 15ef6202b1fb..5db5963ebc47 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 84088ba239293abb24260c6c36d86e8775b6707f +refs/heads/master: f8859d98c1d1e73393285fb9dd57007839956247 diff --git a/trunk/security/smack/smackfs.c b/trunk/security/smack/smackfs.c index 54f6e18dea2f..5498c4a2d1ae 100644 --- a/trunk/security/smack/smackfs.c +++ b/trunk/security/smack/smackfs.c @@ -1497,6 +1497,7 @@ static ssize_t smk_write_access(struct file *file, const char __user *buf, { struct smack_rule rule; char *data; + int res; if (!capable(CAP_MAC_ADMIN)) return -EPERM; @@ -1508,8 +1509,10 @@ static ssize_t smk_write_access(struct file *file, const char __user *buf, if (count < SMK_LOADLEN || smk_parse_rule(data, &rule)) return -EINVAL; - data[0] = smk_access(rule.smk_subject, rule.smk_object, - rule.smk_access, NULL) == 0; + res = smk_access(rule.smk_subject, rule.smk_object, rule.smk_access, + NULL); + data[0] = res == 0 ? '1' : '0'; + data[1] = '\0'; simple_transaction_set(file, 1); return SMK_LOADLEN;