Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp1345382pxx; Fri, 30 Oct 2020 08:01:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAaIp2a0gtvux93yao0BfZZE7s0x0/8uAYIk3/doXameBpe0FYSUqNjV72W4r7gi0+wPEo X-Received: by 2002:aa7:c955:: with SMTP id h21mr2857139edt.315.1604070071839; Fri, 30 Oct 2020 08:01:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604070071; cv=none; d=google.com; s=arc-20160816; b=JPH4R7CTVy9j/iwrTVpWV3S0uC+NfbMDGvln2+BSeCH9YmPV7czW9pDIt2R4VmA2Y0 cG3JsUu+dvBAHrFUqBRxy6bl6MkC1mHreddKxfDaqkXKkfS1xRtmaNdVxGgvylWDgauU 3aKEwMJ7J7eTQDgM4dKL2wHy7G3lUohMiIS6y7QcF9b55O3ExTeHNvQgSzzBjC93aKqR 9XVv/5FUK+dXw0j6rRw3fqHiTMQ5dsIWoS84v/wI4HS3HkTUoeJ37LofMvTKW67cYmWW 1/UewdbOEDEC9zfqi/f2MvCwtRiwLq8TFMBT+Vdl/oDSumBQ281d12GU8qrsv/ZW7gO4 WugA== 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=/l7OXXa9UuvkPT+n4O4t3Y5d8yYC198Ym1kgNFK1uSc=; b=qGp8YNbbUVPyym0w5VFLy7df1GgJYK3PLdQTZ95PVj5HKEiBq3fhKg2iQ3st+ebDBj ujPzuCzxRNjFGOkDVtJ/gDZ3xjPqaOapMMKVk0hT5YsuloqxnaBptzOYm11/8gb9qOI+ eQQBZn6e3UqnyP2HN2ZCmpFguj0TuwMbF46xLakZGwo13KCymf5uT0oY5IAh+WAfI1xS StO2e3stCmxE4fUI0WVP9FwFgkSg3n5ise18b6Gr6EN8u8DMtmEMpo42+CYTmklAHtMR Wezpg6B9mkCyGYDEt+ARLg1CTSsRZw88pKVfwex6Lwumpgj8wJcE8kKghyB/8Posu5NU 10Cw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ZFm0kFcr; 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 l63si5561259ede.607.2020.10.30.08.00.47; Fri, 30 Oct 2020 08:01:11 -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=ZFm0kFcr; 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 S1726826AbgJ3O4F (ORCPT + 99 others); Fri, 30 Oct 2020 10:56:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726178AbgJ3O4E (ORCPT ); Fri, 30 Oct 2020 10:56:04 -0400 Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB393C0613CF for ; Fri, 30 Oct 2020 07:45:38 -0700 (PDT) Received: by mail-ot1-x342.google.com with SMTP id i18so1035308ots.0 for ; Fri, 30 Oct 2020 07:45:38 -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=/l7OXXa9UuvkPT+n4O4t3Y5d8yYC198Ym1kgNFK1uSc=; b=ZFm0kFcro+V05IMdtsrtx/vo9o8fF+HtuBLxfxPZS6T904N++atZAPBiHQmeaSmSdh Jdaqu/oB4bN4JqHAhWjey+0PJhXGaS5ER6ZRf+3w6fn3UW6ymuFqnKjiblQUPu9TEdwi BOfNy2FAuKBkFObkVK5x3oL2D9BTCsoUz80Qtq/Bb4ZS00ogo5uGkIBMX5w/gVgXPURQ DlJ4PyqwVXVLZLubA045vnqlNPp8xUpt6jzc38HUKFHw+f9vQq59yyJOiQ8+TtoBgGhA rv0aJzyf+2zyBHjNx2haGi5H3e2E3CIhNudK7Yoa4dA491JK61IpshPU3ILNGZtxUm+G kSwQ== 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=/l7OXXa9UuvkPT+n4O4t3Y5d8yYC198Ym1kgNFK1uSc=; b=KDBRNbtabv/JpAHUVrigG8eOdJ64n2ygv+kuDnl5gLI2gNRmf9NwoPbNQluz5JUYm0 nWHhMmlIw6oyetHpgNJ3Mu/1gYd5Us1MH/sdnUSw4gVZmt10keUpI4DkafLM/a1NYK/H C9hl4ToS1qSs4aGiGHVz9F1GFXUeTEIH1XVmeFJuAsnMZjuORlNu3JLZBWCEYYZ3cOfL H4M6qUBBLZif/a00kWA841oT57mtjK4BeDp06Q9HeJs0YK+QUZUTNM7hIDDtofXncbFZ q4goJrPmn2fNps4NzvAv5aGak51nWfRoMdvgkDT6slNw/iP8Bv+wN+CrKh5540X/b2eL +h7w== X-Gm-Message-State: AOAM533wNN2q88NTcUm/s83cOoEnSU7Xs+WxxVeLVX03tbv9dt1qMff7 rtqn1vG3efLSxWvs68cCvNmFRQMFrUGiilavbBnN1Q== X-Received: by 2002:a9d:649:: with SMTP id 67mr1983160otn.233.1604069137790; Fri, 30 Oct 2020 07:45:37 -0700 (PDT) MIME-Version: 1.0 References: <6a4a7626bf280871518656f4fa89cb064740baf7.1603372719.git.andreyknvl@google.com> In-Reply-To: <6a4a7626bf280871518656f4fa89cb064740baf7.1603372719.git.andreyknvl@google.com> From: Marco Elver Date: Fri, 30 Oct 2020 15:45:26 +0100 Message-ID: Subject: Re: [PATCH RFC v2 14/21] kasan: add and integrate kasan boot parameters To: Andrey Konovalov 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 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. Thanks, -- Marco