diff options
Diffstat (limited to 'security')
-rw-r--r-- | security/keys/compat.c | 4 | ||||
-rw-r--r-- | security/keys/process_keys.c | 4 | ||||
-rw-r--r-- | security/selinux/xfrm.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/security/keys/compat.c b/security/keys/compat.c index 1c261763f479..d65fa7fa29ba 100644 --- a/security/keys/compat.c +++ b/security/keys/compat.c | |||
@@ -40,12 +40,12 @@ static long compat_keyctl_instantiate_key_iov( | |||
40 | ARRAY_SIZE(iovstack), | 40 | ARRAY_SIZE(iovstack), |
41 | iovstack, &iov); | 41 | iovstack, &iov); |
42 | if (ret < 0) | 42 | if (ret < 0) |
43 | return ret; | 43 | goto err; |
44 | if (ret == 0) | 44 | if (ret == 0) |
45 | goto no_payload_free; | 45 | goto no_payload_free; |
46 | 46 | ||
47 | ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid); | 47 | ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid); |
48 | 48 | err: | |
49 | if (iov != iovstack) | 49 | if (iov != iovstack) |
50 | kfree(iov); | 50 | kfree(iov); |
51 | return ret; | 51 | return ret; |
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index 58dfe0890947..42defae1e161 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c | |||
@@ -57,7 +57,7 @@ int install_user_keyrings(void) | |||
57 | 57 | ||
58 | kenter("%p{%u}", user, uid); | 58 | kenter("%p{%u}", user, uid); |
59 | 59 | ||
60 | if (user->uid_keyring) { | 60 | if (user->uid_keyring && user->session_keyring) { |
61 | kleave(" = 0 [exist]"); | 61 | kleave(" = 0 [exist]"); |
62 | return 0; | 62 | return 0; |
63 | } | 63 | } |
@@ -839,7 +839,7 @@ void key_change_session_keyring(struct callback_head *twork) | |||
839 | new-> sgid = old-> sgid; | 839 | new-> sgid = old-> sgid; |
840 | new->fsgid = old->fsgid; | 840 | new->fsgid = old->fsgid; |
841 | new->user = get_uid(old->user); | 841 | new->user = get_uid(old->user); |
842 | new->user_ns = get_user_ns(new->user_ns); | 842 | new->user_ns = get_user_ns(old->user_ns); |
843 | new->group_info = get_group_info(old->group_info); | 843 | new->group_info = get_group_info(old->group_info); |
844 | 844 | ||
845 | new->securebits = old->securebits; | 845 | new->securebits = old->securebits; |
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c index 48665ecd1197..8ab295154517 100644 --- a/security/selinux/xfrm.c +++ b/security/selinux/xfrm.c | |||
@@ -310,7 +310,7 @@ int selinux_xfrm_policy_clone(struct xfrm_sec_ctx *old_ctx, | |||
310 | 310 | ||
311 | if (old_ctx) { | 311 | if (old_ctx) { |
312 | new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len, | 312 | new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len, |
313 | GFP_KERNEL); | 313 | GFP_ATOMIC); |
314 | if (!new_ctx) | 314 | if (!new_ctx) |
315 | return -ENOMEM; | 315 | return -ENOMEM; |
316 | 316 | ||