[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] xen/arinc653: call xfree() with local IRQ enabled
commit 3ee55c9543fcf0b35593f030b53f56f3222046b7 Author: Anderson Choi <anderson.choi@xxxxxxxxxx> AuthorDate: Tue Mar 18 16:34:15 2025 +0900 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Mar 19 16:44:00 2025 +0000 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@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Nathan Studer <nathan.studer@xxxxxxxxxxxxxxx> --- xen/common/sched/arinc653.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c index 9ebae6d7ae..930361fa5c 100644 --- a/xen/common/sched/arinc653.c +++ b/xen/common/sched/arinc653.c @@ -463,10 +463,11 @@ a653sched_free_udata(const struct scheduler *ops, void *priv) if ( !is_idle_unit(av->unit) ) list_del(&av->list); - xfree(av); update_schedule_units(ops); spin_unlock_irqrestore(&sched_priv->lock, flags); + + xfree(av); } /** -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |