xen/grant-table: never put a reserved grant on the free list
[linux-2.6-microblaze.git] / drivers / xen / grant-table.c
index 6ea31ea..1a1aec0 100644 (file)
@@ -207,6 +207,10 @@ static inline void check_free_callbacks(void)
 static void put_free_entry(grant_ref_t ref)
 {
        unsigned long flags;
+
+       if (unlikely(ref < GNTTAB_NR_RESERVED_ENTRIES))
+               return;
+
        spin_lock_irqsave(&gnttab_list_lock, flags);
        gnttab_entry(ref) = gnttab_free_head;
        gnttab_free_head = ref;