Re: [Bugfix v2 4/5] x86/irq: Fix a race condition between vector assigning and cleanup

From: Thomas Gleixner
Date: Wed Dec 30 2015 - 17:52:11 EST


On Wed, 23 Dec 2015, Jiang Liu wrote:
> /*
> - * Check if the irq migration is in progress. If so, we
> - * haven't received the cleanup request yet for this irq.
> + * Nothing to cleanup if this cpu is not set
> + * in the old_domain mask.
> */
> - if (data->move_in_progress)
> - goto unlock;
> -
> - if (vector == data->cfg.vector &&
> - cpumask_test_cpu(me, data->domain))

Actually we cannot remove this check either. If the vector changed from 100 to
80, then we cleanup vector 80 which is the active vector and the old one
remains stale. Not pretty, right?

I'll send out a fine granular series tomorrow when my brain is more awake.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/