Index: sys/x86/xen/xen_intr.c =================================================================== --- sys/x86/xen/xen_intr.c +++ sys/x86/xen/xen_intr.c @@ -331,7 +331,10 @@ isrc->xi_intsrc.is_pic = &xen_intr_pic; isrc->xi_vector = vector; isrc->xi_type = type; - intr_register_source(&isrc->xi_intsrc); + if (intr_register_source(&isrc->xi_intsrc) != 0) { + free(isrc, M_XENINTR); + isrc = NULL; + } mtx_lock(&xen_intr_isrc_lock); return (isrc);