lkml.org 
[lkml]   [2019]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v10 2/5] kasan: add test for vmalloc
    Date
    Test kasan vmalloc support by adding a new test to the module.

    Signed-off-by: Daniel Axtens <dja@axtens.net>

    --

    v5: split out per Christophe Leroy
    ---
    lib/test_kasan.c | 26 ++++++++++++++++++++++++++
    1 file changed, 26 insertions(+)

    diff --git a/lib/test_kasan.c b/lib/test_kasan.c
    index 49cc4d570a40..328d33beae36 100644
    --- a/lib/test_kasan.c
    +++ b/lib/test_kasan.c
    @@ -19,6 +19,7 @@
    #include <linux/string.h>
    #include <linux/uaccess.h>
    #include <linux/io.h>
    +#include <linux/vmalloc.h>

    #include <asm/page.h>

    @@ -748,6 +749,30 @@ static noinline void __init kmalloc_double_kzfree(void)
    kzfree(ptr);
    }

    +#ifdef CONFIG_KASAN_VMALLOC
    +static noinline void __init vmalloc_oob(void)
    +{
    + void *area;
    +
    + pr_info("vmalloc out-of-bounds\n");
    +
    + /*
    + * We have to be careful not to hit the guard page.
    + * The MMU will catch that and crash us.
    + */
    + area = vmalloc(3000);
    + if (!area) {
    + pr_err("Allocation failed\n");
    + return;
    + }
    +
    + ((volatile char *)area)[3100];
    + vfree(area);
    +}
    +#else
    +static void __init vmalloc_oob(void) {}
    +#endif
    +
    static int __init kmalloc_tests_init(void)
    {
    /*
    @@ -793,6 +818,7 @@ static int __init kmalloc_tests_init(void)
    kasan_strings();
    kasan_bitops();
    kmalloc_double_kzfree();
    + vmalloc_oob();

    kasan_restore_multi_shot(multishot);

    --
    2.20.1
    \
     
     \ /
      Last update: 2019-10-29 05:22    [W:4.933 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site