Am 15.07.2015 13:28, schrieb Michael S. Tsirkin:> On Wed, Jul 15, 2015 at 02:16:59PM +0300, Dan Carpenter wrote: >> There is only one caller for vhost_kvzalloc() and it expects NULL on >> allocation failure. Most people would probably expect that so let's >> change ERR_PTR(-ENOMEM) to NULL. >> >> Fixes: 4de7255f7d2b ('vhost: extend memory regions allocation to vmalloc') >> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com> > > Ouch. Thanks a lot for noticing this, and it's a good thing > you did before Linus merged it. > I'll squash this into Igor's patch and redo my pull request. >Is this function needed at all ? e.g. I followed vzalloc() to __vmalloc_node_range() a check for size==0 seems to be done there. re, wh>> >> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c >> index a9fe859..99d613b 100644 >> --- a/drivers/vhost/vhost.c >> +++ b/drivers/vhost/vhost.c >> @@ -686,7 +686,7 @@ static void *vhost_kvzalloc(unsigned long size) >> if (!n) { >> n = vzalloc(size); >> if (!n) >> - return ERR_PTR(-ENOMEM); >> + return NULL; >> } >> return n; >> } > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
On Wed, Jul 15, 2015 at 01:35:16PM +0200, walter harms wrote:> Is this function needed at all ? >It tries to kmalloc() memory and if it can't then it tries to vmalloc() it. There are a bunch of these functions. Eventually someone should put one in a common header. regards, dan carpenter
On Wed, 15 Jul 2015, walter harms wrote:> > > Am 15.07.2015 13:28, schrieb Michael S. Tsirkin: > > On Wed, Jul 15, 2015 at 02:16:59PM +0300, Dan Carpenter wrote: > >> There is only one caller for vhost_kvzalloc() and it expects NULL on > >> allocation failure. Most people would probably expect that so let's > >> change ERR_PTR(-ENOMEM) to NULL. > >> > >> Fixes: 4de7255f7d2b ('vhost: extend memory regions allocation to vmalloc') > >> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com> > > > > Ouch. Thanks a lot for noticing this, and it's a good thing > > you did before Linus merged it. > > I'll squash this into Igor's patch and redo my pull request. > > > > Is this function needed at all ? > > e.g. I followed vzalloc() to __vmalloc_node_range() > > a check for size==0 seems to be done there.At least it looks like one could return the result of vzalloc directly? julia> > re, > wh > > > >> > >> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > >> index a9fe859..99d613b 100644 > >> --- a/drivers/vhost/vhost.c > >> +++ b/drivers/vhost/vhost.c > >> @@ -686,7 +686,7 @@ static void *vhost_kvzalloc(unsigned long size) > >> if (!n) { > >> n = vzalloc(size); > >> if (!n) > >> - return ERR_PTR(-ENOMEM); > >> + return NULL; > >> } > >> return n; > >> } > > -- > > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > > the body of a message to majordomo at vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
On Wed, Jul 15, 2015 at 10:21:12AM -0400, Julia Lawall wrote:> At least it looks like one could return the result of vzalloc directly? > > juliaThat's a true... I was tempted to re-write it a bit. I think one of the Lustre people are eventually going to export this function and we will delete this one. regards, dan carpenter