qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
@ 2015-09-14 11:53 Markus Armbruster
  2015-09-14 15:51 ` Eric Blake
  2015-09-24  7:06 ` Markus Armbruster
  0 siblings, 2 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-09-14 11:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: riku.voipio

g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
for two reasons.  One, it catches multiplication overflowing size_t.
Two, it returns T * rather than void *, which lets the compiler catch
more type errors.

This commit only touches allocations with size arguments of the form
sizeof(T).  Same Coccinelle semantic patchas in commit b45c03f.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 linux-user/elfload.c | 2 +-
 linux-user/main.c    | 2 +-
 linux-user/syscall.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index eca0c7f..6584f0b 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2848,7 +2848,7 @@ static int fill_note_info(struct elf_note_info *info,
     TaskState *ts = (TaskState *)cpu->opaque;
     int i;
 
-    info->notes = g_malloc0(NUMNOTES * sizeof (struct memelfnote));
+    info->notes = g_new0(struct memelfnote, NUMNOTES);
     if (info->notes == NULL)
         return (-ENOMEM);
     info->prstatus = g_malloc0(sizeof (*info->prstatus));
diff --git a/linux-user/main.c b/linux-user/main.c
index 829ee64..1ff821d 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -4014,7 +4014,7 @@ int main(int argc, char **argv, char **envp)
     }
     target_argv[target_argc] = NULL;
 
-    ts = g_malloc0 (sizeof(TaskState));
+    ts = g_new0(TaskState, 1);
     init_task_state(ts);
     /* build Task State */
     ts->info = info;
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index c0fabf7..60c62b8 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4560,7 +4560,7 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
         new_thread_info info;
         pthread_attr_t attr;
 
-        ts = g_malloc0(sizeof(TaskState));
+        ts = g_new0(TaskState, 1);
         init_task_state(ts);
         /* we create a new CPU instance. */
         new_env = cpu_copy(env);
-- 
2.4.3

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
@ 2015-09-14 15:51 ` Eric Blake
  2015-09-14 16:08   ` Eric Blake
  2015-09-24  7:06 ` Markus Armbruster
  1 sibling, 1 reply; 7+ messages in thread
From: Eric Blake @ 2015-09-14 15:51 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: riku.voipio

[-- Attachment #1: Type: text/plain, Size: 806 bytes --]

On 09/14/2015 05:53 AM, Markus Armbruster wrote:
> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
> for two reasons.  One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
> 
> This commit only touches allocations with size arguments of the form
> sizeof(T).  Same Coccinelle semantic patchas in commit b45c03f.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  linux-user/elfload.c | 2 +-
>  linux-user/main.c    | 2 +-
>  linux-user/syscall.c | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-14 15:51 ` Eric Blake
@ 2015-09-14 16:08   ` Eric Blake
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Blake @ 2015-09-14 16:08 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: riku.voipio

[-- Attachment #1: Type: text/plain, Size: 896 bytes --]

On 09/14/2015 09:51 AM, Eric Blake wrote:
> On 09/14/2015 05:53 AM, Markus Armbruster wrote:
>> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
>> for two reasons.  One, it catches multiplication overflowing size_t.
>> Two, it returns T * rather than void *, which lets the compiler catch
>> more type errors.
>>
>> This commit only touches allocations with size arguments of the form
>> sizeof(T).  Same Coccinelle semantic patchas in commit b45c03f.

s/patchas/patch as/

>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  linux-user/elfload.c | 2 +-
>>  linux-user/main.c    | 2 +-
>>  linux-user/syscall.c | 2 +-
>>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> Reviewed-by: Eric Blake <eblake@redhat.com>
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
  2015-09-14 15:51 ` Eric Blake
@ 2015-09-24  7:06 ` Markus Armbruster
  2015-09-24  7:18   ` Stefan Weil
  1 sibling, 1 reply; 7+ messages in thread
From: Markus Armbruster @ 2015-09-24  7:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: riku.voipio

Ping?

Markus Armbruster <armbru@redhat.com> writes:

> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
> for two reasons.  One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
>
> This commit only touches allocations with size arguments of the form
> sizeof(T).  Same Coccinelle semantic patchas in commit b45c03f.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  linux-user/elfload.c | 2 +-
>  linux-user/main.c    | 2 +-
>  linux-user/syscall.c | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index eca0c7f..6584f0b 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -2848,7 +2848,7 @@ static int fill_note_info(struct elf_note_info *info,
>      TaskState *ts = (TaskState *)cpu->opaque;
>      int i;
>  
> -    info->notes = g_malloc0(NUMNOTES * sizeof (struct memelfnote));
> +    info->notes = g_new0(struct memelfnote, NUMNOTES);
>      if (info->notes == NULL)
>          return (-ENOMEM);
>      info->prstatus = g_malloc0(sizeof (*info->prstatus));
> diff --git a/linux-user/main.c b/linux-user/main.c
> index 829ee64..1ff821d 100644
> --- a/linux-user/main.c
> +++ b/linux-user/main.c
> @@ -4014,7 +4014,7 @@ int main(int argc, char **argv, char **envp)
>      }
>      target_argv[target_argc] = NULL;
>  
> -    ts = g_malloc0 (sizeof(TaskState));
> +    ts = g_new0(TaskState, 1);
>      init_task_state(ts);
>      /* build Task State */
>      ts->info = info;
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index c0fabf7..60c62b8 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -4560,7 +4560,7 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
>          new_thread_info info;
>          pthread_attr_t attr;
>  
> -        ts = g_malloc0(sizeof(TaskState));
> +        ts = g_new0(TaskState, 1);
>          init_task_state(ts);
>          /* we create a new CPU instance. */
>          new_env = cpu_copy(env);

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-24  7:06 ` Markus Armbruster
@ 2015-09-24  7:18   ` Stefan Weil
  2015-09-24 16:19     ` Markus Armbruster
  2015-10-03 17:07     ` Michael Tokarev
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Weil @ 2015-09-24  7:18 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel, QEMU Trivial; +Cc: riku.voipio

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
> Ping?
> 
> Markus Armbruster <armbru@redhat.com> writes:
> 
>> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also 
>> safer, for two reasons.  One, it catches multiplication 
>> overflowing size_t. Two, it returns T * rather than void *,
>> which lets the compiler catch more type errors.
>> 
>> This commit only touches allocations with size arguments of the 
>> form sizeof(T).  Same Coccinelle semantic patchas in commit 
>> b45c03f.
>> 
>> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- 
>> linux-user/elfload.c | 2 +- linux-user/main.c    | 2 +- 
>> linux-user/syscall.c | 2 +- 3 files changed, 3 insertions(+), 3 
>> deletions(-)

