Re: [PATCH v2] irqchip/gic-v3-its: Fix potential race condition in its_vlpi_prop_update()

From: Marc Zyngier
Date: Fri May 31 2024 - 10:52:15 EST


On Fri, 31 May 2024 15:03:36 +0100,
Hagar Hemdan <hagarhem@xxxxxxxxxx> wrote:
>
> On Fri, May 31, 2024 at 11:30:59AM +0100, Marc Zyngier wrote:
> > On Fri, 31 May 2024 10:53:18 +0100,
> > Hagar Hemdan <hagarhem@xxxxxxxxxx> wrote:
> > >
> > > On Fri, May 31, 2024 at 10:27:04AM +0100, Marc Zyngier wrote:
> > > > On Fri, 31 May 2024 08:43:02 +0100,
> > > > Hagar Hemdan <hagarhem@xxxxxxxxxx> wrote:
> > > > >
> > > > > its_vlpi_prop_update() calls lpi_write_config() which obtains the
> > > > > mapping information for a VLPI without lock held. So it could race
> > > > > with its_vlpi_unmap().
> > > > > Since all calls from its_irq_set_vcpu_affinity() require the same
> > > > > lock to be held. So instead of peppering the locking all over the
> > > > > place, we hoist the locking into its_irq_set_vcpu_affinity().
> > > > >
> > > > > This bug was discovered and resolved using Coverity Static Analysis
> > > > > Security Testing (SAST) by Synopsys, Inc.
> > > > >
> > > > > Fixes: 015ec0386ab6 ("irqchip/gic-v3-its: Add VLPI configuration handling")
> > > > > Signed-off-by: Hagar Hemdan <hagarhem@xxxxxxxxxx>
> > > >
> > > > Given that you have lifted both my proposed patch and part of my
> > > > reply as a commit message, you may at least credit me with a
> > > > Suggested-by: tag. Not to mention that the blatant advertising doesn't
> > > > really apply in this case.
> > >
> > > ok, I will add this tag in rev3 and we need to add that disclaimer
> > > as it is a commercial tool. thanks!
> >
> > Sorry, but I'm not bound by this requirement. I'm happy to credit
> > *you* for reporting a defect, but certainly not a tool that hasn't
> > "resolved" anything, despite what the message says.
>
> Ok, I will drop the resolved part as the modified fix is suggested by
> you. Is it ok?

Yes, this seems fair to me.

Thanks again,

M.

--
Without deviation from the norm, progress is not possible.