diff options
author | Lukasz Pawelczyk <l.pawelczyk@samsung.com> | 2015-08-25 12:39:46 +0200 |
---|---|---|
committer | Casey Schaufler <casey@schaufler-ca.com> | 2015-10-09 15:12:46 -0700 |
commit | 5f2bfe2f1de8b745dc294acaf2ca2ad68e09b374 (patch) | |
tree | 0ba2486e5d6e7a3a4f5a5c4b61a5eaa21e72b3b7 /security/smack | |
parent | 049e6dde7e57f0054fdc49102e7ef4830c698b46 (diff) | |
download | lwn-5f2bfe2f1de8b745dc294acaf2ca2ad68e09b374.tar.gz lwn-5f2bfe2f1de8b745dc294acaf2ca2ad68e09b374.zip |
Smack: fix a NULL dereference in wrong smack_import_entry() usage
'commit e774ad683f42 ("smack: pass error code through pointers")'
made this function return proper error codes instead of NULL. Reflect that.
This is a fix for a NULL dereference introduced in
'commit 21abb1ec414c ("Smack: IPv6 host labeling")'
echo "$SOME_IPV6_ADDR \"test" > /smack/ipv6host
(this should return EINVAL, it doesn't)
cat /smack/ipv6host
(derefences 0x000a)
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@samsung.com>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Diffstat (limited to 'security/smack')
-rw-r--r-- | security/smack/smackfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index c20b154a33f2..103a619b1360 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c @@ -1501,8 +1501,8 @@ static ssize_t smk_write_net6addr(struct file *file, const char __user *buf, */ if (smack[0] != '-') { skp = smk_import_entry(smack, 0); - if (skp == NULL) { - rc = -EINVAL; + if (IS_ERR(skp)) { + rc = PTR_ERR(skp); goto free_out; } } else { |