From 14d00a0e16336127c55fd9938735093e06302fa8 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Fri, 21 May 2010 22:18:59 +0000 Subject: [PATCH] --- yaml --- r: 202579 b: refs/heads/master c: b23d00e9212d04eb894dd29422c7a53b36b8e32d h: refs/heads/master i: 202577: ca2d6a092cb71b560a3d6a3d5b51b03f8b0a5b0d 202575: a5fc299e87937640cc01191f9f4d1ec285be95ed v: v3 --- [refs] | 2 +- trunk/drivers/net/ppp_generic.c | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index fb8e29067ec0..9b26d9db766d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 16dff91804777efbb0ce18b0a7e54c55e86b7beb +refs/heads/master: b23d00e9212d04eb894dd29422c7a53b36b8e32d diff --git a/trunk/drivers/net/ppp_generic.c b/trunk/drivers/net/ppp_generic.c index 144375dea2de..0db38946bc0a 100644 --- a/trunk/drivers/net/ppp_generic.c +++ b/trunk/drivers/net/ppp_generic.c @@ -538,14 +538,9 @@ static int get_filter(void __user *arg, struct sock_filter **p) } len = uprog.len * sizeof(struct sock_filter); - code = kmalloc(len, GFP_KERNEL); - if (code == NULL) - return -ENOMEM; - - if (copy_from_user(code, uprog.filter, len)) { - kfree(code); - return -EFAULT; - } + code = memdup_user(uprog.filter, len); + if (IS_ERR(code)) + return PTR_ERR(code); err = sk_chk_filter(code, uprog.len); if (err) {