On Tue, Dec 14, 2021 at 04:19:17AM -0800, Qing Wang wrote: > From: Wang Qing <wangqing@xxxxxxxx> > > fix memdup_user.cocci warning: > fs/xattr.c:563:11-19: WARNING opportunity for vmemdup_user > > Signed-off-by: Wang Qing <wangqing@xxxxxxxx> > --- > fs/xattr.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/fs/xattr.c b/fs/xattr.c > index 5c8c517..71c301d > --- a/fs/xattr.c > +++ b/fs/xattr.c > @@ -560,11 +560,9 @@ setxattr(struct user_namespace *mnt_userns, struct dentry *d, > if (size) { > if (size > XATTR_SIZE_MAX) > return -E2BIG; > - kvalue = kvmalloc(size, GFP_KERNEL); > - if (!kvalue) > - return -ENOMEM; > - if (copy_from_user(kvalue, value, size)) { > - error = -EFAULT; > + kvalue = vmemdup_user(value, size); This changes the allocation type from GFP_KERNEL to GFP_USER which is probably not what we need at least it's not clear to me that it is.