]> git.itanic.dy.fi Git - linux-stable/commit
xen/evtchn: avoid WARN() when unbinding an event channel
authorJuergen Gross <jgross@suse.com>
Wed, 13 Mar 2024 07:14:08 +0000 (08:14 +0100)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:17:34 +0000 (18:17 -0400)
commit9e2d4b58c1da48a32905802aaeadba7084b46895
treeb15d25ddf62ca6e9321e6f6d5033c5d50b403f5a
parent4b24e17ef97b258f86a3b1ca7de0fde9c2b4dae5
xen/evtchn: avoid WARN() when unbinding an event channel

[ Upstream commit 51c23bd691c0f1fb95b29731c356c6fd69925d17 ]

When unbinding a user event channel, the related handler might be
called a last time in case the kernel was built with
CONFIG_DEBUG_SHIRQ. This might cause a WARN() in the handler.

Avoid that by adding an "unbinding" flag to struct user_event which
will short circuit the handler.

Fixes: 9e90e58c11b7 ("xen: evtchn: Allow shared registration of IRQ handers")
Reported-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Tested-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Link: https://lore.kernel.org/r/20240313071409.25913-2-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/xen/evtchn.c