Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
x86/apic/vector: Handle vector release on CPU unplug correctly
When a irq vector is replaced, then the previous vector is normally released when the first interrupt happens on the new vector. If the target CPU of the previous vector is already offline when the new vector is installed, then the previous vector is silently discarded, which leads to accounting issues causing suspend failures and other problems. Adjust the logic so that the previous vector is freed in the underlying matrix allocator to ensure that the accounting stays correct. Fixes: 69cde00 ("x86/vector: Use matrix allocator for vector assignment") Reported-by: Yuriy Vostrikov <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Tested-by: Yuriy Vostrikov <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Randy Dunlap <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
- Loading branch information