diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c index 6357160d466ab174f7fbe9f393f0ea97f99b84eb..91da7e44d5d4f4200ddc49c1896bb86662f5862a 100644 --- a/drivers/xen/pvcalls-front.c +++ b/drivers/xen/pvcalls-front.c @@ -343,6 +343,9 @@ int pvcalls_front_socket(struct socket *sock) static void free_active_ring(struct sock_mapping *map) { + if (!map->active.ring) + return; + free_pages((unsigned long)map->active.data.in, map->active.ring->ring_order); free_page((unsigned long)map->active.ring);