[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL v5 06/11] hw/xen/xen-hvm-common: skip ioreq creation on ioreq
From: |
Peter Maydell |
Subject: |
Re: [PULL v5 06/11] hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure |
Date: |
Tue, 20 Jun 2023 11:40:27 +0100 |
On Fri, 16 Jun 2023 at 00:53, Stefano Stabellini <sstabellini@kernel.org> wrote:
>
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>
> On ARM it is possible to have a functioning xenpv machine with only the
> PV backends and no IOREQ server. If the IOREQ server creation fails continue
> to the PV backends initialization.
>
> Also, moved the IOREQ registration and mapping subroutine to new function
> xen_do_ioreq_register().
Hi. This refactoring has prompted Coverity to notice that
we're passing around a large structure by value here:
MemoryListener is 192 bytes in size, and we pass it by value
into xen_register_ioreq() and now through into xen_do_ioreq_register().
Does this really need to be pass by value? Could we pass a pointer
instead?
(CID 1513106, 1513107).
I suspect also that the argument should be a const pointer,
and the callsites should mark the structs they're passing as
const.
> -void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> - MemoryListener xen_memory_listener)
> +static void xen_do_ioreq_register(XenIOState *state,
> + unsigned int max_cpus,
> + MemoryListener
> xen_memory_listener)
thanks
-- PMM
- [PULL v5 00/11] xenpvh5-tag, Stefano Stabellini, 2023/06/15
- [PULL v5 01/11] hw/i386/xen/: move xen-mapcache.c to hw/xen/, Stefano Stabellini, 2023/06/15
- [PULL v5 02/11] hw/i386/xen: rearrange xen_hvm_init_pc, Stefano Stabellini, 2023/06/15
- [PULL v5 03/11] hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState, Stefano Stabellini, 2023/06/15
- [PULL v5 05/11] include/hw/xen/xen_common: return error from xen_create_ioreq_server, Stefano Stabellini, 2023/06/15
- [PULL v5 07/11] hw/xen/xen-hvm-common: Use g_new and error_report, Stefano Stabellini, 2023/06/15
- [PULL v5 08/11] meson.build: do not set have_xen_pci_passthrough for aarch64 targets, Stefano Stabellini, 2023/06/15
- [PULL v5 06/11] hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure, Stefano Stabellini, 2023/06/15
- Re: [PULL v5 06/11] hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure,
Peter Maydell <=
- [PULL v5 11/11] test/qtest: add xepvh to skip list for qtest, Stefano Stabellini, 2023/06/15
- [PULL v5 10/11] meson.build: enable xenpv machine build for ARM, Stefano Stabellini, 2023/06/15
- [PULL v5 04/11] xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common, Stefano Stabellini, 2023/06/15
- [PULL v5 09/11] hw/arm: introduce xenpvh machine, Stefano Stabellini, 2023/06/15
- Re: [PULL v5 00/11] xenpvh5-tag, Richard Henderson, 2023/06/17