aboutsummaryrefslogtreecommitdiffstats
path: root/security/selinux/xfrm.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/selinux/xfrm.c')
-rw-r--r--security/selinux/xfrm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
index 425b9f91d755..a91d205ec0c6 100644
--- a/security/selinux/xfrm.c
+++ b/security/selinux/xfrm.c
@@ -268,10 +268,10 @@ int selinux_xfrm_policy_clone(struct xfrm_sec_ctx *old_ctx,
268 if (!old_ctx) 268 if (!old_ctx)
269 return 0; 269 return 0;
270 270
271 new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len, GFP_ATOMIC); 271 new_ctx = kmemdup(old_ctx, sizeof(*old_ctx) + old_ctx->ctx_len,
272 GFP_ATOMIC);
272 if (!new_ctx) 273 if (!new_ctx)
273 return -ENOMEM; 274 return -ENOMEM;
274 memcpy(new_ctx, old_ctx, sizeof(*old_ctx) + old_ctx->ctx_len);
275 atomic_inc(&selinux_xfrm_refcount); 275 atomic_inc(&selinux_xfrm_refcount);
276 *new_ctxp = new_ctx; 276 *new_ctxp = new_ctx;
277 277