* [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
@ 2015-09-14 11:52 Markus Armbruster
2015-09-14 11:57 ` Jiri Pirko
2015-09-24 16:18 ` Markus Armbruster
0 siblings, 2 replies; 9+ messages in thread
From: Markus Armbruster @ 2015-09-14 11:52 UTC (permalink / raw)
To: qemu-devel; +Cc: jiri, sfeldma
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>
---
hw/net/rocker/rocker.c | 2 +-
hw/net/rocker/rocker_desc.c | 4 ++--
hw/net/rocker/rocker_fp.c | 2 +-
hw/net/rocker/rocker_of_dpa.c | 9 ++++-----
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
index 7e7bda4..bb6fdc3 100644
--- a/hw/net/rocker/rocker.c
+++ b/hw/net/rocker/rocker.c
@@ -1362,7 +1362,7 @@ static int pci_rocker_init(PCIDevice *dev)
r->fp_ports = ROCKER_FP_PORTS_MAX;
}
- r->rings = g_malloc(sizeof(DescRing *) * rocker_pci_ring_count(r));
+ r->rings = g_new(DescRing *, rocker_pci_ring_count(r));
if (!r->rings) {
goto err_rings_alloc;
}
diff --git a/hw/net/rocker/rocker_desc.c b/hw/net/rocker/rocker_desc.c
index b5c0b4a..5e697b1 100644
--- a/hw/net/rocker/rocker_desc.c
+++ b/hw/net/rocker/rocker_desc.c
@@ -142,7 +142,7 @@ bool desc_ring_set_size(DescRing *ring, uint32_t size)
ring->size = size;
ring->head = ring->tail = 0;
- ring->info = g_realloc(ring->info, size * sizeof(DescInfo));
+ ring->info = g_renew(DescInfo, ring->info, size);
if (!ring->info) {
return false;
}
@@ -345,7 +345,7 @@ DescRing *desc_ring_alloc(Rocker *r, int index)
{
DescRing *ring;
- ring = g_malloc0(sizeof(DescRing));
+ ring = g_new0(DescRing, 1);
if (!ring) {
return NULL;
}
diff --git a/hw/net/rocker/rocker_fp.c b/hw/net/rocker/rocker_fp.c
index c693ae5..5906396 100644
--- a/hw/net/rocker/rocker_fp.c
+++ b/hw/net/rocker/rocker_fp.c
@@ -218,7 +218,7 @@ FpPort *fp_port_alloc(Rocker *r, char *sw_name,
MACAddr *start_mac, unsigned int index,
NICPeers *peers)
{
- FpPort *port = g_malloc0(sizeof(FpPort));
+ FpPort *port = g_new0(FpPort, 1);
if (!port) {
return NULL;
diff --git a/hw/net/rocker/rocker_of_dpa.c b/hw/net/rocker/rocker_of_dpa.c
index 874fb01..1ad2791 100644
--- a/hw/net/rocker/rocker_of_dpa.c
+++ b/hw/net/rocker/rocker_of_dpa.c
@@ -367,7 +367,7 @@ static OfDpaFlow *of_dpa_flow_alloc(uint64_t cookie)
OfDpaFlow *flow;
int64_t now = qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) / 1000;
- flow = g_malloc0(sizeof(OfDpaFlow));
+ flow = g_new0(OfDpaFlow, 1);
if (!flow) {
return NULL;
}
@@ -811,7 +811,7 @@ static int of_dpa_group_get_stats(OfDpa *of_dpa, uint32_t id)
static OfDpaGroup *of_dpa_group_alloc(uint32_t id)
{
- OfDpaGroup *group = g_malloc0(sizeof(OfDpaGroup));
+ OfDpaGroup *group = g_new0(OfDpaGroup, 1);
if (!group) {
return NULL;
@@ -2039,15 +2039,14 @@ static int of_dpa_cmd_add_l2_flood(OfDpa *of_dpa, OfDpaGroup *group,
group->l2_flood.group_count =
rocker_tlv_get_le16(group_tlvs[ROCKER_TLV_OF_DPA_GROUP_COUNT]);
- tlvs = g_malloc0((group->l2_flood.group_count + 1) *
- sizeof(RockerTlv *));
+ tlvs = g_new0(RockerTlv *, group->l2_flood.group_count + 1);
if (!tlvs) {
return -ROCKER_ENOMEM;
}
g_free(group->l2_flood.group_ids);
group->l2_flood.group_ids =
- g_malloc0(group->l2_flood.group_count * sizeof(uint32_t));
+ g_new0(uint32_t, group->l2_flood.group_count);
if (!group->l2_flood.group_ids) {
err = -ROCKER_ENOMEM;
goto err_out;
--
2.4.3
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 11:52 [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense Markus Armbruster
@ 2015-09-14 11:57 ` Jiri Pirko
2015-09-14 15:55 ` Eric Blake
2015-09-24 16:18 ` Markus Armbruster
1 sibling, 1 reply; 9+ messages in thread
From: Jiri Pirko @ 2015-09-14 11:57 UTC (permalink / raw)
To: Markus Armbruster; +Cc: sfeldma, qemu-devel
Mon, Sep 14, 2015 at 01:52:23PM CEST, armbru@redhat.com 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.
^ typo :)
Other than that:
Acked-by: Jiri Pirko <jiri@resnulli.us>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 11:57 ` Jiri Pirko
@ 2015-09-14 15:55 ` Eric Blake
2015-09-14 16:09 ` Eric Blake
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Eric Blake @ 2015-09-14 15:55 UTC (permalink / raw)
To: Jiri Pirko, Markus Armbruster; +Cc: sfeldma, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1333 bytes --]
On 09/14/2015 05:57 AM, Jiri Pirko wrote:
> Mon, Sep 14, 2015 at 01:52:23PM CEST, armbru@redhat.com 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.
>
> ^ typo :)
>
This typo is copy-pasted into ALL of your recent g_new() cleanups. Since
you did scattershot threads across multiple maintainers rather than one
big thread, it may be a bit harder to plug all the instances before they
get pulled through the various trees.
>
> Other than that:
>
> Acked-by: Jiri Pirko <jiri@resnulli.us>
Reviewed-by: Eric Blake <eblake@redhat.com>
[In qemu, we tend to use 'Reviewed-by' for "I've inspected the code and
agree it correctly does what the commit message claims", and the weaker
'Acked-by' for "I agree with the fix as documented in the commit message
but didn't inspect the code to ensure that they match"]
--
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] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 15:55 ` Eric Blake
@ 2015-09-14 16:09 ` Eric Blake
2015-09-14 16:11 ` Markus Armbruster
2015-09-14 19:40 ` Jiri Pirko
2 siblings, 0 replies; 9+ messages in thread
From: Eric Blake @ 2015-09-14 16:09 UTC (permalink / raw)
To: Jiri Pirko, Markus Armbruster; +Cc: sfeldma, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 980 bytes --]
On 09/14/2015 09:55 AM, Eric Blake wrote:
> On 09/14/2015 05:57 AM, Jiri Pirko wrote:
>> Mon, Sep 14, 2015 at 01:52:23PM CEST, armbru@redhat.com 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.
>>
>> ^ typo :)
>>
>
> This typo is copy-pasted into ALL of your recent g_new() cleanups.
Actually, not all of them.
And when I first read your report of the typo, I was thinking that it
meant 'patches', although now I see that it should be two words 'patch as'.
--
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] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 15:55 ` Eric Blake
2015-09-14 16:09 ` Eric Blake
@ 2015-09-14 16:11 ` Markus Armbruster
2015-09-14 19:40 ` Jiri Pirko
2 siblings, 0 replies; 9+ messages in thread
From: Markus Armbruster @ 2015-09-14 16:11 UTC (permalink / raw)
To: Eric Blake; +Cc: sfeldma, Jiri Pirko, qemu-devel
Eric Blake <eblake@redhat.com> writes:
> On 09/14/2015 05:57 AM, Jiri Pirko wrote:
>> Mon, Sep 14, 2015 at 01:52:23PM CEST, armbru@redhat.com 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.
>>
>> ^ typo :)
>>
>
> This typo is copy-pasted into ALL of your recent g_new() cleanups. Since
> you did scattershot threads across multiple maintainers rather than one
> big thread, it may be a bit harder to plug all the instances before they
> get pulled through the various trees.
Only three of them, actually: this one, linux-user and qemu-char.
[...]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 15:55 ` Eric Blake
2015-09-14 16:09 ` Eric Blake
2015-09-14 16:11 ` Markus Armbruster
@ 2015-09-14 19:40 ` Jiri Pirko
2 siblings, 0 replies; 9+ messages in thread
From: Jiri Pirko @ 2015-09-14 19:40 UTC (permalink / raw)
To: Eric Blake; +Cc: sfeldma, Markus Armbruster, qemu-devel
Mon, Sep 14, 2015 at 05:55:40PM CEST, eblake@redhat.com wrote:
>On 09/14/2015 05:57 AM, Jiri Pirko wrote:
>> Mon, Sep 14, 2015 at 01:52:23PM CEST, armbru@redhat.com 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.
>>
>> ^ typo :)
>>
>
>This typo is copy-pasted into ALL of your recent g_new() cleanups. Since
>you did scattershot threads across multiple maintainers rather than one
>big thread, it may be a bit harder to plug all the instances before they
>get pulled through the various trees.
>
>>
>> Other than that:
>>
>> Acked-by: Jiri Pirko <jiri@resnulli.us>
>
>Reviewed-by: Eric Blake <eblake@redhat.com>
>
>[In qemu, we tend to use 'Reviewed-by' for "I've inspected the code and
>agree it correctly does what the commit message claims", and the weaker
>'Acked-by' for "I agree with the fix as documented in the commit message
>but didn't inspect the code to ensure that they match"]
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-14 11:52 [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense Markus Armbruster
2015-09-14 11:57 ` Jiri Pirko
@ 2015-09-24 16:18 ` Markus Armbruster
2015-09-24 18:48 ` Jiri Pirko
2015-10-03 17:05 ` Michael Tokarev
1 sibling, 2 replies; 9+ messages in thread
From: Markus Armbruster @ 2015-09-24 16:18 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, jiri, sfeldma
Michael, could you take this one through trivial? Assuming Scott and
Jiri don't mind, and with s/patchas/patch as/ in the commit message.
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>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-24 16:18 ` Markus Armbruster
@ 2015-09-24 18:48 ` Jiri Pirko
2015-10-03 17:05 ` Michael Tokarev
1 sibling, 0 replies; 9+ messages in thread
From: Jiri Pirko @ 2015-09-24 18:48 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-trivial, sfeldma, qemu-devel
Thu, Sep 24, 2015 at 06:18:43PM CEST, armbru@redhat.com wrote:
>Michael, could you take this one through trivial? Assuming Scott and
>Jiri don't mind, and with s/patchas/patch as/ in the commit message.
I don't mind :)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense
2015-09-24 16:18 ` Markus Armbruster
2015-09-24 18:48 ` Jiri Pirko
@ 2015-10-03 17:05 ` Michael Tokarev
1 sibling, 0 replies; 9+ messages in thread
From: Michael Tokarev @ 2015-10-03 17:05 UTC (permalink / raw)
To: Markus Armbruster, qemu-devel; +Cc: qemu-trivial, sfeldma, jiri
24.09.2015 19:18, Markus Armbruster wrote:
> Michael, could you take this one through trivial? Assuming Scott and
> Jiri don't mind, and with s/patchas/patch as/ in the commit message.
>
> 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, thanks!
/mjt
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-10-03 17:05 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-14 11:52 [Qemu-devel] [PATCH] rocker: Use g_new() & friends where that makes obvious sense Markus Armbruster
2015-09-14 11:57 ` Jiri Pirko
2015-09-14 15:55 ` Eric Blake
2015-09-14 16:09 ` Eric Blake
2015-09-14 16:11 ` Markus Armbruster
2015-09-14 19:40 ` Jiri Pirko
2015-09-24 16:18 ` Markus Armbruster
2015-09-24 18:48 ` Jiri Pirko
2015-10-03 17:05 ` 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).