From patchwork Tue Jun 1 18:21:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12292057 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 03CD9C4708F for ; Tue, 1 Jun 2021 18:22:09 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id A9C96613B4 for ; Tue, 1 Jun 2021 18:22:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A9C96613B4 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 4E4A56B006E; Tue, 1 Jun 2021 14:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BC566B0070; Tue, 1 Jun 2021 14:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 383176B0071; Tue, 1 Jun 2021 14:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0113.hostedemail.com [216.40.44.113]) by kanga.kvack.org (Postfix) with ESMTP id 08BD66B006E for ; Tue, 1 Jun 2021 14:22:07 -0400 (EDT) Received: from smtpin40.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 8E770DB29 for ; Tue, 1 Jun 2021 18:22:07 +0000 (UTC) X-FDA: 78205974294.40.81FE976 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by imf02.hostedemail.com (Postfix) with ESMTP id 5AE8A4202A18 for ; Tue, 1 Jun 2021 18:22:00 +0000 (UTC) Received: by mail-pf1-f176.google.com with SMTP id k15so153155pfp.6 for ; Tue, 01 Jun 2021 11:22:07 -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=gbZ3vTsrf7AL1s4OczZvI0d4Xr6vFtsv5qsCFIFr27E=; b=gl9HxPe/5Z8AZ2F4lr8ZOQp71MrPbaaCd3bdahqNcnUNrrTlGjg5u/ICfWAiyRjVew ASq2B4Gz6GujPk3KXnFH5fOEp8Z1NMTELKHy8lWKksJWVQlCZ4Pp7UNfjJCWha2HgcDA NniNd3QIrYT4zBskN6hBzikQ4+SKWS0mscod0= 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=gbZ3vTsrf7AL1s4OczZvI0d4Xr6vFtsv5qsCFIFr27E=; b=RDlI3d6lEeadEJJnnhzo8szwFT2MDTXC223SXioxREYgCaLavPyEbVtbeT9/22Q7O6 s3noK/MT6Mch/caYGtJMmi9Wu5mmUF16QMqMZ2CoQqQx7cYjkIFvN+TN26mTXxrJmjdr UwGQ7lkv+GNWuWuj5JyvvDEabXTgO0ASJNx1R1waqulEiOGCZtUnSp0T6AeA/zAJQfrY EscvVrbMRGnTyool6K8hXz2Lte41mUTX7I5Bi+A0HGc0Oh7Ypwao6lkFxTiC/MdUVKjy L+MyDE8z8wkJsVtdESCroJ26T6QR7Ixm8lbWEmGQCWvo21bJUWM/WtJpLxQVY31zgkRv sK3A== X-Gm-Message-State: AOAM531gySsNjrvcEHZXhqAOlK8c+OdZl+dlWzhwwq+48qQmwpwhrB4W 7OLcQNJtsSgIISV39suDbXDq1A== X-Google-Smtp-Source: ABdhPJzvfjCxaSvx+ixy+qezmQZI5gNBZyHO3mHp4A+To1c+U0lrFaUSUqRwdNIxEQ6QmDq4d3KE4g== X-Received: by 2002:a62:3344:0:b029:24c:735c:4546 with SMTP id z65-20020a6233440000b029024c735c4546mr23503691pfz.1.1622571726225; Tue, 01 Jun 2021 11:22:06 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:ee82:b2a7:c8bd:18e7]) by smtp.gmail.com with ESMTPSA id g29sm14510982pgm.11.2021.06.01.11.22.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jun 2021 11:22:05 -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 , Muchun Song Subject: [PATCH v3 1/4] slub: Restore slub_debug=- behavior Date: Tue, 1 Jun 2021 11:21:59 -0700 Message-Id: <20210601182202.3011020-2-swboyd@chromium.org> X-Mailer: git-send-email 2.32.0.rc0.204.g9fa02ecfa5-goog In-Reply-To: <20210601182202.3011020-1-swboyd@chromium.org> References: <20210601182202.3011020-1-swboyd@chromium.org> MIME-Version: 1.0 Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="gl9HxPe/"; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf02.hostedemail.com: domain of swboyd@chromium.org designates 209.85.210.176 as permitted sender) smtp.mailfrom=swboyd@chromium.org X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5AE8A4202A18 X-Stat-Signature: xgttsh1iog79aumyzw3yusiua61bh1rt X-HE-Tag: 1622571720-108306 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. Acked-by: Vlastimil Babka Reviewed-by: Muchun Song Fixes: ca0cab65ea2b ("mm, slub: introduce static key for slub_debug()") Signed-off-by: Stephen Boyd --- 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 Tue Jun 1 18:22:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12292059 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 F0D97C4708F for ; Tue, 1 Jun 2021 18:22:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id A48D1613D1 for ; Tue, 1 Jun 2021 18:22:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A48D1613D1 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 4E4EC6B0070; Tue, 1 Jun 2021 14:22:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 445286B0071; Tue, 1 Jun 2021 14:22:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 29AB36B0072; Tue, 1 Jun 2021 14:22:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0110.hostedemail.com [216.40.44.110]) by kanga.kvack.org (Postfix) with ESMTP id E52156B0070 for ; Tue, 1 Jun 2021 14:22:08 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 776FBDB29 for ; Tue, 1 Jun 2021 18:22:08 +0000 (UTC) X-FDA: 78205974336.16.BC845D0 Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by imf25.hostedemail.com (Postfix) with ESMTP id 695AC6000144 for ; Tue, 1 Jun 2021 18:21:55 +0000 (UTC) Received: by mail-pg1-f177.google.com with SMTP id i5so83638pgm.0 for ; Tue, 01 Jun 2021 11:22:08 -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=ygkZRpJtxBAyCydNU/Hc832/XMSlgUwkfRH5mV2uRBM=; b=V5cR/uUPn4j+j/v3rnXqnTHLEL60rTQmpSJA/zTs+MosIrYnjqbhR1hO6pixmpGGIa MQOfqdXKl5yMDKpZ8OlVE5ulRRdCFBJgbYTTQVrwgmP4FEUSRisSB5Lcsdvanah4BRNB R2OGtp1GrfG0SURmkQuZiDCQe1GGe4uUsTmfo= 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=ygkZRpJtxBAyCydNU/Hc832/XMSlgUwkfRH5mV2uRBM=; b=D2/zO6IN1wJb23cR5uU5tWFO1feXzFyvBc5k2BBgeD1jRAfFrCwHkscl4oD8KJCnDA TsVG8bzVuY7dB1YeOCOKvril+RMDSfauiu11YDQQ/IoUQYa7NbHZ+KeNAI/ohR6xZUrM P5bt8t63LGOLaPj9nEdrJdcxGNmTWon6AHWEgAlNJOIkA4Lnboan98j1oJOMRm069IYT 5TaYe6pv7bPT4m4fYhCVxrDt6jbVfVfTgRc0ze0kcnJEXvmDLG+TieNU0qAlqv1QqV4/ Aosx5iMu0K9mb7O+EshZyNP6xz1f0G+sJjcQzVaHJGoLTaryFmnSmvvEwa/+msCoGOhm RzFA== X-Gm-Message-State: AOAM533BS2vJvHuZZYqpGTBSNxweiOBi7WjKurPklgqgBanmoxGq3Ixu 0JDE98hAsZeHUbGYdW+aPajYtg== X-Google-Smtp-Source: ABdhPJyMK0zd7wSBmjoDltZpDuRAb+v7/WzhrOFJ8PwnBFx9sh/48W1TJNxDEx+HJWAIrfzOv6+pGA== X-Received: by 2002:a65:6884:: with SMTP id e4mr4457991pgt.71.1622571727493; Tue, 01 Jun 2021 11:22:07 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:ee82:b2a7:c8bd:18e7]) by smtp.gmail.com with ESMTPSA id g29sm14510982pgm.11.2021.06.01.11.22.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jun 2021 11:22:07 -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 , Muchun Song Subject: [PATCH v3 2/4] slub: Actually use 'message' in restore_bytes() Date: Tue, 1 Jun 2021 11:22:00 -0700 Message-Id: <20210601182202.3011020-3-swboyd@chromium.org> X-Mailer: git-send-email 2.32.0.rc0.204.g9fa02ecfa5-goog In-Reply-To: <20210601182202.3011020-1-swboyd@chromium.org> References: <20210601182202.3011020-1-swboyd@chromium.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 695AC6000144 Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="V5cR/uUP"; spf=pass (imf25.hostedemail.com: domain of swboyd@chromium.org designates 209.85.215.177 as permitted sender) smtp.mailfrom=swboyd@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Rspamd-Server: rspam04 X-Stat-Signature: fnxux4aco3hdz9b9zrmyrgnss6fs3sa3 X-HE-Tag: 1622571715-461948 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 Reviewed-by: Muchun Song Signed-off-by: Stephen Boyd --- 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 Tue Jun 1 18:22:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12292061 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 D19CEC47093 for ; Tue, 1 Jun 2021 18:22:12 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 81647613D1 for ; Tue, 1 Jun 2021 18:22:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 81647613D1 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 AD85C6B0071; Tue, 1 Jun 2021 14:22:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB1126B0072; Tue, 1 Jun 2021 14:22:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 977606B0073; Tue, 1 Jun 2021 14:22:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0058.hostedemail.com [216.40.44.58]) by kanga.kvack.org (Postfix) with ESMTP id 678C76B0071 for ; Tue, 1 Jun 2021 14:22:10 -0400 (EDT) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id EF5651808A9C2 for ; Tue, 1 Jun 2021 18:22:09 +0000 (UTC) X-FDA: 78205974378.13.0A9C877 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf18.hostedemail.com (Postfix) with ESMTP id 3598C20010A8 for ; Tue, 1 Jun 2021 18:21:58 +0000 (UTC) Received: by mail-pf1-f169.google.com with SMTP id x18so139794pfi.9 for ; Tue, 01 Jun 2021 11:22:09 -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=+4kopGrPpDmNYqodYUvkjETu0gKLYPPcKDiSzcCSolk=; b=FdH1YFBnQgCff+7rGQ6EQDjWOQlazi5AGW5irmxbWACfjKF3jf3HzEcxIWIK/D69An 71EwfeSug2avMa2n9ao3JFsMQkXHL4Eg3EVtoSxKvCxhgjCY1PS0YKWV9Cq1shXJqsb1 g9ZkXirTMKZlH7yAO8UtAV9ojzlMdJAKJiAks= 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=+4kopGrPpDmNYqodYUvkjETu0gKLYPPcKDiSzcCSolk=; b=dnm0ZO3lg9BlQU+Bf5H9/xwAjzoxPpWURTglUgfdiNLIkMHDxuyqcCIMIzRmo05hiG NqWmznQbVgxIFHfCBGvpcQlSywasbS7wLPfepN1lHznFD6UgLKFhlJVilOoqofp3JL8r emzSkmTzVQOdEs8vhFDi7oaGYS6iJ6eJj9rCphkG1/GvmhkrkWU3xQHpqIDTgljiGd70 yaDYUyXw3KUui6Nhd0p+EXSs6fXyIAqjxoD/pSjVx7cw4FDGSb8hNsZ1PwZGh69kaRgm KkTI5LAuY7j6jG6AmWTBSarUtGdd92kwdYwXfx3JOGrRqVMHPW9TZ6dTpX+rpUitvyTQ Q+pw== X-Gm-Message-State: AOAM530JKoI0nG93jGiYHlBp0OwhYMCuxDCimpM4E5EKgz5M6JFA9z9N Y/QWQ6C/iAMsHrAhlDadjlP7wQ== X-Google-Smtp-Source: ABdhPJx26aWTFfzLyGpF4prhXg+t+dlc0PPGGBZjuc0JwvcXYW9VyW07WF5AIG38G74nnkzD7F2i6w== X-Received: by 2002:a63:5218:: with SMTP id g24mr28883071pgb.309.1622571728889; Tue, 01 Jun 2021 11:22:08 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:ee82:b2a7:c8bd:18e7]) by smtp.gmail.com with ESMTPSA id g29sm14510982pgm.11.2021.06.01.11.22.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jun 2021 11:22:08 -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 v3 3/4] slub: Indicate slab_fix() uses printf formats Date: Tue, 1 Jun 2021 11:22:01 -0700 Message-Id: <20210601182202.3011020-4-swboyd@chromium.org> X-Mailer: git-send-email 2.32.0.rc0.204.g9fa02ecfa5-goog In-Reply-To: <20210601182202.3011020-1-swboyd@chromium.org> References: <20210601182202.3011020-1-swboyd@chromium.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 3598C20010A8 Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FdH1YFBn; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf18.hostedemail.com: domain of swboyd@chromium.org designates 209.85.210.169 as permitted sender) smtp.mailfrom=swboyd@chromium.org X-Rspamd-Server: rspam03 X-Stat-Signature: 71rf4rxgajgbhshg1dgkygu65rbmxfsa X-HE-Tag: 1622571718-881331 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 Acked-by: Vlastimil Babka Signed-off-by: Stephen Boyd Acked-by: David Rientjes --- 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 Tue Jun 1 18:22:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 12292063 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 A11DBC47080 for ; Tue, 1 Jun 2021 18:22:14 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 55A3F613D1 for ; Tue, 1 Jun 2021 18:22:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 55A3F613D1 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 0294B6B0072; Tue, 1 Jun 2021 14:22:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 001356B0073; Tue, 1 Jun 2021 14:22:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D70326B0074; Tue, 1 Jun 2021 14:22:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0098.hostedemail.com [216.40.44.98]) by kanga.kvack.org (Postfix) with ESMTP id A5E1A6B0072 for ; Tue, 1 Jun 2021 14:22:11 -0400 (EDT) Received: from smtpin32.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 3DA97181AEF09 for ; Tue, 1 Jun 2021 18:22:11 +0000 (UTC) X-FDA: 78205974462.32.ED84462 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by imf23.hostedemail.com (Postfix) with ESMTP id 2754AA000262 for ; Tue, 1 Jun 2021 18:22:00 +0000 (UTC) Received: by mail-pf1-f175.google.com with SMTP id u18so130389pfk.11 for ; Tue, 01 Jun 2021 11:22:10 -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=XPjY3p17RpdUxmvaUzvStFXowgAqs5bSM8U5J4753tM=; b=JdKbC5WayUy2DBLywV0jSbrlIjP/2nSMm9wzijAMUyrJfbt/taBTudIdXt9r2Q7J8+ LlAwIX8W7OjgLZCIgQ21bDoc7TAkhJOOynZgop0OLwTDkaFFdBIk//n7/kuf514UU4Vq RLKf6Fw9Ep1MDXX/3JOCXAt0xQL2GN94FRDk0= 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=XPjY3p17RpdUxmvaUzvStFXowgAqs5bSM8U5J4753tM=; b=cT+K9r/xIRzVaM2+tTm+rjb+S3iNDAL8SC7VRGafxiOfwpeXLziCHqWo/X4xciXAFf w1PZr0uBXL5kEA0QCDlyyM00R/BgvYQaUw02btrx6ddJtg15soPPMbxer1YI8XFRzg/H dFwzQK1A+3IuV+r2tgCDA2TlxqRk5G64g6mtE+QevLlV88ZamMGMywW1IENws946iLix JOF34AorCGz7vGuEHbbIPhMusn3E3XXPJcqC67kXkKntt8t3WZcgYKRpqy+YPZMfPr+R RAFrHwgJbcXIuNmzbJBvEWONDS1bHLGr1IXBH8tJ6CnPi7ixrmATl23iamo82k3wnMfA opUQ== X-Gm-Message-State: AOAM530lotHOeD9xRV5tuvVsBdNt10iwbKWiFPntvgMlu59UU7it9Lno 4rwS0ZeaK78Z6WACWUbJXpmw5w== X-Google-Smtp-Source: ABdhPJw35jzyT/JFV/F68qpD5e6asH7oVRjLNYleVcXFqZXGe2B72Cc7Y+nPOxbvoNAkIjfZYCR+ZQ== X-Received: by 2002:aa7:82c6:0:b029:2d8:9160:5942 with SMTP id f6-20020aa782c60000b02902d891605942mr22919323pfn.78.1622571730084; Tue, 01 Jun 2021 11:22:10 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:202:201:ee82:b2a7:c8bd:18e7]) by smtp.gmail.com with ESMTPSA id g29sm14510982pgm.11.2021.06.01.11.22.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jun 2021 11:22:09 -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 v3 4/4] slub: Force on no_hash_pointers when slub_debug is enabled Date: Tue, 1 Jun 2021 11:22:02 -0700 Message-Id: <20210601182202.3011020-5-swboyd@chromium.org> X-Mailer: git-send-email 2.32.0.rc0.204.g9fa02ecfa5-goog In-Reply-To: <20210601182202.3011020-1-swboyd@chromium.org> References: <20210601182202.3011020-1-swboyd@chromium.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 2754AA000262 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=JdKbC5Wa; spf=pass (imf23.hostedemail.com: domain of swboyd@chromium.org designates 209.85.210.175 as permitted sender) smtp.mailfrom=swboyd@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Rspamd-Server: rspam04 X-Stat-Signature: 86ho41mcebhkgo1m649gzh576eidtt8x X-HE-Tag: 1622571720-535438 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 Acked-by: Vlastimil Babka Acked-by: Petr Mladek --- include/linux/kernel.h | 2 ++ lib/vsprintf.c | 2 +- mm/slub.c | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 15d8bad3d2f2..bf950621febf 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -357,6 +357,8 @@ int sscanf(const char *, const char *, ...); extern __scanf(2, 0) int vsscanf(const char *, const char *, va_list); +extern int no_hash_pointers_enable(char *str); + extern int get_option(char **str, int *pint); extern char *get_options(const char *str, int nints, int *ints); extern unsigned long long memparse(const char *ptr, char **retptr); 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..a722794f1dbd 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4460,6 +4460,10 @@ void __init kmem_cache_init(void) if (debug_guardpage_minorder()) slub_max_order = 0; + /* Print slub debugging pointers without hashing */ + if (static_branch_unlikely(&slub_debug_enabled)) + no_hash_pointers_enable(NULL); + kmem_cache_node = &boot_kmem_cache_node; kmem_cache = &boot_kmem_cache;