Hi Joe, On Fri Mar 6, 2020 at 12:49 AM, Joe Perches wrote: > On Thu, 2020-03-05 at 13:16 -0800, Daniel Xu wrote: > > It's not really necessary to have contiguous physical memory for xattr > > values. We no longer need to worry about higher order allocations > > failing with kvmalloc, especially because the xattr size limit is at > > 64K. > > > So why use vmalloc memory at all? > > > > diff --git a/fs/xattr.c b/fs/xattr.c > '] > > @@ -817,7 +817,7 @@ struct simple_xattr *simple_xattr_alloc(const void *value, size_t size) > > if (len < sizeof(*new_xattr)) > > return NULL; > > > > - new_xattr = kmalloc(len, GFP_KERNEL); > > + new_xattr = kvmalloc(len, GFP_KERNEL); > > > Why is this sensible? > vmalloc memory is a much more limited resource. What would be the alternative? As Greg said, contiguous memory should be more scarce. > Also, it seems as if the function should set > new_xattr->name to NULL before the return. > Will add and send in a different patch. Thanks, Daniel