+8
−6
Loading
stable inclusion from stable-v5.10.219 commit 351d1a64544944b44732f6a64ed65573b00b9e14 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7YJR CVE: CVE-2024-39292 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=351d1a64544944b44732f6a64ed65573b00b9e14 -------------------------------- [ Upstream commit a0fbbd36c156b9f7b2276871d499c9943dfe5101 ] Registering a winch IRQ is racy, an interrupt may occur before the winch is added to the winch_handlers list. If that happens, register_winch_irq() adds to that list a winch that is scheduled to be (or has already been) freed, causing a panic later in winch_cleanup(). Avoid the race by adding the winch to the winch_handlers list before registering the IRQ, and rolling back if um_request_irq() fails. Fixes: 42a359e3 ("uml: SIGIO support cleanup") Signed-off-by:Roberto Sassu <roberto.sassu@huawei.com> Reviewed-by:
Johannes Berg <johannes@sipsolutions.net> Signed-off-by:
Richard Weinberger <richard@nod.at> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Chen Zhongjin <chenzhongjin@huawei.com>