Sfoglia il codice sorgente

slub: Add check for kfree() of non slab objects.

We can detect kfree()s on non slab objects by checking for PageCompound().
Works in the same way as for ksize. This helped me catch an invalid
kfree().

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Christoph Lameter 17 anni fa
parent
commit
0937502af7
1 ha cambiato i file con 1 aggiunte e 0 eliminazioni
  1. 1 0
      mm/slub.c

+ 1 - 0
mm/slub.c

@@ -2766,6 +2766,7 @@ void kfree(const void *x)
 
 	page = virt_to_head_page(x);
 	if (unlikely(!PageSlab(page))) {
+		BUG_ON(!PageCompound(page));
 		put_page(page);
 		return;
 	}