]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
xen/netback: don't call kfree_skb() with interrupts disabled
authorJuergen Gross <jgross@suse.com>
Tue, 6 Dec 2022 07:54:24 +0000 (08:54 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 14 Dec 2022 13:02:54 +0000 (14:02 +0100)
commitebd228a350bf75fd192cf77c8e55baa3c5954ba7
tree6c84302f815d9a161e77ec360295187087f3ea76
parent1d810e08c16bd1ff68d35c28b072c75e641ade50
xen/netback: don't call kfree_skb() with interrupts disabled

[ Upstream commit 74e7e1efdad45580cc3839f2a155174cf158f9b5 ]

It is not allowed to call kfree_skb() from hardware interrupt
context or with interrupts being disabled. So remove kfree_skb()
from the spin_lock_irqsave() section and use the already existing
"drop" label in xenvif_start_xmit() for dropping the SKB. At the
same time replace the dev_kfree_skb() call there with a call of
dev_kfree_skb_any(), as xenvif_start_xmit() can be called with
disabled interrupts.

This is XSA-424 / CVE-2022-42328 / CVE-2022-42329.

Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
Reported-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 5d0fa6fc8899fe842329c0109f8ddd01144b1ed8)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
drivers/net/xen-netback/common.h
drivers/net/xen-netback/interface.c
drivers/net/xen-netback/rx.c