aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/arch/x86/irq.c2
-rw-r--r--xen/common/xmalloc_tlsf.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 496c8048ae..78a02e3290 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2060,7 +2060,7 @@ static void dump_irqs(unsigned char key)
if ( !irq_desc_initialized(desc) || desc->handler == &no_irq_type )
continue;
- ssid = xsm_show_irq_sid(irq);
+ ssid = in_irq() ? NULL : xsm_show_irq_sid(irq);
spin_lock_irqsave(&desc->lock, flags);
diff --git a/xen/common/xmalloc_tlsf.c b/xen/common/xmalloc_tlsf.c
index 3235af117c..fa7c8b8165 100644
--- a/xen/common/xmalloc_tlsf.c
+++ b/xen/common/xmalloc_tlsf.c
@@ -604,11 +604,11 @@ void xfree(void *p)
{
struct bhdr *b;
- ASSERT(!in_irq());
-
if ( p == NULL )
return;
+ ASSERT(!in_irq());
+
/* Strip alignment padding. */
b = (struct bhdr *)((char *) p - BHDR_OVERHEAD);
if ( b->size & 1 )