lkml.org 
[lkml]   [2020]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 13/20] kasan: simplify kasan_poison_kfree
    On Tue, Nov 10, 2020 at 11:20PM +0100, Andrey Konovalov wrote:
    > kasan_poison_kfree() is currently only called for mempool allocations
    > that are backed by either kmem_cache_alloc() or kmalloc(). Therefore, the
    > page passed to kasan_poison_kfree() is always PageSlab() and there's no
    > need to do the check. Remove it.
    >
    > Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
    > Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
    > Link: https://linux-review.googlesource.com/id/If31f88726745da8744c6bea96fb32584e6c2778c
    > ---
    > mm/kasan/common.c | 11 +----------
    > 1 file changed, 1 insertion(+), 10 deletions(-)

    Reviewed-by: Marco Elver <elver@google.com>

    > diff --git a/mm/kasan/common.c b/mm/kasan/common.c
    > index 385863eaec2c..819403548f2e 100644
    > --- a/mm/kasan/common.c
    > +++ b/mm/kasan/common.c
    > @@ -432,16 +432,7 @@ void __kasan_poison_kfree(void *ptr, unsigned long ip)
    > struct page *page;
    >
    > page = virt_to_head_page(ptr);
    > -
    > - if (unlikely(!PageSlab(page))) {
    > - if (ptr != page_address(page)) {
    > - kasan_report_invalid_free(ptr, ip);
    > - return;
    > - }
    > - kasan_poison_memory(ptr, page_size(page), KASAN_FREE_PAGE);
    > - } else {
    > - ____kasan_slab_free(page->slab_cache, ptr, ip, false);
    > - }
    > + ____kasan_slab_free(page->slab_cache, ptr, ip, false);
    > }
    >
    > void __kasan_kfree_large(void *ptr, unsigned long ip)
    > --
    > 2.29.2.222.g5d2a92d10f8-goog
    >

    \
     
     \ /
      Last update: 2020-11-11 19:44    [W:2.532 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site