From: Randy Dunlap Add more poison values to include/linux/poison.h. It's not clear to me whether some others should be added or not, so I haven't added any of these: ./include/linux/libata.h:#define ATA_TAG_POISON 0xfafbfcfdU ./arch/ppc/8260_io/fcc_enet.c:1918: memset((char *)(&(immap->im_dprambase[(mem_addr+64)])), 0x88, 32); ./drivers/usb/mon/mon_text.c:429: memset(mem, 0xe5, sizeof(struct mon_event_text)); ./drivers/char/ftape/lowlevel/ftape-ctl.c:738: memset(ft_buffer[i]->address, 0xAA, FT_BUFF_SIZE); ./drivers/block/sx8.c:/* 0xf is just arbitrary, non-zero noise; this is sorta like poisoning */ Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton --- include/linux/poison.h | 7 +++++++ kernel/mutex-debug.c | 5 +++-- security/keys/key.c | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff -puN include/linux/poison.h~poison-add-use-more-constants include/linux/poison.h --- a/include/linux/poison.h~poison-add-use-more-constants +++ a/include/linux/poison.h @@ -45,6 +45,13 @@ /********** drivers/atm/ **********/ #define ATM_POISON_FREE 0x12 +/********** kernel/mutexes **********/ +#define MUTEX_DEBUG_INIT 0x11 +#define MUTEX_DEBUG_FREE 0x22 + +/********** security/ **********/ +#define KEY_DESTROY 0xbd + /********** sound/oss/ **********/ #define OSS_POISON_FREE 0xAB diff -puN kernel/mutex-debug.c~poison-add-use-more-constants kernel/mutex-debug.c --- a/kernel/mutex-debug.c~poison-add-use-more-constants +++ a/kernel/mutex-debug.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -381,7 +382,7 @@ void debug_mutex_set_owner(struct mutex void debug_mutex_init_waiter(struct mutex_waiter *waiter) { - memset(waiter, 0x11, sizeof(*waiter)); + memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter)); waiter->magic = waiter; INIT_LIST_HEAD(&waiter->list); } @@ -397,7 +398,7 @@ void debug_mutex_wake_waiter(struct mute void debug_mutex_free_waiter(struct mutex_waiter *waiter) { DEBUG_WARN_ON(!list_empty(&waiter->list)); - memset(waiter, 0x22, sizeof(*waiter)); + memset(waiter, MUTEX_DEBUG_FREE, sizeof(*waiter)); } void debug_mutex_add_waiter(struct mutex *lock, struct mutex_waiter *waiter, diff -puN security/keys/key.c~poison-add-use-more-constants security/keys/key.c --- a/security/keys/key.c~poison-add-use-more-constants +++ a/security/keys/key.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -986,7 +987,7 @@ void unregister_key_type(struct key_type if (key->type == ktype) { if (ktype->destroy) ktype->destroy(key); - memset(&key->payload, 0xbd, sizeof(key->payload)); + memset(&key->payload, KEY_DESTROY, sizeof(key->payload)); } } _