lkml.org 
[lkml]   [2021]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.14 97/99] kasan: test: clean up ksize_uaf
    Date
    From: Andrey Konovalov <andreyknvl@gmail.com>

    [ Upstream commit b38fcca339dbcf680c9e43054502608fabc81508 ]

    Some KASAN tests use global variables to store function returns values so
    that the compiler doesn't optimize away these functions.

    ksize_uaf() doesn't call any functions, so it doesn't need to use
    kasan_int_result. Use volatile accesses instead, to be consistent with
    other similar tests.

    Link: https://lkml.kernel.org/r/a1fc34faca4650f4a6e4dfb3f8d8d82c82eb953a.1628779805.git.andreyknvl@gmail.com
    Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
    Reviewed-by: Marco Elver <elver@google.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    lib/test_kasan.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/lib/test_kasan.c b/lib/test_kasan.c
    index 65adde0757a3..564bee50cfa8 100644
    --- a/lib/test_kasan.c
    +++ b/lib/test_kasan.c
    @@ -721,8 +721,8 @@ static void ksize_uaf(struct kunit *test)
    kfree(ptr);

    KUNIT_EXPECT_KASAN_FAIL(test, ksize(ptr));
    - KUNIT_EXPECT_KASAN_FAIL(test, kasan_int_result = *ptr);
    - KUNIT_EXPECT_KASAN_FAIL(test, kasan_int_result = *(ptr + size));
    + KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)ptr)[0]);
    + KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)ptr)[size]);
    }

    static void kasan_stack_oob(struct kunit *test)
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-10 02:47    [W:4.116 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site