diff options
-rw-r--r-- | xen/arch/x86/irq.c | 2 | ||||
-rw-r--r-- | xen/common/xmalloc_tlsf.c | 4 |
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 ) |