diff options
Diffstat (limited to 'drivers/misc/lkdtm_heap.c')
-rw-r--r-- | drivers/misc/lkdtm_heap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/misc/lkdtm_heap.c b/drivers/misc/lkdtm_heap.c index f5494a6d4be5..65026d7de130 100644 --- a/drivers/misc/lkdtm_heap.c +++ b/drivers/misc/lkdtm_heap.c | |||
@@ -16,6 +16,8 @@ void lkdtm_OVERWRITE_ALLOCATION(void) | |||
16 | { | 16 | { |
17 | size_t len = 1020; | 17 | size_t len = 1020; |
18 | u32 *data = kmalloc(len, GFP_KERNEL); | 18 | u32 *data = kmalloc(len, GFP_KERNEL); |
19 | if (!data) | ||
20 | return; | ||
19 | 21 | ||
20 | data[1024 / sizeof(u32)] = 0x12345678; | 22 | data[1024 / sizeof(u32)] = 0x12345678; |
21 | kfree(data); | 23 | kfree(data); |
@@ -33,6 +35,8 @@ void lkdtm_WRITE_AFTER_FREE(void) | |||
33 | size_t offset = (len / sizeof(*base)) / 2; | 35 | size_t offset = (len / sizeof(*base)) / 2; |
34 | 36 | ||
35 | base = kmalloc(len, GFP_KERNEL); | 37 | base = kmalloc(len, GFP_KERNEL); |
38 | if (!base) | ||
39 | return; | ||
36 | pr_info("Allocated memory %p-%p\n", base, &base[offset * 2]); | 40 | pr_info("Allocated memory %p-%p\n", base, &base[offset * 2]); |
37 | pr_info("Attempting bad write to freed memory at %p\n", | 41 | pr_info("Attempting bad write to freed memory at %p\n", |
38 | &base[offset]); | 42 | &base[offset]); |