Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:olh:xen-4.11
xen
xen.80ad8db8a4d9bb24952f0aea788ce6f47566fa76.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xen.80ad8db8a4d9bb24952f0aea788ce6f47566fa76.patch of Package xen
From: Jan Beulich <jbeulich@suse.com> Date: Wed, 15 Jun 2022 10:19:32 +0200 Subject: 80ad8db8a4d9bb24952f0aea788ce6f47566fa76 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IOMMU/x86: work around bogus gcc12 warning in hvm_gsi_eoi() As per [1] the expansion of the pirq_dpci() macro causes a -Waddress controlled warning (enabled implicitly in our builds, if not by default) tying the middle part of the involved conditional expression to the surrounding boolean context. Work around this by introducing a local inline function in the affected source file. Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Roger Pau Monné <roger.pau@citrix.com> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102967 --- xen/drivers/passthrough/io.c | 12 +++++++++ 1 file changed, 12 insertions(+) --- a/xen/drivers/passthrough/io.c +++ b/xen/drivers/passthrough/io.c @@ -16,24 +16,36 @@ * Copyright (C) Allen Kay <allen.m.kay@intel.com> * Copyright (C) Xiaohui Xin <xiaohui.xin@intel.com> */ #include <xen/event.h> #include <xen/iommu.h> #include <xen/cpu.h> #include <xen/irq.h> #include <asm/hvm/irq.h> #include <asm/hvm/support.h> #include <asm/io_apic.h> +/* + * Gcc12 takes issue with pirq_dpci() being used in boolean context (see gcc + * bug 102967). While we can't replace the macro definition in the header by an + * inline function, we can do so here. + */ +static inline struct hvm_pirq_dpci *_pirq_dpci(struct pirq *pirq) +{ + return pirq_dpci(pirq); +} +#undef pirq_dpci +#define pirq_dpci(pirq) _pirq_dpci(pirq) + static DEFINE_PER_CPU(struct list_head, dpci_list); /* * These two bit states help to safely schedule, deschedule, and wait until * the softirq has finished. * * The semantics behind these two bits is as follow: * - STATE_SCHED - whoever modifies it has to ref-count the domain (->dom). * - STATE_RUN - only softirq is allowed to set and clear it. If it has * been set hvm_dirq_assist will RUN with a saved value of the * 'struct domain' copied from 'pirq_dpci->dom' before STATE_RUN was set. *
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor