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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY 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 D7D09C47087 for ; Wed, 26 May 2021 02:38:32 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 546CD61420 for ; Wed, 26 May 2021 02:38:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 546CD61420 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=perches.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BB6736B0036; Tue, 25 May 2021 22:38:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B66D66B006E; Tue, 25 May 2021 22:38:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A54F06B0070; Tue, 25 May 2021 22:38:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0029.hostedemail.com [216.40.44.29]) by kanga.kvack.org (Postfix) with ESMTP id 71E906B0036 for ; Tue, 25 May 2021 22:38:31 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 1337B180AD830 for ; Wed, 26 May 2021 02:38:31 +0000 (UTC) X-FDA: 78181823622.10.6BBA3E0 Received: from smtprelay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by imf14.hostedemail.com (Postfix) with ESMTP id A9092C0007C0 for ; Wed, 26 May 2021 02:38:23 +0000 (UTC) Received: from omf09.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay02.hostedemail.com (Postfix) with ESMTP id 8A5E6A2D0; Wed, 26 May 2021 02:38:30 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: joe@perches.com) by omf09.hostedemail.com (Postfix) with ESMTPA id F39FD1E04D5; Wed, 26 May 2021 02:38:28 +0000 (UTC) Message-ID: Subject: Re: [PATCH 3/3] slub: Actually use 'message' in restore_bytes() From: Joe Perches To: Stephen Boyd , David Rientjes Cc: Andrew Morton , linux-kernel@vger.kernel.org, Christoph Lameter , Pekka Enberg , Joonsoo Kim , Vlastimil Babka , linux-mm@kvack.org Date: Tue, 25 May 2021 19:38:27 -0700 In-Reply-To: References: <20210520013539.3733631-1-swboyd@chromium.org> <20210520013539.3733631-4-swboyd@chromium.org> <858b8d14673a200c3c2162fb7a9bf891ecd2a2d9.camel@perches.com> Content-Type: text/plain; charset="ISO-8859-1" User-Agent: Evolution 3.38.1-1 MIME-Version: 1.0 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Session-ID: U2FsdGVkX19tJgMR7ep1kGpvtE7bmjdOvSYV0/RJpvI= X-HE-Tag: 1621996708-919670 Authentication-Results: imf14.hostedemail.com; dkim=none; dmarc=none; spf=none (imf14.hostedemail.com: domain of joe@perches.com has no SPF policy when checking 216.40.44.15) smtp.mailfrom=joe@perches.com X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: A9092C0007C0 X-Stat-Signature: ud8euxrp61bpyb6fjrjptojcmft7sijx X-HE-Tag: 1621996703-993981 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, 2021-05-25 at 22:32 -0400, Stephen Boyd wrote: > Quoting Joe Perches (2021-05-25 00:37:45) > > On Sun, 2021-05-23 at 22:12 -0700, David Rientjes wrote: > > > On Wed, 19 May 2021, Stephen Boyd wrote: > > >=20 > > > > The message argument isn't used here. Let's pass the string to th= e > > > > printk message so that the developer can figure out what's happen= ing, > > > > instead of guessing that a redzone is being restored, etc. > > > >=20 > > > > Signed-off-by: Stephen Boyd > > >=20 > > > Acked-by: David Rientjes > >=20 > > Ideally, the slab_fix function would be marked with __printf and the > > format here would not use \n as that's emitted by the slab_fix. >=20 > Thanks. I can make this into a proper patch and author it from you. Can > you provide a signed-off-by? The restore_bytes() hunk is slightly > different but I can fix that up. If you want... Signed-off-by: Joe Perches >=20 > > --- > > =A0mm/slub.c | 8 +++++--- > > =A01 file changed, 5 insertions(+), 3 deletions(-) > >=20 > > diff --git a/mm/slub.c b/mm/slub.c > > index ee51857d8e9bc..46f9b043089b6 100644 > > --- a/mm/slub.c > > +++ b/mm/slub.c > > @@ -702,6 +702,7 @@ static void slab_bug(struct kmem_cache *s, char *= fmt, ...) > > =A0=A0=A0=A0=A0=A0=A0=A0va_end(args); > > =A0} > >=20 > > +__printf(2, 3) > > =A0static void slab_fix(struct kmem_cache *s, char *fmt, ...) > > =A0{ > > =A0=A0=A0=A0=A0=A0=A0=A0struct va_format vaf; > > @@ -816,7 +817,8 @@ static void init_object(struct kmem_cache *s, voi= d *object, u8 val) > > =A0static void restore_bytes(struct kmem_cache *s, char *message, u8 = data, > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= void *from, void *to) > > =A0{ > > - slab_fix(s, "Restoring %s 0x%px-0x%px=3D0x%x\n", message, fro= m, to - 1, data); > > + slab_fix(s, "Restoring %s 0x%px-0x%px=3D0x%x", > > + message, from, to - 1, data); > > =A0=A0=A0=A0=A0=A0=A0=A0memset(from, data, to - from); > > =A0} > >=20 > > @@ -1069,13 +1071,13 @@ static int on_freelist(struct kmem_cache *s, = struct page *page, void *search) > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0slab_err(s, page, "Wr= ong number of objects. Found %d but should be %d", > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0page->objects, max_objects); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0page->objects =3D max= _objects; > > - slab_fix(s, "Number of objects adjusted."); > > + slab_fix(s, "Number of objects adjusted"); > > =A0=A0=A0=A0=A0=A0=A0=A0} > > =A0=A0=A0=A0=A0=A0=A0=A0if (page->inuse !=3D page->objects - nr) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0slab_err(s, page, "Wr= ong object count. Counter is %d but counted were %d", > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0page->inuse, page->objects - nr); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0page->inuse =3D page-= >objects - nr; > > - slab_fix(s, "Object count adjusted."); > > + slab_fix(s, "Object count adjusted"); > > =A0=A0=A0=A0=A0=A0=A0=A0} > > =A0=A0=A0=A0=A0=A0=A0=A0return search =3D=3D NULL; > > =A0} > >=20 > >=20