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=-23.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,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 E5AC4C4361B for ; Tue, 15 Dec 2020 16:45:25 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 78EBB22571 for ; Tue, 15 Dec 2020 16:45:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 78EBB22571 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 B03B06B005D; Tue, 15 Dec 2020 11:45:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AB42E6B006C; Tue, 15 Dec 2020 11:45:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9538E6B006E; Tue, 15 Dec 2020 11:45:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0173.hostedemail.com [216.40.44.173]) by kanga.kvack.org (Postfix) with ESMTP id 7CAFE6B005D for ; Tue, 15 Dec 2020 11:45:24 -0500 (EST) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 171983636 for ; Tue, 15 Dec 2020 16:45:24 +0000 (UTC) X-FDA: 77596092168.05.rifle94_5e0b37927425 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin05.hostedemail.com (Postfix) with ESMTP id F1AF2180339A0 for ; Tue, 15 Dec 2020 16:45:23 +0000 (UTC) X-HE-Tag: rifle94_5e0b37927425 X-Filterd-Recvd-Size: 5327 Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by imf49.hostedemail.com (Postfix) with ESMTP for ; Tue, 15 Dec 2020 16:45:23 +0000 (UTC) Received: by mail-qk1-f193.google.com with SMTP id 19so19730716qkm.8 for ; Tue, 15 Dec 2020 08:45:23 -0800 (PST) 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:content-transfer-encoding; bh=N/q+ByUcpVov4gCppPe+7tP1OnQHYaIilZ9yllaV98k=; b=dgzyAjUigVEX1+1Os5QxYLm2CxmBx7+42ov+UxQXvJzcGSWpSq/mEwxW9ux4QDbU/c gmifYgxBI4jBdKbEfVPtwwIqsoXFzXuxzBmzAK5eKsMC8Fm2WvH9jCFJI8VFepn98kaU se4MaOpSRaaDLNG4mOm+d9bMy8z3YUeQkXD8rLo/tkZerx4gEx4cU64VJAULuHerbFpt wZzIf8lFewyre82nm+WbokkW43Pd/ueobwfZwe3X6l3+wogEnDLiNzJhx+QbUIjxrGOA 2lK+LGSdrgyCxgRCYcNJ2Pm0nTxVwYFUPiU9h7YlvKu3vtcP0cPCI2ewvcsAw1uSYYJi OfhQ== 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:content-transfer-encoding; bh=N/q+ByUcpVov4gCppPe+7tP1OnQHYaIilZ9yllaV98k=; b=s3QsSuP19cNcS9lnHvrFX/R9/t3yLunzTiiz6nQ928mO+y+n05y6IqwpyYhVZFocdC ljT+ui8AwbfC2U2ePGpLVEilQbacuTzE77eGFn9c+JJVwCoLcu6spYWAfqx8Jahnx6Tt voV150KWVgwhmHbiDaJU/+jc9Bs+MC8OKCh+EQoAUix2IS7AFVfW9dDcNFNfgKxxpE6n 9YAG6I0APQdkIz7z7YxKiqhApIN6LEKSE2kGoa7Xz5AbS4svCFeE9i3I12bcivbeodge PdAiXoRCxDHiGcXbciXgB55DL+SXuIhcg0jH9v3vbaKFxIyKSZHglvhDYftIrVQZ6aHR LVhA== X-Gm-Message-State: AOAM533Xyt82e3EA2RZ5Ok654fDedpj0PT7dPFAh4R8VGly11/vxz2Jn RyEv5MnZgqb6slnqPwligCgFu8lZIOa8Lb1FSR1DZg== X-Google-Smtp-Source: ABdhPJzqESqE2xoMuOLoLSRp00Z4C58v1gPdcHBdTT8gsiqUgWS5T5paTQQxTMmiii0rbNJqiGwYyRpivP5AsCz+bsI= X-Received: by 2002:a37:7981:: with SMTP id u123mr41564207qkc.392.1608050722470; Tue, 15 Dec 2020 08:45:22 -0800 (PST) MIME-Version: 1.0 References: <20201214190237.a17b70ae14f129e2dca3d204@linux-foundation.org> <20201215030433.7QkafHjX1%akpm@linux-foundation.org> In-Reply-To: <20201215030433.7QkafHjX1%akpm@linux-foundation.org> From: Alexander Potapenko Date: Tue, 15 Dec 2020 17:45:10 +0100 Message-ID: Subject: Re: [patch 022/200] mm/slab: rerform init_on_free earlier To: Andrew Morton Cc: Alexander Popov , Christoph Lameter , Joonsoo Kim , Linux Memory Management List , mm-commits@vger.kernel.org, Pekka Enberg , David Rientjes , Linus Torvalds Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Tue, Dec 15, 2020 at 4:04 AM Andrew Morton w= rote: > > From: Alexander Popov > Subject: mm/slab: rerform init_on_free earlier Nit: s/rerform/perform > > Currently in CONFIG_SLAB init_on_free happens too late, and heap objects > go to the heap quarantine not being erased. > > Lets move init_on_free clearing before calling kasan_slab_free(). In tha= t > case heap quarantine will store erased objects, similarly to CONFIG_SLUB= =3Dy > behavior. > > Link: https://lkml.kernel.org/r/20201210183729.1261524-1-alex.popov@linux= .com > Signed-off-by: Alexander Popov > Reviewed-by: Alexander Potapenko > Acked-by: David Rientjes > Acked-by: Joonsoo Kim > Cc: Christoph Lameter > Cc: Pekka Enberg > Signed-off-by: Andrew Morton > --- > > mm/slab.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > --- a/mm/slab.c~mm-slab-perform-init_on_free-earlier > +++ a/mm/slab.c > @@ -3417,6 +3417,9 @@ free_done: > static __always_inline void __cache_free(struct kmem_cache *cachep, void= *objp, > unsigned long caller) > { > + if (unlikely(slab_want_init_on_free(cachep))) > + memset(objp, 0, cachep->object_size); > + > /* Put the object into the quarantine, don't touch it for now. */ > if (kasan_slab_free(cachep, objp, _RET_IP_)) > return; > @@ -3435,8 +3438,6 @@ void ___cache_free(struct kmem_cache *ca > struct array_cache *ac =3D cpu_cache_get(cachep); > > check_irq_off(); > - if (unlikely(slab_want_init_on_free(cachep))) > - memset(objp, 0, cachep->object_size); > kmemleak_free_recursive(objp, cachep->flags); > objp =3D cache_free_debugcheck(cachep, objp, caller); > memcg_slab_free_hook(cachep, &objp, 1); > _ --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg