qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] some questions about g_malloc in qemu
@ 2011-12-15  8:10 Zhi Hui Li
  2011-12-15  8:14 ` 陳韋任
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Zhi Hui Li @ 2011-12-15  8:10 UTC (permalink / raw)
  To: QEMU-devel, Stefan Hajnoczi, Kevin Wolf; +Cc: zhihuili


I am not sure  whether it is  need to check the return of g_malloc  in 
qemu  ?

  Thank you very much !

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  8:10 [Qemu-devel] some questions about g_malloc in qemu Zhi Hui Li
@ 2011-12-15  8:14 ` 陳韋任
  2011-12-15  8:19 ` Andreas Färber
  2011-12-15  8:28 ` 陳韋任
  2 siblings, 0 replies; 12+ messages in thread
From: 陳韋任 @ 2011-12-15  8:14 UTC (permalink / raw)
  To: Zhi Hui Li; +Cc: Kevin Wolf, zhihuili, QEMU-devel, Stefan Hajnoczi

> I am not sure  whether it is  need to check the return of g_malloc  in 
> qemu  ?

  I think not, that's why you use g_malloc as a wrapper.

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  8:10 [Qemu-devel] some questions about g_malloc in qemu Zhi Hui Li
  2011-12-15  8:14 ` 陳韋任
@ 2011-12-15  8:19 ` Andreas Färber
  2011-12-15  8:28 ` 陳韋任
  2 siblings, 0 replies; 12+ messages in thread
From: Andreas Färber @ 2011-12-15  8:19 UTC (permalink / raw)
  To: Zhi Hui Li; +Cc: Kevin Wolf, zhihuili, QEMU-devel, Stefan Hajnoczi

Am 15.12.2011 09:10, schrieb Zhi Hui Li:
> 
> I am not sure  whether it is  need to check the return of g_malloc  in
> qemu  ?

Compare the glib manual:

http://developer.gnome.org/glib/2.30/glib-Memory-Allocation.html#g-malloc

http://developer.gnome.org/glib/2.30/glib-Memory-Allocation.html#g-try-malloc

So, g_malloc() may return NULL if the requested size is zero, and it may
abort but does not return NULL due to insufficient memory available.

HTH,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  8:10 [Qemu-devel] some questions about g_malloc in qemu Zhi Hui Li
  2011-12-15  8:14 ` 陳韋任
  2011-12-15  8:19 ` Andreas Färber
@ 2011-12-15  8:28 ` 陳韋任
  2011-12-15  9:36   ` Stefan Hajnoczi
  2 siblings, 1 reply; 12+ messages in thread
From: 陳韋任 @ 2011-12-15  8:28 UTC (permalink / raw)
  To: Zhi Hui Li; +Cc: Kevin Wolf, zhihuili, QEMU-devel, Stefan Hajnoczi

Hi,

 I found this in HACKING:

  Please note that NULL check for the g_malloc result is redundant and
  that g_malloc() call with zero size is not allowed.


Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  8:28 ` 陳韋任
@ 2011-12-15  9:36   ` Stefan Hajnoczi
  2011-12-15  9:48     ` Zhi Hui Li
  2011-12-15 10:02     ` Kevin Wolf
  0 siblings, 2 replies; 12+ messages in thread
From: Stefan Hajnoczi @ 2011-12-15  9:36 UTC (permalink / raw)
  To: 陳韋任
  Cc: Kevin Wolf, Zhi Hui Li, zhihuili, Stefan Hajnoczi, QEMU-devel

On Thu, Dec 15, 2011 at 04:28:28PM +0800, 陳韋任 wrote:
>  I found this in HACKING:
> 
>   Please note that NULL check for the g_malloc result is redundant and
>   that g_malloc() call with zero size is not allowed.

So we have:

1. You should not request 0 bytes from g_malloc().
2. g_malloc() does not return NULL (if you follow rule #1).

There is no need to check for NULL return.

Stefan

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  9:36   ` Stefan Hajnoczi
@ 2011-12-15  9:48     ` Zhi Hui Li
  2011-12-15  9:56       ` 陳韋任
  2011-12-15 10:02     ` Kevin Wolf
  1 sibling, 1 reply; 12+ messages in thread
From: Zhi Hui Li @ 2011-12-15  9:48 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU-devel

On 2011年12月15日 17:36, Stefan Hajnoczi wrote:
> On Thu, Dec 15, 2011 at 04:28:28PM +0800, 陳韋任 wrote:
>>   I found this in HACKING:
>>
>>    Please note that NULL check for the g_malloc result is redundant and
>>    that g_malloc() call with zero size is not allowed.
>
> So we have:
>
> 1. You should not request 0 bytes from g_malloc().
> 2. g_malloc() does not return NULL (if you follow rule #1).
>
> There is no need to check for NULL return.
>
> Stefan
>
>

Maybe there is insufficient memory, the return is error,
Do we need to check the return ?


Thank you very much for your feedback!

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  9:48     ` Zhi Hui Li
@ 2011-12-15  9:56       ` 陳韋任
  0 siblings, 0 replies; 12+ messages in thread
From: 陳韋任 @ 2011-12-15  9:56 UTC (permalink / raw)
  To: Zhi Hui Li; +Cc: Stefan Hajnoczi, QEMU-devel

> Maybe there is insufficient memory, the return is error,
> Do we need to check the return ?

  It'll abort if there is not enough memory.
  http://mail.gnome.org/archives/gtk-app-devel-list/2003-September/msg00260.html

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15  9:36   ` Stefan Hajnoczi
  2011-12-15  9:48     ` Zhi Hui Li
@ 2011-12-15 10:02     ` Kevin Wolf
  2011-12-15 10:19       ` Stefan Hajnoczi
  1 sibling, 1 reply; 12+ messages in thread
From: Kevin Wolf @ 2011-12-15 10:02 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: QEMU-devel, Zhi Hui Li, zhihuili, 陳韋任,
	Stefan Hajnoczi

Am 15.12.2011 10:36, schrieb Stefan Hajnoczi:
> On Thu, Dec 15, 2011 at 04:28:28PM +0800, 陳韋任 wrote:
>>  I found this in HACKING:
>>
>>   Please note that NULL check for the g_malloc result is redundant and
>>   that g_malloc() call with zero size is not allowed.
> 
> So we have:
> 
> 1. You should not request 0 bytes from g_malloc().

I think this was related to qemu_malloc() and Anthony's sed run made it
refer to g_malloc(), even though it works just fine with 0 bytes. We
should probably remove this sentence.

Kevin

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15 10:02     ` Kevin Wolf
@ 2011-12-15 10:19       ` Stefan Hajnoczi
  2011-12-15 10:37         ` Max Filippov
                           ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Stefan Hajnoczi @ 2011-12-15 10:19 UTC (permalink / raw)
  To: Kevin Wolf
  Cc: Stefan Hajnoczi, Zhi Hui Li, zhihuili, 陳韋任,
	QEMU-devel

