Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [PATCH 5/27] mm: Use memdup_user | Date | Mon, 24 May 2010 10:04:10 +0900 (JST) |
| |
> Signed-off-by: Julia Lawall <julia@diku.dk> > > --- > mm/util.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/mm/util.c b/mm/util.c > index f5712e8..4735ea4 100644 > --- a/mm/util.c > +++ b/mm/util.c > @@ -225,15 +225,10 @@ char *strndup_user(const char __user *s, long n) > if (length > n) > return ERR_PTR(-EINVAL); > > - p = kmalloc(length, GFP_KERNEL); > + p = memdup_user(s, length);
memdup? Why can't we use strnlen_user() and legitimate length copy?
> > - if (!p) > - return ERR_PTR(-ENOMEM); > - > - if (copy_from_user(p, s, length)) { > - kfree(p); > - return ERR_PTR(-EFAULT); > - } > + if (IS_ERR(p)) > + return p; > > p[length - 1] = '\0'; > > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
| |