{
struct smack_rule rule;
char *data;
+ int res;
if (!capable(CAP_MAC_ADMIN))
return -EPERM;
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;