linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] genirq: call cancel_work_sync from irq_set_affinity_notifier
@ 2019-03-20 22:00 Prasad Sodagudi
  2019-03-21 16:19 ` Thomas Gleixner
  0 siblings, 1 reply; 5+ messages in thread
From: Prasad Sodagudi @ 2019-03-20 22:00 UTC (permalink / raw)
  To: tglx; +Cc: linux-kernel, psodagud

When ever notification of IRQ affinity changes, call
cancel_work_sync from irq_set_affinity_notifier to cancel
all pending works to avoid work list corruption.

Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
---
 kernel/irq/manage.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 9ec34a2..da8b2ee 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -356,6 +356,9 @@ static void irq_affinity_notify(struct work_struct *work)
 	desc->affinity_notify = notify;
 	raw_spin_unlock_irqrestore(&desc->lock, flags);
 
+	if (!notify && old_notify)
+		cancel_work_sync(&old_notify->work);
+
 	if (old_notify)
 		kref_put(&old_notify->kref, old_notify->release);
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-24 21:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-20 22:00 [PATCH] genirq: call cancel_work_sync from irq_set_affinity_notifier Prasad Sodagudi
2019-03-21 16:19 ` Thomas Gleixner
2019-03-21 20:31   ` Sodagudi Prasad
2019-03-24 14:57     ` [PATCH v2] genirq: Prevent use-after-free and work list corruption Prasad Sodagudi
2019-03-24 21:16       ` [tip:irq/core] " tip-bot for Prasad Sodagudi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).