From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Eric Blake" <eblake@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"qemu trival" <qemu-trivial@nongnu.org>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions
Date: Mon, 9 Oct 2017 09:11:02 +0100 [thread overview]
Message-ID: <20171009081101.GA2374@work-vm> (raw)
In-Reply-To: <87r2ucrcsi.fsf@dusky.pond.sub.org>
* Markus Armbruster (armbru@redhat.com) wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > [PMD: more changes]
> > ---
> > monitor.c | 14 +++++++-------
> > qmp.c | 14 +++++++-------
> > tests/test-qmp-commands.c | 14 +++++++-------
> > 3 files changed, 21 insertions(+), 21 deletions(-)
> >
> > diff --git a/monitor.c b/monitor.c
> > index fe0d1bdbb4..ea6a485f11 100644
> > --- a/monitor.c
> > +++ b/monitor.c
> > @@ -906,7 +906,7 @@ static void query_commands_cb(QmpCommand *cmd, void *opaque)
> > return;
> > }
> >
> > - info = g_malloc0(sizeof(*info));
> > + info = g_new0(CommandInfoList, 1);
> > info->value = g_malloc0(sizeof(*info->value));
> > info->value->name = g_strdup(cmd->name);
> > info->next = *list;
>
> I'm not convinced rewriting
>
> LHS = g_malloc(sizeof(*LHS));
>
> to
>
> LHS = g_new(T, 1);
>
> where T is the type of LHS is worth the trouble. The code before the
> rewrite is pretty idiomatic. There's no possibility of integer overflow
> g_new() could avoid. The types are obviously correct, so the additional
> type checking is quite unlikely to catch anything. That leaves the
> consistency argument. I'm willing to hear it, but I feel it should be
> heard in a patch series that does nothing else.
The 'obviously correct' is the dodgy part of the argument here.
How many bugs do we right that are obviously wrong?
t.c:13:20: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
struct c *pc = g_new(struct b, 1);
seems good to me.
Dave
> > @@ -1799,7 +1799,7 @@ static void hmp_wavcapture(Monitor *mon, const QDict *qdict)
> > int nchannels = qdict_get_try_int(qdict, "nchannels", -1);
> > CaptureState *s;
> >
> > - s = g_malloc0 (sizeof (*s));
> > + s = g_new0(CaptureState, 1);
> >
> > freq = has_freq ? freq : 44100;
> > bits = has_bits ? bits : 16;
>
> This hunk is HMP, not QMP.
>
> > @@ -1947,7 +1947,7 @@ void qmp_getfd(const char *fdname, Error **errp)
> > return;
> > }
> >
> > - monfd = g_malloc0(sizeof(mon_fd_t));
> > + monfd = g_new0(mon_fd_t, 1);
> > monfd->name = g_strdup(fdname);
> > monfd->fd = fd;
> >
> > @@ -2110,7 +2110,7 @@ FdsetInfoList *qmp_query_fdsets(Error **errp)
> > QLIST_FOREACH(mon_fdset_fd, &mon_fdset->fds, next) {
> > FdsetFdInfoList *fdsetfd_info;
> >
> > - fdsetfd_info = g_malloc0(sizeof(*fdsetfd_info));
> > + fdsetfd_info = g_new0(FdsetFdInfoList, 1);
> > fdsetfd_info->value = g_malloc0(sizeof(*fdsetfd_info->value));
> > fdsetfd_info->value->fd = mon_fdset_fd->fd;
> > if (mon_fdset_fd->opaque) {
> > @@ -2199,7 +2199,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool has_fdset_id, int64_t fdset_id,
> > }
> > }
> >
> > - mon_fdset_fd = g_malloc0(sizeof(*mon_fdset_fd));
> > + mon_fdset_fd = g_new0(MonFdsetFd, 1);
> > mon_fdset_fd->fd = fd;
> > mon_fdset_fd->removed = false;
> > if (has_opaque) {
> > @@ -2207,7 +2207,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool has_fdset_id, int64_t fdset_id,
> > }
> > QLIST_INSERT_HEAD(&mon_fdset->fds, mon_fdset_fd, next);
> >
> > - fdinfo = g_malloc0(sizeof(*fdinfo));
> > + fdinfo = g_new0(AddfdInfo, 1);
> > fdinfo->fdset_id = mon_fdset->id;
> > fdinfo->fd = mon_fdset_fd->fd;
> >
> > @@ -4102,7 +4102,7 @@ void monitor_init(Chardev *chr, int flags)
> > is_first_init = 0;
> > }
> >
> > - mon = g_malloc(sizeof(*mon));
> > + mon = g_new(Monitor, 1);
> > monitor_data_init(mon);
> >
> > qemu_chr_fe_init(&mon->chr, chr, &error_abort);
>
> This is monitor core, not QMP.
>
> > diff --git a/qmp.c b/qmp.c
> > index e8c303116a..e965020e37 100644
> > --- a/qmp.c
> > +++ b/qmp.c
> > @@ -232,7 +232,7 @@ ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
> > while ((prop = object_property_iter_next(&iter))) {
> > ObjectPropertyInfoList *entry = g_malloc0(sizeof(*entry));
> >
> > - entry->value = g_malloc0(sizeof(ObjectPropertyInfo));
> > + entry->value = g_new0(ObjectPropertyInfo, 1);
> > entry->next = props;
> > props = entry;
> >
> > @@ -432,7 +432,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void *data)
> > ObjectTypeInfo *info;
> > ObjectClass *parent = object_class_get_parent(klass);
> >
> > - info = g_malloc0(sizeof(*info));
> > + info = g_new0(ObjectTypeInfo, 1);
> > info->name = g_strdup(object_class_get_name(klass));
> > info->has_abstract = info->abstract = object_class_is_abstract(klass);
> > if (parent) {
> > @@ -440,7 +440,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void *data)
> > info->parent = g_strdup(object_class_get_name(parent));
> > }
> >
> > - e = g_malloc0(sizeof(*e));
> > + e = g_new0(ObjectTypeInfoList, 1);
> > e->value = info;
> > e->next = *pret;
> > *pret = e;
> > @@ -490,7 +490,7 @@ static DevicePropertyInfo *make_device_property_info(ObjectClass *klass,
> > return NULL; /* no way to set it, don't show */
> > }
> >
> > - info = g_malloc0(sizeof(*info));
> > + info = g_new0(DevicePropertyInfo, 1);
> > info->name = g_strdup(prop->name);
> > info->type = default_type ? g_strdup(default_type)
> > : g_strdup(prop->info->name);
> > @@ -502,7 +502,7 @@ static DevicePropertyInfo *make_device_property_info(ObjectClass *klass,
> > } while (klass != object_class_by_name(TYPE_DEVICE));
> >
> > /* Not a qdev property, use the default type */
> > - info = g_malloc0(sizeof(*info));
> > + info = g_new0(DevicePropertyInfo, 1);
> > info->name = g_strdup(name);
> > info->type = g_strdup(default_type);
> > info->has_description = !!description;
> > @@ -568,7 +568,7 @@ DevicePropertyInfoList *qmp_device_list_properties(const char *typename,
> > continue;
> > }
> >
> > - entry = g_malloc0(sizeof(*entry));
> > + entry = g_new0(DevicePropertyInfoList, 1);
> > entry->value = info;
> > entry->next = prop_list;
> > prop_list = entry;
> > @@ -712,7 +712,7 @@ ACPIOSTInfoList *qmp_query_acpi_ospm_status(Error **errp)
> >
> > MemoryInfo *qmp_query_memory_size_summary(Error **errp)
> > {
> > - MemoryInfo *mem_info = g_malloc0(sizeof(MemoryInfo));
> > + MemoryInfo *mem_info = g_new0(MemoryInfo, 1);
> >
> > mem_info->base_memory = ram_size;
> >
> > diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
> > index 904c89d4d4..e715c45a23 100644
> > --- a/tests/test-qmp-commands.c
> > +++ b/tests/test-qmp-commands.c
> > @@ -28,8 +28,8 @@ UserDefTwo *qmp_user_def_cmd2(UserDefOne *ud1a,
> > Error **errp)
> > {
> > UserDefTwo *ret;
> > - UserDefOne *ud1c = g_malloc0(sizeof(UserDefOne));
> > - UserDefOne *ud1d = g_malloc0(sizeof(UserDefOne));
> > + UserDefOne *ud1c = g_new0(UserDefOne, 1);
> > + UserDefOne *ud1d = g_new0(UserDefOne, 1);
> >
> > ud1c->string = strdup(ud1a->string);
> > ud1c->integer = ud1a->integer;
> > @@ -209,23 +209,23 @@ static void test_dealloc_types(void)
> > UserDefOne *ud1test, *ud1a, *ud1b;
> > UserDefOneList *ud1list;
> >
> > - ud1test = g_malloc0(sizeof(UserDefOne));
> > + ud1test = g_new0(UserDefOne, 1);
> > ud1test->integer = 42;
> > ud1test->string = g_strdup("hi there 42");
> >
> > qapi_free_UserDefOne(ud1test);
> >
> > - ud1a = g_malloc0(sizeof(UserDefOne));
> > + ud1a = g_new0(UserDefOne, 1);
> > ud1a->integer = 43;
> > ud1a->string = g_strdup("hi there 43");
> >
> > - ud1b = g_malloc0(sizeof(UserDefOne));
> > + ud1b = g_new0(UserDefOne, 1);
> > ud1b->integer = 44;
> > ud1b->string = g_strdup("hi there 44");
> >
> > - ud1list = g_malloc0(sizeof(UserDefOneList));
> > + ud1list = g_new0(UserDefOneList, 1);
> > ud1list->value = ud1a;
> > - ud1list->next = g_malloc0(sizeof(UserDefOneList));
> > + ud1list->next = g_new0(UserDefOneList, 1);
> > ud1list->next->value = ud1b;
> >
> > qapi_free_UserDefOneList(ud1list);
>
> Could squash together with PATCH 79 and call the result "monitor: Use
> g_new() family of functions".
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2017-10-09 8:11 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 23:48 [Qemu-devel] [PATCH 00/88] use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 01/88] cocci: script to use g_new() & friends Philippe Mathieu-Daudé
2017-10-09 7:24 ` Markus Armbruster
2017-11-02 4:16 ` Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 02/88] cocci: add more g_new() transformations Philippe Mathieu-Daudé
2017-10-09 7:28 ` Markus Armbruster
2017-10-06 23:48 ` [Qemu-devel] [PATCH 03/88] cocci: extract typeof() from g_new() Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 04/88] cocci: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-07 3:41 ` Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 05/88] cocci: use g_strfreev() Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 06/88] ARM: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 07/88] Audio: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 08/88] BT: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 09/88] Bootdevice: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 10/88] Character devices: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 11/88] Cryptodev Backends: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 12/88] backends/hostmem: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 13/88] Dirty Bitmaps: " Philippe Mathieu-Daudé
2017-10-07 15:45 ` John Snow
2017-10-06 23:49 ` [Qemu-devel] [PATCH 14/88] ui/vnc: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 15/88] ui/spice: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 16/88] Main loop: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 17/88] Memory API: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 18/88] memory: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 19/88] exec: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 20/88] Migration: " Philippe Mathieu-Daudé
2017-10-07 10:15 ` Juan Quintela
2017-10-06 23:49 ` [Qemu-devel] [PATCH 21/88] NBD: " Philippe Mathieu-Daudé
2017-10-09 17:55 ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 22/88] LM32: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 23/88] M68K: " Philippe Mathieu-Daudé
2017-10-07 5:51 ` Thomas Huth
2017-10-06 23:49 ` [Qemu-devel] [PATCH 24/88] MIPS: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 25/88] OpenRISC: " Philippe Mathieu-Daudé
2017-10-07 0:15 ` Stafford Horne
2017-10-06 23:49 ` [Qemu-devel] [PATCH 26/88] S390: " Philippe Mathieu-Daudé
2017-10-09 9:36 ` Cornelia Huck
2017-10-10 13:25 ` Cornelia Huck
2017-10-06 23:49 ` [Qemu-devel] [PATCH 27/88] SH4: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 28/88] disas: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 29/88] SPARC: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 30/88] QEMU Guest Agent: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 31/88] QMP: " Philippe Mathieu-Daudé
2017-10-09 7:38 ` Markus Armbruster
2017-10-09 8:11 ` Dr. David Alan Gilbert [this message]
2017-10-09 18:04 ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 32/88] QObject: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 33/88] qom: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 34/88] qapi: " Philippe Mathieu-Daudé
2017-10-09 17:59 ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 35/88] Record/replay: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 36/88] SLIRP: " Philippe Mathieu-Daudé
2017-10-08 22:20 ` Samuel Thibault
2017-10-06 23:49 ` [Qemu-devel] [PATCH 37/88] TCG: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 38/88] VFIO: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 39/88] hw/i386: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 40/88] hw/xen: " Philippe Mathieu-Daudé
2017-10-10 15:55 ` Anthony PERARD
2017-10-06 23:49 ` [Qemu-devel] [PATCH 41/88] target/i386: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 42/88] XTFPGA: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 43/88] hw/core: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 44/88] hw/core/loader: " Philippe Mathieu-Daudé
2017-10-10 0:03 ` Alistair Francis
2017-10-06 23:49 ` [Qemu-devel] [PATCH 45/88] hw/display: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 46/88] hw/display/vga: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 47/88] hw/i2c: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 48/88] hw/input: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 49/88] hw/misc: " Philippe Mathieu-Daudé
2017-10-09 14:21 ` Gabriel L. Somlo
2017-10-06 23:49 ` [Qemu-devel] [PATCH 50/88] ivshmem: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 51/88] hw/timer: " Philippe Mathieu-Daudé
2017-10-07 0:46 ` xiaoqiang zhao
2017-10-07 0:52 ` xiaoqiang zhao
2017-10-06 23:49 ` [Qemu-devel] [PATCH 52/88] i.MX31: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 53/88] iSCSI: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 54/88] KVM: " Philippe Mathieu-Daudé
2017-10-09 14:21 ` Gabriel L. Somlo
2017-10-06 23:49 ` [Qemu-devel] [PATCH 55/88] PReP: " Philippe Mathieu-Daudé
2017-10-07 4:38 ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 56/88] PowerPC: " Philippe Mathieu-Daudé
2017-10-07 4:39 ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 57/88] ppc: " Philippe Mathieu-Daudé
2017-10-07 4:40 ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 58/88] ppc4xx: " Philippe Mathieu-Daudé
2017-10-07 5:15 ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 59/88] ppce500: " Philippe Mathieu-Daudé
2017-10-07 5:16 ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 60/88] sPAPR: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 61/88] tests: " Philippe Mathieu-Daudé
2017-10-09 6:46 ` Thomas Huth
2017-10-09 16:36 ` John Snow
2017-10-06 23:49 ` [Qemu-devel] [PATCH 62/88] user: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 63/88] bsd-user/syscall: fix a memory leak on EFAULT, use g_new() Philippe Mathieu-Daudé
2017-10-07 8:48 ` [Qemu-devel] [Qemu-trivial] " Kamil Rytarowski
2017-11-06 19:06 ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 64/88] user: use g_strfreev() Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 65/88] util: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 66/88] util/qemu-thread-win32: " Philippe Mathieu-Daudé
2017-10-07 6:47 ` Stefan Weil
2017-10-06 23:50 ` [Qemu-devel] [PATCH 67/88] util/coroutine: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 68/88] virtio: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 69/88] virtio-9p: " Philippe Mathieu-Daudé
2017-10-07 12:51 ` Greg Kurz
2017-10-06 23:50 ` [Qemu-devel] [PATCH 70/88] block: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 71/88] block: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-07 3:44 ` Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 72/88] hw/block/nvme: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 73/88] hw/block/xen_disk: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 74/88] balloon: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 75/88] decnumber: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 76/88] dma: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 77/88] dump: " Philippe Mathieu-Daudé
2017-10-09 9:38 ` Cornelia Huck
2017-10-06 23:50 ` [Qemu-devel] [PATCH 78/88] gdb: " Philippe Mathieu-Daudé
2017-10-09 9:38 ` Alex Bennée
2017-10-06 23:50 ` [Qemu-devel] [PATCH 79/88] hmp: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 80/88] numa: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 81/88] hw/acpi: " Philippe Mathieu-Daudé
2017-10-09 15:42 ` Ben Warren
2017-10-06 23:50 ` [Qemu-devel] [PATCH 82/88] hw/ipmi: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 83/88] hw/pci: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 84/88] hw/scsi: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 85/88] hw/usb: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 86/88] net/hub: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 87/88] hw/net/rocker: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 88/88] scripts/coverity-model: " Philippe Mathieu-Daudé
2017-10-09 6:46 ` Markus Armbruster
2017-11-02 4:11 ` Philippe Mathieu-Daudé
2017-10-07 0:04 ` [Qemu-devel] [PATCH 00/88] " Philippe Mathieu-Daudé
2017-10-07 1:26 ` no-reply
2017-10-07 1:27 ` no-reply
2017-10-07 14:18 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171009081101.GA2374@work-vm \
--to=dgilbert@redhat.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=f4bug@amsat.org \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).