Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp1547286pxx; Fri, 30 Oct 2020 12:35:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoKDX13P3/qyfT0UGtz8auedzNo0NLGnuSZyAqYMyYCIECtzqj1uPwSh6XSvA4fgLAWgme X-Received: by 2002:a50:e881:: with SMTP id f1mr4188070edn.58.1604086552297; Fri, 30 Oct 2020 12:35:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604086552; cv=none; d=google.com; s=arc-20160816; b=u1NPUShovvcy4RWOYNrq30GjbDfewsSF1p0Aply0FQyONzHBz/TrGo0vUe5THDmrV4 HZfSNgST/GxEMIIxidOSPSHD0w4LcxKHhOubWrQmdVNxA/WyLWSnCvRd8ObTHQ102AJ9 K6aesH7ZDOpBoRVxiEcfXbIpt7YsdePr8MnP6fbkAzYzrfExAgrBjfbB+qlFqpTFd/hC fl45qDfUjnypSSTBSbPLlcz+qN9LRwwX9YHiLIrDuY3+xbMcIhUa/N+842SEEYxE2qmG rowh8r8zR4erGnC+VLFTn1h3eoxVKqnueDp1JEVyUCxLlQjaXpYFCyB/nVZ3xVddpr+e JjHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=1Ew5qTvePmElYR26zs05QLzhONyFgn22aBK2jtdC+Ac=; b=PvSuil3Fb2WB2W+Hu+96BoVIxaHErfgDWJ43M0FCEKOonzvHn0NJsl2rqnHh9Xzyk2 y5+CtEPdptdWNfDNFowUm3rN2vig0btDx985dkOVTDyZyt7GJL0VuUcEwx4QsVP4NulM VtbYBo5MjGJ9CFivzFNWLV10VoGK5J6/7ak4QqdUY9w//DV0rgQaBqurqAZJhVZnFc37 1wqVX4jstUPypLWbT4Xuflcg7y9Brp4I7WrSWSahkZQvFi6JrYrE+OdnM+6XnsbIQn0q OP93m91fxCoT1tLeGYjk+3Z3JQOS6xnIjeZPAiRvFJbFjfPfFnOeNk12HAMsF85Gy+Hg f4Ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kbvQq2bu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z20si5387588edq.433.2020.10.30.12.35.27; Fri, 30 Oct 2020 12:35:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kbvQq2bu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727450AbgJ3Tbj (ORCPT + 99 others); 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-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!