Messages in this thread | | | Date | Tue, 8 Dec 2015 22:31:14 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [Bugfix 4/5] x86/irq: Fix a race condition between vector assigning and cleanup |
| |
On Mon, 7 Dec 2015, Joe Lawrence wrote:
> On 12/01/2015 05:46 PM, Joe Lawrence wrote: > > On 11/30/2015 03:09 AM, Jiang Liu wrote: > > > Joe Lawrence <joe.lawrence@stratus.com> reported an use after release > > > issue related to x86 IRQ management code. Please refer to following > > > link for more information: > > > https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1026840.html > > > > > > Thomas pointed out that it's caused by a race condition between > > > __assign_irq_vector() and __send_cleanup_vector(). Based on Thomas' > > > draft patch, we solve this race condition by: > > > 1) Use move_in_progress to signal that an IRQ cleanup IPI is needed > > > 2) Use old_domain to save old CPU mask for IRQ cleanup > > > 3) Use vector to protect move_in_progress and old_domain > > > > > > This bugfix patch also helps to get rid of that atomic allocation in > > > __send_cleanup_vector(). > > > > > > Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> > > > --- > > > > [ ... snip ... ] > > > > Jiang, Thomas, > > > > Last night I ran with Jiang's five-patch-set on top of 4.3. Tests > > started with regular sysfs device removal of mpt HBAs, then later I > > added disk stress (the disks are software RAID1 across the HBAs) .. no > > issues. > > > > I'll kick off some tougher surprise device removal tests tonight to > > further kick the tires. > > Testing looked good. Feel to add a Tested-by and/or Reported-by.
Ok. Great. I'll pick that lot up and tag it for stable.
Thanks,
tglx
| |