Index: sys/dev/xen/blkfront/blkfront.c =================================================================== --- sys/dev/xen/blkfront/blkfront.c +++ sys/dev/xen/blkfront/blkfront.c @@ -1345,8 +1345,11 @@ &cm->cm_indirectionrefs[j])) break; } - if (j < sc->xbd_max_request_indirectpages) + if (j < sc->xbd_max_request_indirectpages) { + contigfree(indirectpages, PAGE_SIZE * + sc->xbd_max_request_indirectpages, M_XENBLOCKFRONT); break; + } cm->cm_indirectionpages = indirectpages; xbd_free_command(cm); }