Index: sys/dev/xen/grant_table/grant_table.c
===================================================================
--- sys/dev/xen/grant_table/grant_table.c
+++ sys/dev/xen/grant_table/grant_table.c
@@ -184,6 +184,8 @@
 {
 	uint16_t flags, nflags;
 
+	KASSERT(ref != GRANT_REF_INVALID, ("Trying to free an invalid grant ref"));
+
 	nflags = shared[ref].flags;
 	do {
 		if ( (flags = nflags) & (GTF_reading|GTF_writing) ) {