On Thu, Aug 13, 2020 at 10:53:05AM -0400, Josef Bacik wrote:
> +/**
> + * vmemdup_user - duplicate memory region from user space and NUL-terminate

vmemdup_user_nul()

> +void *vmemdup_user_nul(const void __user *src, size_t len)
> +{
> +     void *p;
> +
> +     p = kvmalloc(len, GFP_USER);

len+1, shirley?

> +     if (!p)
> +             return ERR_PTR(-ENOMEM);
> +
> +     if (copy_from_user(p, src, len)) {
> +             kvfree(p);
> +             return ERR_PTR(-EFAULT);
> +     }

I think you forgot

        p[len] = '\0';

> +     return p;
> +}
> +EXPORT_SYMBOL(vmemdup_user_nul);
> +
>  /**
>   * strndup_user - duplicate an existing string from user space
>   * @s: The string to duplicate
> -- 
> 2.24.1
> 

Reply via email to