> Signed-off-by: Julia Lawall <julia@xxxxxxx> > > --- > 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@xxxxxxxxxx For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>