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=ham 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 6DBEEC388F7 for ; Wed, 28 Oct 2020 17:02:53 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B8CAD2245A for ; Wed, 28 Oct 2020 17:02:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="IC28rilz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B8CAD2245A Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id EB89D6B006E; Wed, 28 Oct 2020 13:02:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E67B96B0070; Wed, 28 Oct 2020 13:02:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D58746B0071; Wed, 28 Oct 2020 13:02:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0156.hostedemail.com [216.40.44.156]) by kanga.kvack.org (Postfix) with ESMTP id 9F94F6B006E for ; Wed, 28 Oct 2020 13:02:51 -0400 (EDT) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 38A47180AD815 for ; Wed, 28 Oct 2020 17:02:51 +0000 (UTC) X-FDA: 77421953742.25.stamp97_4405d6227286 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin25.hostedemail.com (Postfix) with ESMTP id 7BBDC1804E3AD for ; Wed, 28 Oct 2020 17:02:02 +0000 (UTC) X-HE-Tag: stamp97_4405d6227286 X-Filterd-Recvd-Size: 5854 Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) by imf27.hostedemail.com (Postfix) with ESMTP for ; Wed, 28 Oct 2020 17:02:01 +0000 (UTC) Received: by mail-qt1-f195.google.com with SMTP id m65so22762qte.11 for ; Wed, 28 Oct 2020 10:02:01 -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=k0QqM9Gt2pl6jLDvRzSessXwooNr3cWtYYZ1FieYU24=; b=IC28rilzqqsrEp1766X9/HXON3cweBNlB89913+HjG9ZI1Id6nQ7uhycq425wCCdlg ysIXl7n9+f4UqjZF5znoYD9XGgLQYr433ZC/zeTp7BXIuT0jMfaUeuc/1IVcaxpNFjSU yySCTVnWzHAXGR4crpxrWQ8Q/FgbsoKip1A5N7QhQ4nOPSk6CbbmVfDh0iI968pnpWkl efA4Rsf5fHfcTWKUCJzLKNK4G2GFARZ5nTxMw7JwNEXrJUTJsMArGQ3krDp1KDNuHuGF xdt/2VWtxETmcaOSjRWLZeQboSx/s6yvFs/5IXFL1mO9gvfDvXgwxmhl9rn6LO2oCcDq 2dLQ== 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=k0QqM9Gt2pl6jLDvRzSessXwooNr3cWtYYZ1FieYU24=; b=nV7Qn8gq3BzjYWlQWCwiZ03va4HQnJmJXSX6bNT0vUiaFHfrHju5Q/ol7E3r6lNhZO +yDX8AL/H41Xf+IQKsPANyL2WHC9JCD1cp6uS4rQxOjWRLvrEkkeiYwKaJ1NSbADrxgp 916ew8z2d6q5G5GMuv7TP72BhjcSHNMsqgrWGgedQ8/HWHYTw9Rc22MPM7yytc3urjSD pU17rFVdrIKKOC+1PNEN2zohZvO8Aj9vNPOq1t+ialrT/54+3V3YkBYuq0MOaLNqJRle ikiSEj52Th7iKIYqXT4o1TU86PFY5SisoQLO5w4ExT1+K1EObTp/HgIuqP59Hni+sof0 thQw== X-Gm-Message-State: AOAM5319DDwSoTnW7a2CPyzecwMj7uXLnyFS0nkjMD6ArGglSp9sRMgJ IpIuXpZDW17XQZTFJZMSJ7pDLzBoBROkhj1GJYh9bw== X-Google-Smtp-Source: ABdhPJwW3VpC/kud5eUeUVpQz0YtVDpP6Sm44lKpXCyhNU7lezh+1Hk8awqCP/oXPLSEogdEFn3mYe6sB/MLIR84L6g= X-Received: by 2002:ac8:46d5:: with SMTP id h21mr2208954qto.290.1603904520912; Wed, 28 Oct 2020 10:02:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dmitry Vyukov Date: Wed, 28 Oct 2020 18:01:49 +0100 Message-ID: Subject: Re: [PATCH RFC v2 19/21] kasan: don't round_up too much To: Andrey Konovalov Cc: Catalin Marinas , Will Deacon , Vincenzo Frascino , Alexander Potapenko , Marco Elver , Evgenii Stepanov , Kostya Serebryany , Peter Collingbourne , Serban Constantinescu , Andrey Ryabinin , Elena Petrova , Branislav Rankov , Kevin Brodsky , Andrew Morton , kasan-dev , Linux ARM , Linux-MM , LKML Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Oct 22, 2020 at 3:20 PM Andrey Konovalov wrote: > > For tag-based mode kasan_poison_memory() already rounds up the size. Do > the same for software modes and remove round_up() from common code. > > Signed-off-by: Andrey Konovalov > Link: https://linux-review.googlesource.com/id/Ib397128fac6eba874008662b4964d65352db4aa4 Reviewed-by: Dmitry Vyukov > --- > mm/kasan/common.c | 8 ++------ > mm/kasan/shadow.c | 1 + > 2 files changed, 3 insertions(+), 6 deletions(-) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index 5622b0ec0907..983383ebe32a 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -215,9 +215,7 @@ void __kasan_unpoison_object_data(struct kmem_cache *cache, void *object) > > void __kasan_poison_object_data(struct kmem_cache *cache, void *object) > { > - kasan_poison_memory(object, > - round_up(cache->object_size, KASAN_GRANULE_SIZE), > - KASAN_KMALLOC_REDZONE); > + kasan_poison_memory(object, cache->object_size, KASAN_KMALLOC_REDZONE); > } > > /* > @@ -290,7 +288,6 @@ static bool ____kasan_slab_free(struct kmem_cache *cache, void *object, > { > u8 tag; > void *tagged_object; > - unsigned long rounded_up_size; > > tag = get_tag(object); > tagged_object = object; > @@ -311,8 +308,7 @@ static bool ____kasan_slab_free(struct kmem_cache *cache, void *object, > return true; > } > > - rounded_up_size = round_up(cache->object_size, KASAN_GRANULE_SIZE); > - kasan_poison_memory(object, rounded_up_size, KASAN_KMALLOC_FREE); > + kasan_poison_memory(object, cache->object_size, KASAN_KMALLOC_FREE); > > if (static_branch_unlikely(&kasan_stack)) { > if ((IS_ENABLED(CONFIG_KASAN_GENERIC) && !quarantine) || > diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c > index 616ac64c4a21..ab1d39c566b9 100644 > --- a/mm/kasan/shadow.c > +++ b/mm/kasan/shadow.c > @@ -82,6 +82,7 @@ void kasan_poison_memory(const void *address, size_t size, u8 value) > * addresses to this function. > */ > address = reset_tag(address); > + size = round_up(size, KASAN_GRANULE_SIZE); > > shadow_start = kasan_mem_to_shadow(address); > shadow_end = kasan_mem_to_shadow(address + size); > -- > 2.29.0.rc1.297.gfa9743e501-goog >