Message ID | 20150715111659.GA22854@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@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. > > 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 kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@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@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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@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? > > julia That'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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; }
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@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html