From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 112EEC4741F for ; Fri, 30 Oct 2020 19:32:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 99A43206E3 for ; Fri, 30 Oct 2020 19:31:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="kbvQq2bu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727468AbgJ3Tbj (ORCPT ); Fri, 30 Oct 2020 15:31:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727449AbgJ3Taq (ORCPT ); Fri, 30 Oct 2020 15:30:46 -0400 Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED742C0613CF for ; Fri, 30 Oct 2020 12:30:45 -0700 (PDT) Received: by mail-pl1-x643.google.com with SMTP id b19so3459457pld.0 for ; Fri, 30 Oct 2020 12:30:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1Ew5qTvePmElYR26zs05QLzhONyFgn22aBK2jtdC+Ac=; b=kbvQq2bu4lw8s6ZlFZdrp42b5iCLDnYqyjw8qJA/JQyJJ521njP+/8Ls8NTNsroKjQ PMqbL/6EhyzxsIpMlm9DJmY27VxQ52ZsWNzkWfyCGbfetLkX8RsA6E7nk6IBEiN5gVkY 6fqcTzlieo0MeLs1XsFSYzJIse4kCCkfItMBiEyT+KPXl+ZrtuSS3S9FbrJv6wrOM+pL L5aqICtTTWjrDc/gCkcnfGGqNAV7IynuGOE1EFpc2Mxn91OPc+KwDN9WuiHKnm8rgnF/ NUWExEa5sFsa8CxN/nddSCRVjXXzbnN8LCVBjqknbWNRTxLLronXVDJ/xOfkOYXEMmbS tlDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1Ew5qTvePmElYR26zs05QLzhONyFgn22aBK2jtdC+Ac=; b=mGAwUWBRZTqZcdGxLQBgHAmz8+Ng9cMBrb5pBshw0zcOzO3RlpsGGToXoOQakPLCIM YiwOTyWmOvuQVtwi3Lf4jWAr2mQKEEMiWTj7L5+VoGet+xWjavvV5iFSpVLrS7iVaC4s f8EAXRwyJCNUNgrCtEZSYOFBvJ20WTM2ezwOitEmkEMdtWVjQe0FvVj+oh8jawazdcwp 0Mhtv9e3u4ftf9IjR8JKa/MtBOoKddUV/LIBiOBgNlu9Fo9ovXfzL1BGAgv/rGP9ob6C t4CLmhIPUrbETGiaNWiDOLR/gn5/xPGd0WPF/6dEyGm68GRbmAXBEtxkGcuhhtJoCEHa 7Avg== X-Gm-Message-State: AOAM532owHfDp42YIBzT3FTMF+lNsj2T4k0bwx8kkhfpYFTgMD1HUbt8 7H9XjEp7eb6wuD0sVHl+fKlc+MybrWKAFhd2y5DLyg== X-Google-Smtp-Source: ABdhPJw+AJ9vY9gCO1eZzAXCPNNcS/g4EjgQgOXwojCYqyfhGmkG0nG75HKuZqLSl01Dywu1dkdnz3mEThwKk/no5Jg= X-Received: by 2002:a17:902:9681:b029:d5:cdbd:c38c with SMTP id n1-20020a1709029681b02900d5cdbdc38cmr9755114plp.85.1604086245375; Fri, 30 Oct 2020 12:30:45 -0700 (PDT) MIME-Version: 1.0 References: <6a4a7626bf280871518656f4fa89cb064740baf7.1603372719.git.andreyknvl@google.com> In-Reply-To: From: Andrey Konovalov Date: Fri, 30 Oct 2020 20:30:34 +0100 Message-ID: Subject: Re: [PATCH RFC v2 14/21] kasan: add and integrate kasan boot parameters To: Marco Elver Cc: Catalin Marinas , Will Deacon , Vincenzo Frascino , Dmitry Vyukov , Alexander Potapenko , Evgenii Stepanov , Kostya Serebryany , Peter Collingbourne , Serban Constantinescu , Andrey Ryabinin , Elena Petrova , Branislav Rankov , Kevin Brodsky , Andrew Morton , kasan-dev , Linux ARM , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 30, 2020 at 3:45 PM Marco Elver wrote: > > On Thu, 22 Oct 2020 at 15:19, Andrey Konovalov wrote: > > > > TODO: no meaningful description here yet, please see the cover letter > > for this RFC series. > > > > Signed-off-by: Andrey Konovalov > > Link: https://linux-review.googlesource.com/id/If7d37003875b2ed3e0935702c8015c223d6416a4 > > --- > > mm/kasan/common.c | 92 +++++++++++++----------- > > mm/kasan/generic.c | 5 ++ > > mm/kasan/hw_tags.c | 169 ++++++++++++++++++++++++++++++++++++++++++++- > > mm/kasan/kasan.h | 9 +++ > > mm/kasan/report.c | 14 +++- > > mm/kasan/sw_tags.c | 5 ++ > > 6 files changed, 250 insertions(+), 44 deletions(-) > > > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > > index 1a5e6c279a72..cc129ef62ab1 100644 > > --- a/mm/kasan/common.c > > +++ b/mm/kasan/common.c > > @@ -129,35 +129,37 @@ void kasan_cache_create(struct kmem_cache *cache, unsigned int *size, > > unsigned int redzone_size; > > int redzone_adjust; > > > > - /* Add alloc meta. */ > > - cache->kasan_info.alloc_meta_offset = *size; > > - *size += sizeof(struct kasan_alloc_meta); > > - > > - /* Add free meta. */ > > - if (IS_ENABLED(CONFIG_KASAN_GENERIC) && > > - (cache->flags & SLAB_TYPESAFE_BY_RCU || cache->ctor || > > - cache->object_size < sizeof(struct kasan_free_meta))) { > > - cache->kasan_info.free_meta_offset = *size; > > - *size += sizeof(struct kasan_free_meta); > > - } > > - > > - redzone_size = optimal_redzone(cache->object_size); > > - redzone_adjust = redzone_size - (*size - cache->object_size); > > - if (redzone_adjust > 0) > > - *size += redzone_adjust; > > - > > - *size = min_t(unsigned int, KMALLOC_MAX_SIZE, > > - max(*size, cache->object_size + redzone_size)); > > + if (static_branch_unlikely(&kasan_stack)) { > > I just looked at this file in your Github repo, and noticed that this > could just be > > if (!static_branch_unlikely(&kasan_stack)) > return; > > since the if-block ends at the function. That might hopefully make the > diff a bit smaller. Will do, thanks!