On Thu, Dec 15, 2011 at 11:02:39AM +0100, Kevin Wolf wrote:
> Am 15.12.2011 10:36, schrieb Stefan Hajnoczi:
> > On Thu, Dec 15, 2011 at 04:28:28PM +0800, 陳韋任 wrote:
> >>  I found this in HACKING:
> >>
> >>   Please note that NULL check for the g_malloc result is redundant and
> >>   that g_malloc() call with zero size is not allowed.
> > 
> > So we have:
> > 
> > 1. You should not request 0 bytes from g_malloc().
> 
> I think this was related to qemu_malloc() and Anthony's sed run made it
> refer to g_malloc(), even though it works just fine with 0 bytes. We
> should probably remove this sentence.

If you remove it then you can't interpret it the way I did.  It's not
longer possible to say that g_malloc() never returns NULL.  You always
have to qualify that with "unless you ask for 0 bytes". :)

Stefan

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15 10:19       ` Stefan Hajnoczi
@ 2011-12-15 10:37         ` Max Filippov
  2011-12-15 10:44         ` Kevin Wolf
  2011-12-15 10:45         ` Peter Maydell
  2 siblings, 0 replies; 12+ messages in thread
From: Max Filippov @ 2011-12-15 10:37 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Kevin Wolf, Zhi Hui Li, 陳韋任, Stefan Hajnoczi,
	QEMU-devel, zhihuili

