]> git.ipfire.org Git - thirdparty/kernel/stable.git/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:18:55 +0000 (18:18 -0400)
commit35485dad6e28f9b17884764d4692b1655cb848d0
tree6dfaa0d0d2126ecec5c9f5b333b12c8202518086
parent191cefaac8099aad8554f3a3f43b4bb25fc37d2a
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