]> xenbits.xensource.com Git - xen.git/commit
xen/arinc653: call xfree() with local IRQ enabled
authorAnderson Choi <anderson.choi@boeing.com>
Tue, 18 Mar 2025 07:34:15 +0000 (16:34 +0900)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 19 Mar 2025 16:44:00 +0000 (16:44 +0000)
commit3ee55c9543fcf0b35593f030b53f56f3222046b7
treed4799c3022e22e33de244868197d9d7494970d9b
parentb07c7d63f9b587e4df5d71f6da9eaa433512c974
xen/arinc653: call xfree() with local IRQ enabled

xen panic is observed with the following configuration.

1. Debug xen build (CONFIG_DEBUG=y)
2. dom1 of an ARINC653 domain
3. shutdown dom1 with xl command

$ xl shutdown <domain_name>

(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) Assertion '!in_irq() && (local_irq_is_enabled() || num_online_cpus() <= 1)' failed at common/xmalloc_tlsf.c:714
(XEN) ****************************************

panic was triggered since xfree() was called with local IRQ disabled and
therefore assertion failed.

Fix this by calling xfree() after local IRQ is enabled.

Fixes: 19049f8d796a sched: fix locking in a653sched_free_vdata()
Signed-off-by: Anderson Choi <anderson.choi@boeing.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Acked-by: Nathan Studer <nathan.studer@dornerworks.com>
xen/common/sched/arinc653.c