>> >>  I found this in HACKING:
>> >>
>> >>   Please note that NULL check for the g_malloc result is redundant and
>> >>   that g_malloc() call with zero size is not allowed.
>> >
>> > So we have:
>> >
>> > 1. You should not request 0 bytes from g_malloc().
>>
>> I think this was related to qemu_malloc() and Anthony's sed run made it
>> refer to g_malloc(), even though it works just fine with 0 bytes. We
>> should probably remove this sentence.
>
> If you remove it then you can't interpret it the way I did.  It's not
> longer possible to say that g_malloc() never returns NULL.  You always
> have to qualify that with "unless you ask for 0 bytes". :)

I have a number of ELFs that result in ELF loader making zero-size malloc.
Previously I had to enable CONFIG_ZERO_MALLOC, now it just works.

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15 10:19       ` Stefan Hajnoczi
  2011-12-15 10:37         ` Max Filippov
@ 2011-12-15 10:44         ` Kevin Wolf
  2011-12-15 10:45         ` Peter Maydell
  2 siblings, 0 replies; 12+ messages in thread
From: Kevin Wolf @ 2011-12-15 10:44 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Stefan Hajnoczi, Zhi Hui Li, zhihuili, 陳韋任,
	QEMU-devel

Am 15.12.2011 11:19, schrieb Stefan Hajnoczi:
> On Thu, Dec 15, 2011 at 11:02:39AM +0100, Kevin Wolf wrote:
>> Am 15.12.2011 10:36, schrieb Stefan Hajnoczi:
>>> On Thu, Dec 15, 2011 at 04:28:28PM +0800, 陳韋任 wrote:
>>>>  I found this in HACKING:
>>>>
>>>>   Please note that NULL check for the g_malloc result is redundant and
>>>>   that g_malloc() call with zero size is not allowed.
>>>
>>> So we have:
>>>
>>> 1. You should not request 0 bytes from g_malloc().
>>
>> I think this was related to qemu_malloc() and Anthony's sed run made it
>> refer to g_malloc(), even though it works just fine with 0 bytes. We
>> should probably remove this sentence.
> 
> If you remove it then you can't interpret it the way I did.  It's not
> longer possible to say that g_malloc() never returns NULL.  You always
> have to qualify that with "unless you ask for 0 bytes". :)

Try this: "g_malloc() never returns an error". ;-)

Kevin

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Qemu-devel] some questions about g_malloc in qemu
  2011-12-15 10:19       ` Stefan Hajnoczi
  2011-12-15 10:37         ` Max Filippov
  2011-12-15 10:44         ` Kevin Wolf
@ 2011-12-15 10:45         ` Peter Maydell
  2 siblings, 0 replies; 12+ messages in thread
From: Peter Maydell @ 2011-12-15 10:45 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Kevin Wolf, Zhi Hui Li, 陳韋任, Stefan Hajnoczi,
	QEMU-devel, zhihuili

On 15 December 2011 10:19, Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> wrote:
> On Thu, Dec 15, 2011 at 11:02:39AM +0100, Kevin Wolf wrote:
>> I think this was related to qemu_malloc() and Anthony's sed run made it
>> refer to g_malloc(), even though it works just fine with 0 bytes. We
>> should probably remove this sentence.
>
> If you remove it then you can't interpret it the way I did.  It's not
> longer possible to say that g_malloc() never returns NULL.  You always
> have to qualify that with "unless you ask for 0 bytes". :)

Well, we should reword it, then, because the thing it was warning
about is no longer true...

-- PMM

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-12-15 10:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-15  8:10 [Qemu-devel] some questions about g_malloc in qemu Zhi Hui Li
2011-12-15  8:14 ` 陳韋任
2011-12-15  8:19 ` Andreas Färber
2011-12-15  8:28 ` 陳韋任
2011-12-15  9:36   ` Stefan Hajnoczi
2011-12-15  9:48     ` Zhi Hui Li
2011-12-15  9:56       ` 陳韋任
2011-12-15 10:02     ` Kevin Wolf
2011-12-15 10:19       ` Stefan Hajnoczi
2011-12-15 10:37         ` Max Filippov
2011-12-15 10:44         ` Kevin Wolf
2011-12-15 10:45         ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).