kref debugging cannot detect kref_put() with unreferenced object,
when the structure including kref is allocated by slab
and slab debugging config is enabled.
Because use-after-free poisoning make kref counter signed value.
So this patch prevents it by changing poisoning pattern.
Signed-off-by: Akinobu Mita <[email protected]>
CC: Matt Mackall <[email protected]>
CC: Manfred Spraul <[email protected]>
CC: Pekka J Enberg <[email protected]>
mm/slab.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
Index: 2.6-git/mm/slab.c
===================================================================
--- 2.6-git.orig/mm/slab.c
+++ 2.6-git/mm/slab.c
@@ -503,9 +503,9 @@ struct kmem_cache {
#define RED_ACTIVE 0x170FC2A5UL /* when obj is active */
/* ...and for poisoning */
-#define POISON_INUSE 0x5a /* for use-uninitialised poisoning */
-#define POISON_FREE 0x6b /* for use-after-free poisoning */
-#define POISON_END 0xa5 /* end-byte of poisoning */
+#define POISON_INUSE 0xa5 /* for use-uninitialised poisoning */
+#define POISON_FREE 0xb6 /* for use-after-free poisoning */
+#define POISON_END 0xab /* end-byte of poisoning */
/*
* memory layout of objects:
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]