lkdtm: Add READ_AFTER_FREE test
authorLaura Abbott <labbott@fedoraproject.org>
Fri, 26 Feb 2016 00:36:42 +0000 (16:36 -0800)
committerKees Cook <keescook@chromium.org>
Tue, 1 Mar 2016 22:29:13 +0000 (14:29 -0800)
commitbc0b8cc6cb26a209fa1679d5c063b47bc0afe964
tree6edbd0fa562a4505d21906d1db3feae7fea16841
parentea861d73a9aa97a5e0c7cef6a26ce01786e0c58d
lkdtm: Add READ_AFTER_FREE test

In a similar manner to WRITE_AFTER_FREE, add a READ_AFTER_FREE
test to test free poisoning features. Sample output when
no sanitization is present:

 # echo READ_AFTER_FREE > /sys/kernel/debug/provoke-crash/DIRECT
[   17.542473] lkdtm: Performing direct entry READ_AFTER_FREE
[   17.543866] lkdtm: Value in memory before free: 12345678
[   17.545212] lkdtm: Attempting bad read from freed memory
[   17.546542] lkdtm: Memory was not poisoned

with slub_debug=P:

 # echo READ_AFTER_FREE > /sys/kernel/debug/provoke-crash/DIRECT
[   22.415531] lkdtm: Performing direct entry READ_AFTER_FREE
[   22.416366] lkdtm: Value in memory before free: 12345678
[   22.417137] lkdtm: Attempting bad read from freed memory
[   22.417897] lkdtm: Memory correctly poisoned, calling BUG

Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
drivers/misc/lkdtm.c