From patchwork Wed May 26 02:56:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12280541 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 36EABC4707F for ; Wed, 26 May 2021 02:56:32 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D627861439 for ; Wed, 26 May 2021 02:56:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D627861439 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BA4706B006E; Tue, 25 May 2021 22:56:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B2D686B0070; Tue, 25 May 2021 22:56:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 793126B0071; Tue, 25 May 2021 22:56:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0059.hostedemail.com [216.40.44.59]) by kanga.kvack.org (Postfix) with ESMTP id 28EB36B0070 for ; Tue, 25 May 2021 22:56:30 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id BF9088783 for ; Wed, 26 May 2021 02:56:29 +0000 (UTC) X-FDA: 78181868898.18.FA71EE3 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf29.hostedemail.com (Postfix) with ESMTP id D51792C5 for ; Wed, 26 May 2021 02:56:20 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id cu11-20020a17090afa8bb029015d5d5d2175so14394030pjb.3 for ; Tue, 25 May 2021 19:56:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E+qg4jIrttxlFVkdbLIETuAL+zofyp/t4lnCyo9LNjI=; b=LzSYhkjsHh23YhWgMnNmNO8cO/5y325J/84epdfzKWfq7U2VkjubGjDZCvpGVk+j2s AYdDadQ6kU0gNCS2IuKq/S/JfMQnx6oBQBxYGjmPe1V53N+9Ce/faQAWMBWqTA1wht0z GNvlJJ/owAra5Lg/43IcczDmqj5uneFN3HuDA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E+qg4jIrttxlFVkdbLIETuAL+zofyp/t4lnCyo9LNjI=; b=o1HT+WkSBN4b24ifq8WcJ6upfOdtrL8oNzAjdYI9Vd0nXEMfn0JCvLH3LRiBCnRWtr UpX+dYHpA4h9iP7GUGOXsjx+VnOXOvDb5rJxKp+J6Vgjfs7Pn1q13n4uFx5MRXfWoEtK XbQMOeT9fMv6Hn8nixojWdrI4PZcLHpHAbNmDjxr8QZ6IG2/OzlQUue4ZuLydz006Mdv UpyUvZSaN2gRAbG3sm0t+xu+2XIcXX9gwt34GaNmS5mKSmVGzJb0OcVOLp1vVOpHuS39 +TCJGlwsmAL9r/6XE37Vzd1sUQoAntXp845hKLJTf8b7CIa1i90CrS3U4quIV8CQwHbY YqRQ== X-Gm-Message-State: AOAM532A2WGyJPIOINMwqHPJK+1EsravdkGvR3NnuKkGN34AlGGYU/6l tTSQbwgFDRBOh65yXKsg3R6m4w== X-Google-Smtp-Source: ABdhPJw90TzOK5s5zE3FuQZB4GRrdGZ6P7/To8y5OXqOVwu+pKobI6Iyyq8FViZVLm9oM1zSUbx5Gg== X-Received: by 2002:a17:90b:100f:: with SMTP id gm15mr34218931pjb.197.1621997788800; Tue, 25 May 2021 19:56:28 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:5a1b:e4e5:eb10:8870]) by smtp.gmail.com with ESMTPSA id 5sm2966295pjo.17.2021.05.25.19.56.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 May 2021 19:56:28 -0700 (PDT) From: Stephen Boyd To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , linux-mm@kvack.org, Petr Mladek , Joe Perches Subject: [PATCH v2 1/4] slub: Restore slub_debug=- behavior Date: Tue, 25 May 2021 19:56:22 -0700 Message-Id: <20210526025625.601023-2-swboyd@chromium.org> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog In-Reply-To: <20210526025625.601023-1-swboyd@chromium.org> References: <20210526025625.601023-1-swboyd@chromium.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: D51792C5 Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=LzSYhkjs; spf=pass (imf29.hostedemail.com: domain of swboyd@chromium.org designates 209.85.216.45 as permitted sender) smtp.mailfrom=swboyd@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Rspamd-Server: rspam04 X-Stat-Signature: o3o8pgekwfe94scbwf7snwnei3zgw448 X-HE-Tag: 1621997780-257395 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: Passing slub_debug=- on the kernel commandline is supposed to disable slub debugging. This is especially useful with CONFIG_SLUB_DEBUG_ON where the default is to have slub debugging enabled in the build. Due to some code reorganization this behavior was dropped, but the code to make it work mostly stuck around. Restore the previous behavior by disabling the static key when we parse the commandline and see that we're trying to disable slub debugging. Cc: Vlastimil Babka Fixes: e17f1dfba37b ("mm, slub: extend slub_debug syntax for multiple blocks") Signed-off-by: Stephen Boyd Acked-by: Vlastimil Babka Reviewed-by: Muchun Song --- mm/slub.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 438fa8d4c970..2f53e8a9c28e 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1396,6 +1396,8 @@ static int __init setup_slub_debug(char *str) out: if (slub_debug != 0 || slub_debug_string) static_branch_enable(&slub_debug_enabled); + else + static_branch_disable(&slub_debug_enabled); if ((static_branch_unlikely(&init_on_alloc) || static_branch_unlikely(&init_on_free)) && (slub_debug & SLAB_POISON)) From patchwork Wed May 26 02:56:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12280543 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 CCA6CC47088 for ; Wed, 26 May 2021 02:56:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7D9DB60241 for ; Wed, 26 May 2021 02:56:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7D9DB60241 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id AE0F16B0070; Tue, 25 May 2021 22:56:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A1CFE6B0071; Tue, 25 May 2021 22:56:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 820C46B0072; Tue, 25 May 2021 22:56:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0051.hostedemail.com [216.40.44.51]) by kanga.kvack.org (Postfix) with ESMTP id 31F616B0070 for ; Tue, 25 May 2021 22:56:31 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id D0B698249980 for ; Wed, 26 May 2021 02:56:30 +0000 (UTC) X-FDA: 78181868940.03.D5E24CD Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by imf14.hostedemail.com (Postfix) with ESMTP id 6F58BC0007D5 for ; Wed, 26 May 2021 02:56:23 +0000 (UTC) Received: by mail-pf1-f170.google.com with SMTP id q67so8086022pfb.4 for ; Tue, 25 May 2021 19:56:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xkanLPqi5ol7KoX7EbuFclwRAZagzb8ztuCHeHsTeLk=; b=fh84BKPzGBLUX+dgAR2OAm/T2zW/OHN6jKDfSMdz7m66fH/m5N60WUdFT3CEJ8+UKa cNb2rKr9C4cs0lt1dMx7B64xdMB4kB3bFvtvkt2PfESYu4v3of5BQkz3URRmBxNNAA6D gZ23XlpA3E6G4bGOYu5aOLm9HNVqpSBzH3RKo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xkanLPqi5ol7KoX7EbuFclwRAZagzb8ztuCHeHsTeLk=; b=cbkC9U6q83ZuRlOd/cAcWPiieC3cHg2LXyrIS9XmLtHqvNKWuJ+DYw83bySFgRPut6 2kTOQ8Yb947YG4t1A9tBeSq8MythHLPSecIB4n5RULBGtR3QKnx0cxLYCE0Ck7srS39S L6kKeR8nBdBvqlqpK17E8b0WwBzraX3Tw3nC3LPEefxTxMnTWrJFwBHjjW/p8gSlcAw8 b1RaWTRgvP/gh/Mh8aznBtOofN3BTxcGnK4vsYCxJIHv4oLhluJOAnKGIsh4AZZmBrwM PqXCoAqdC99gzlbOAn9vO9+Zkb4rwdOQkteXuljnvbWK87z16aFE9ZIkC7B5kUfLLQ5G sWCw== X-Gm-Message-State: AOAM533U1tK61wNW3cx/QaAI7E5aAyRjm6SDfS2Uaa0iIkL5dNqsCePe rw0pyjR4HNotNp/nOV8bKxXnQQ== X-Google-Smtp-Source: ABdhPJyjbBdzs379VlR6V1iDNs2B37WXFNjJbcWhKeycGJ5QtfLfxiJKfWgM3JxTL8VX0iht64NcSw== X-Received: by 2002:a63:6c9:: with SMTP id 192mr22698285pgg.39.1621997789860; Tue, 25 May 2021 19:56:29 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:5a1b:e4e5:eb10:8870]) by smtp.gmail.com with ESMTPSA id 5sm2966295pjo.17.2021.05.25.19.56.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 May 2021 19:56:29 -0700 (PDT) From: Stephen Boyd To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , linux-mm@kvack.org, Petr Mladek , Joe Perches Subject: [PATCH v2 2/4] slub: Actually use 'message' in restore_bytes() Date: Tue, 25 May 2021 19:56:23 -0700 Message-Id: <20210526025625.601023-3-swboyd@chromium.org> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog In-Reply-To: <20210526025625.601023-1-swboyd@chromium.org> References: <20210526025625.601023-1-swboyd@chromium.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 6F58BC0007D5 Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=fh84BKPz; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf14.hostedemail.com: domain of swboyd@chromium.org designates 209.85.210.170 as permitted sender) smtp.mailfrom=swboyd@chromium.org X-Rspamd-Server: rspam03 X-Stat-Signature: dcnz51ejgnethg6haguqjfgjpt3kmwcw X-HE-Tag: 1621997783-227674 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: The message argument isn't used here. Let's pass the string to the printk message so that the developer can figure out what's happening, instead of guessing that a redzone is being restored, etc. Reviewed-by: Vlastimil Babka Acked-by: David Rientjes Signed-off-by: Stephen Boyd Reviewed-by: Muchun Song --- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/slub.c b/mm/slub.c index 2f53e8a9c28e..6168b3ce1b3e 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -777,7 +777,7 @@ static void init_object(struct kmem_cache *s, void *object, u8 val) static void restore_bytes(struct kmem_cache *s, char *message, u8 data, void *from, void *to) { - slab_fix(s, "Restoring 0x%p-0x%p=0x%x\n", from, to - 1, data); + slab_fix(s, "Restoring %s 0x%p-0x%p=0x%x\n", message, from, to - 1, data); memset(from, data, to - from); } From patchwork Wed May 26 02:56:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12280545 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 893A4C47089 for ; Wed, 26 May 2021 02:56:35 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 18D2161430 for ; Wed, 26 May 2021 02:56:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 18D2161430 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id E3C206B0071; Tue, 25 May 2021 22:56:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D9F8B6B0072; Tue, 25 May 2021 22:56:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BCAB56B0073; Tue, 25 May 2021 22:56:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0043.hostedemail.com [216.40.44.43]) by kanga.kvack.org (Postfix) with ESMTP id 7BDA96B0071 for ; Tue, 25 May 2021 22:56:32 -0400 (EDT) Received: from smtpin35.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 15A8D180AD830 for ; Wed, 26 May 2021 02:56:32 +0000 (UTC) X-FDA: 78181869024.35.2CDC2B0 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by imf14.hostedemail.com (Postfix) with ESMTP id 9E982C0007C0 for ; Wed, 26 May 2021 02:56:24 +0000 (UTC) Received: by mail-pg1-f179.google.com with SMTP id i5so24394864pgm.0 for ; Tue, 25 May 2021 19:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Hd4sjVebDaf07tFQ+ywKu8o7Lsylb2YjfwTECIMO6nE=; b=Ta1KK1z9gai6K08ZovKvMdSgSV9RnsLmXbqa+T+Xb50myBGArf76QxkU700w5T/qGF zCIzMIr1tNMayGVp6AimjdFicj3Eo47zPZx1lYeqKcOoVgMxGNOZcyYVn35dyXS8Elys mHd7UkQ3a9hGvR0mfnodrP+x7LeD3cu/YE2e0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Hd4sjVebDaf07tFQ+ywKu8o7Lsylb2YjfwTECIMO6nE=; b=dzDvaV7RjUMhpun26KxXUvCFfFFBd8HJyUoLvCpxQoAgaR+9BJp2Isi0E1vxpTGZPG OSAXAlU5VgPQSC2esJiKYMorfszTKR5J6AZK5iBIH1MBgKZRixta+RAS+coXqSMTg/BK FkPRPuIls8miJctqXmTg7xx42yo6Pr2JA7Sux7oH6171RGfucQPEFSO2jTp42dZuVkL0 ++TdrKdx9iJtjMzt4zKt+fR4k2c5RUXrgwu+ZYToPNqdxpsbZyRXrvDFtrOIilUMIcJF 2vWPnj/peOkXnOaTKfyJ+gzYvm3cVCQaxK6VU7DZH1b5y+nfEGTdFIzt0OJEd3ctrP2U EPeg== X-Gm-Message-State: AOAM530LVCAd2qYrM8FTgQpUHMHK9Zp+KCqxMRPwfn6v65uVnBiCTR1A YCyfOPbHU/ANvd/4pmm+a3TGZg== X-Google-Smtp-Source: ABdhPJyhEeKpf7bQdFgMTHoucSgu3s1fpigfxmxSqi30hy2i6YsoFfE7qEMhFXKp3ynkjQthhRwXnQ== X-Received: by 2002:a63:6547:: with SMTP id z68mr15638232pgb.341.1621997790938; Tue, 25 May 2021 19:56:30 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:5a1b:e4e5:eb10:8870]) by smtp.gmail.com with ESMTPSA id 5sm2966295pjo.17.2021.05.25.19.56.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 May 2021 19:56:30 -0700 (PDT) From: Stephen Boyd To: Andrew Morton Cc: Joe Perches , linux-kernel@vger.kernel.org, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , linux-mm@kvack.org, Petr Mladek Subject: [PATCH v2 3/4] slub: Indicate slab_fix() uses printf formats Date: Tue, 25 May 2021 19:56:24 -0700 Message-Id: <20210526025625.601023-4-swboyd@chromium.org> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog In-Reply-To: <20210526025625.601023-1-swboyd@chromium.org> References: <20210526025625.601023-1-swboyd@chromium.org> MIME-Version: 1.0 Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Ta1KK1z9; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf14.hostedemail.com: domain of swboyd@chromium.org designates 209.85.215.179 as permitted sender) smtp.mailfrom=swboyd@chromium.org X-Stat-Signature: 5kka1qwgcqoaa4xusdc3cf9u7n17ywdk X-Rspamd-Queue-Id: 9E982C0007C0 X-Rspamd-Server: rspam02 X-HE-Tag: 1621997784-262684 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: From: Joe Perches Ideally, slab_fix() would be marked with __printf and the format here would not use \n as that's emitted by the slab_fix(). Make these changes. Signed-off-by: Joe Perches Signed-off-by: Stephen Boyd Acked-by: Vlastimil Babka --- mm/slub.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index 6168b3ce1b3e..bf4949115412 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -672,6 +672,7 @@ static void slab_bug(struct kmem_cache *s, char *fmt, ...) va_end(args); } +__printf(2, 3) static void slab_fix(struct kmem_cache *s, char *fmt, ...) { struct va_format vaf; @@ -777,7 +778,7 @@ static void init_object(struct kmem_cache *s, void *object, u8 val) static void restore_bytes(struct kmem_cache *s, char *message, u8 data, void *from, void *to) { - slab_fix(s, "Restoring %s 0x%p-0x%p=0x%x\n", message, from, to - 1, data); + slab_fix(s, "Restoring %s 0x%p-0x%p=0x%x", message, from, to - 1, data); memset(from, data, to - from); } @@ -1026,13 +1027,13 @@ static int on_freelist(struct kmem_cache *s, struct page *page, void *search) slab_err(s, page, "Wrong number of objects. Found %d but should be %d", page->objects, max_objects); page->objects = max_objects; - slab_fix(s, "Number of objects adjusted."); + slab_fix(s, "Number of objects adjusted"); } if (page->inuse != page->objects - nr) { slab_err(s, page, "Wrong object count. Counter is %d but counted were %d", page->inuse, page->objects - nr); page->inuse = page->objects - nr; - slab_fix(s, "Object count adjusted."); + slab_fix(s, "Object count adjusted"); } return search == NULL; } From patchwork Wed May 26 02:56:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12280547 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 1EC5DC4707F for ; Wed, 26 May 2021 02:56:37 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id BF1C861090 for ; Wed, 26 May 2021 02:56:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF1C861090 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0F5676B0072; Tue, 25 May 2021 22:56:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 05C826B0073; Tue, 25 May 2021 22:56:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D53776B0074; Tue, 25 May 2021 22:56:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0172.hostedemail.com [216.40.44.172]) by kanga.kvack.org (Postfix) with ESMTP id 7F6CD6B0072 for ; Tue, 25 May 2021 22:56:33 -0400 (EDT) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 24F17180AD830 for ; Wed, 26 May 2021 02:56:33 +0000 (UTC) X-FDA: 78181869066.11.2B122C7 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by imf23.hostedemail.com (Postfix) with ESMTP id 22ED0A0001C5 for ; Wed, 26 May 2021 02:56:27 +0000 (UTC) Received: by mail-pf1-f173.google.com with SMTP id p39so8794387pfw.8 for ; Tue, 25 May 2021 19:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bid5eWeyAf/EDHZJqBvx8IkfWVIQDlnQOV7qBWhlldY=; b=YHUqpCGUaU3XGiG1Ugi9+sX324g45J0nlIN8TArCl5WEd2PdLVGMIeH6G1Yt996sq+ UJdg6ioHLzksl8pw795D9Vb6zf2cEXOM8B4go2oDXjRxZQAcFMdwH2zvNqmizJrxZZa6 9si9+9pgvOZWHvgTHo5bnyOExv1q/Y1kLfGPQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bid5eWeyAf/EDHZJqBvx8IkfWVIQDlnQOV7qBWhlldY=; b=jUIK8ff92Ji0IKENx6un9YbmhWkarZgrgUBweeXdNbjOAEKxC5xaxvocOrGvUbqFtE D+wbQlA74ljF91kHnEg3Q/gkUIgBZycYxSfb6PbUmtr5NOhvbKH4Xz0CfhB/tDzgvomF 8M/1eFPlTGMHavGJ1dVq1CXo8M/M6AxEmWK7TKJ/pxXiMbjTMCXg1CnI5plAmWVXVlfL d1kyapBuYmiChrsu43g3BkSR4mVhK2aKkq8Q1/LYeets9+DEBmZ5cxaJdeM0FOccYhLH 4+DVQ73BpibS25/Fsy3hGWRQm01dqShbD/We/hoBO/w7cvxgcBwl3vhenqX/Nhf/6o6U Ww9w== X-Gm-Message-State: AOAM530Tkf2Hi0FFyuToLZZuArddBq3uVuF3sf2FfGdmtDh0DAyRkgsj Ki7KQl0CvvQzkiSQfDXeoeMvPw== X-Google-Smtp-Source: ABdhPJyv2XEnYPCYkiPG/atAIHMxyIZSy2O0IOFxWNkuHMQUjnM1/Z8UFarQXTAHQUcrudUKJj6e5A== X-Received: by 2002:a63:fd46:: with SMTP id m6mr5658896pgj.403.1621997792024; Tue, 25 May 2021 19:56:32 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:5a1b:e4e5:eb10:8870]) by smtp.gmail.com with ESMTPSA id 5sm2966295pjo.17.2021.05.25.19.56.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 May 2021 19:56:31 -0700 (PDT) From: Stephen Boyd To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , linux-mm@kvack.org, Petr Mladek , Joe Perches Subject: [PATCH v2 4/4] slub: Force on no_hash_pointers when slub_debug is enabled Date: Tue, 25 May 2021 19:56:25 -0700 Message-Id: <20210526025625.601023-5-swboyd@chromium.org> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog In-Reply-To: <20210526025625.601023-1-swboyd@chromium.org> References: <20210526025625.601023-1-swboyd@chromium.org> MIME-Version: 1.0 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=YHUqpCGU; spf=pass (imf23.hostedemail.com: domain of swboyd@chromium.org designates 209.85.210.173 as permitted sender) smtp.mailfrom=swboyd@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 22ED0A0001C5 X-Stat-Signature: ysocz7f3sa4heczsw89s66ccnt3n3ow3 X-HE-Tag: 1621997787-265693 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: Obscuring the pointers that slub shows when debugging makes for some confusing slub debug messages: Padding overwritten. 0x0000000079f0674a-0x000000000d4dce17 Those addresses are hashed for kernel security reasons. If we're trying to be secure with slub_debug on the commandline we have some big problems given that we dump whole chunks of kernel memory to the kernel logs. Let's force on the no_hash_pointers commandline flag when slub_debug is on the commandline. This makes slub debug messages more meaningful and if by chance a kernel address is in some slub debug object dump we will have a better chance of figuring out what went wrong. Note that we don't use %px in the slub code because we want to reduce the number of places that %px is used in the kernel. This also nicely prints a big fat warning at kernel boot if slub_debug is on the commandline so that we know that this kernel shouldn't be used on production systems. Signed-off-by: Stephen Boyd Reported-by: kernel test robot Reported-by: kernel test robot --- I opted for extern because I guess we don't want to advertise no_hash_pointers_enable() in some sort of header file? It can be put in a header file but I see that the no_hash_pointers variable is also not in a header file but exported as symbol. lib/vsprintf.c | 2 +- mm/slub.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/vsprintf.c b/lib/vsprintf.c index f0c35d9b65bf..cc281f5895f9 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -2186,7 +2186,7 @@ char *fwnode_string(char *buf, char *end, struct fwnode_handle *fwnode, bool no_hash_pointers __ro_after_init; EXPORT_SYMBOL_GPL(no_hash_pointers); -static int __init no_hash_pointers_enable(char *str) +int __init no_hash_pointers_enable(char *str) { if (no_hash_pointers) return 0; diff --git a/mm/slub.c b/mm/slub.c index bf4949115412..1c30436d3e6c 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4451,6 +4451,8 @@ static struct kmem_cache * __init bootstrap(struct kmem_cache *static_cache) return s; } +extern int no_hash_pointers_enable(char *str); + void __init kmem_cache_init(void) { static __initdata struct kmem_cache boot_kmem_cache, @@ -4470,6 +4472,10 @@ void __init kmem_cache_init(void) for_each_node_state(node, N_NORMAL_MEMORY) node_set(node, slab_nodes); + /* Print slub debugging pointers without hashing */ + if (static_branch_unlikely(&slub_debug_enabled)) + no_hash_pointers_enable(NULL); + create_boot_cache(kmem_cache_node, "kmem_cache_node", sizeof(struct kmem_cache_node), SLAB_HWCACHE_ALIGN, 0, 0);