Reviewed-by: Stefan Weil <sw@weilnetz.de>

This patch is trivial enough for qemu-trivial.

As Eric has written, the commit message needs
a small correction: s/patchas/patch as/

Regards
Stefan

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJWA6OuAAoJEOCMIdVndFCt6Q8P/R6kKihtOvr17lL3Av117n1z
YPv6Tfa9jy1fd3qaeIMhXgm63CNTWTGU4o0A9/k3thqiD9kYVpqeZkd7gt1gE6uU
QR/eReEMZNr+5AnkYnCmZ8wr5upd4RWUjCvbGSUpFgb1ui+VtwZ08XzCVehQfY39
2S6EWxR/I7ETxzue+AFZak9w4QqVF7IQmw7CPkeTCD/himdCpyeGxL9dYQnyfEdW
mQeXUR2eipaqwIt1b6JkwQCU78rY2D/OLVDipZK9M4BSmJQWS2BsLboc+VC59bN9
JkVrKgSbuciqBMXDudY71qv9XO/wyM8MwnDM5GY7V9N1PoRVcg2mvSCRKq9lP82K
V0Sb6n1j9/AgM3ngnLZqkiVYkeFrnccIkiKCJvmDnDP1ClC8Cy5V1wkPzk7TJgTK
4xvuI3kfWPIzbphWzZtcCstJKYaO5ydrEGGNGko37A6s65oE+gIhyrv/KSIhix+H
n7KMOILY4wuk7UYoIgK6cvKL6QsVyhw0lR+RIR8p33ofAj20HylQng38h6spr50F
XTl3J38ApbyxNhw+EJHXXwj14YJFrZTwN8C0X49UHkSD4wqR4lH+2kdNUYIYJJHR
Zx+HkJj/8hLQq14WjtgZlNQ7noAck/yh9Rvyu54v6yfx1RAhNkDbiysQKgqkWzNM
U5ro2khoY2BrI7Bdq29H
=/Z+4
-----END PGP SIGNATURE-----

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-24  7:18   ` Stefan Weil
@ 2015-09-24 16:19     ` Markus Armbruster
  2015-10-03 17:07     ` Michael Tokarev
  1 sibling, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-09-24 16:19 UTC (permalink / raw)
  To: Stefan Weil; +Cc: QEMU Trivial, riku.voipio, qemu-devel

Stefan Weil <sw@weilnetz.de> writes:

> Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
>> Ping?
>> 
>> Markus Armbruster <armbru@redhat.com> writes:
>> 
>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also 
>>> safer, for two reasons.  One, it catches multiplication 
>>> overflowing size_t. Two, it returns T * rather than void *,
>>> which lets the compiler catch more type errors.
>>> 
>>> This commit only touches allocations with size arguments of the 
>>> form sizeof(T).  Same Coccinelle semantic patchas in commit 
>>> b45c03f.
>>> 
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- 
>>> linux-user/elfload.c | 2 +- linux-user/main.c    | 2 +- 
>>> linux-user/syscall.c | 2 +- 3 files changed, 3 insertions(+), 3 
>>> deletions(-)
>
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
>
> This patch is trivial enough for qemu-trivial.

I guess it is.  For code with a maintainer, I tend to try the maintainer
first.

> As Eric has written, the commit message needs
> a small correction: s/patchas/patch as/

Yes.

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

* Re: [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense
  2015-09-24  7:18   ` Stefan Weil
  2015-09-24 16:19     ` Markus Armbruster
@ 2015-10-03 17:07     ` Michael Tokarev
  1 sibling, 0 replies; 7+ messages in thread
From: Michael Tokarev @ 2015-10-03 17:07 UTC (permalink / raw)
  To: Stefan Weil, Markus Armbruster, qemu-devel, QEMU Trivial; +Cc: riku.voipio

24.09.2015 10:18, Stefan Weil wrote:
> Am 24.09.2015 um 09:06 schrieb Markus Armbruster:
>> Ping?
> 
>> Markus Armbruster <armbru@redhat.com> writes:
> 
>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also 
>>> safer, for two reasons.  One, it catches multiplication 
>>> overflowing size_t. Two, it returns T * rather than void *,
>>> which lets the compiler catch more type errors.

Applied to -trivial, with a trivial commit message fix.
Thanks!

/mjt

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

end of thread, other threads:[~2015-10-03 17:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-14 11:53 [Qemu-devel] [PATCH] linux-user: Use g_new() & friends where that makes obvious sense Markus Armbruster
2015-09-14 15:51 ` Eric Blake
2015-09-14 16:08   ` Eric Blake
2015-09-24  7:06 ` Markus Armbruster
2015-09-24  7:18   ` Stefan Weil
2015-09-24 16:19     ` Markus Armbruster
2015-10-03 17:07     ` Michael Tokarev

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).