From patchwork Tue Oct 1 16:20:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vlastimil Babka X-Patchwork-Id: 13818459 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0B3DCEACE6 for ; Tue, 1 Oct 2024 16:21:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E3A82800C2; Tue, 1 Oct 2024 12:21:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 846022800C0; Tue, 1 Oct 2024 12:21:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 697772800C2; Tue, 1 Oct 2024 12:21:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 419A22800C0 for ; Tue, 1 Oct 2024 12:21:03 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E641C1C6A3C for ; Tue, 1 Oct 2024 16:21:02 +0000 (UTC) X-FDA: 82625547564.09.72DD7B5 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf12.hostedemail.com (Postfix) with ESMTP id 7889D40008 for ; Tue, 1 Oct 2024 16:21:00 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IvVD1i3P; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=79AnOGlo; spf=pass (imf12.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727799492; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=l/QBF9ogG+rLgjsYlGtd5nYLAr8eD5n5eV3Wh2PFS6s=; b=YiPinBTZM0HEO+o+xcaYjy6s9+XJRBtCdkjue0Yity93IOhVTKapGNX1JUeYrgWhoF95Gk LPwIYdukqJsNxdtO4/2jN7c7zi7eZS8qF4JcJrPIcHbM0DL4tjmYBdkjcavAQ6/V0JFSzs duYWI3aHEhd2/0bD0ag9ZtgdScJVYd4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IvVD1i3P; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=79AnOGlo; spf=pass (imf12.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727799492; a=rsa-sha256; cv=none; b=lSOG4L7f0YaQDMQRmF9/pzRpG5S63GFJTs1RTe82ToCUWD5xz6HnB7FM7NsLT1o09dVHAA UFQ2BiV3/KcO7na2TYvOminXFWn5fgT52DsiuQLNW06jqPOuttTxVJPYfPGxwUaQUsI3Zx kECMM9nz+goVbtcPRKjOWBFALCU2Lrs= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 1756F1FCEB; Tue, 1 Oct 2024 16:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1727799657; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l/QBF9ogG+rLgjsYlGtd5nYLAr8eD5n5eV3Wh2PFS6s=; b=IvVD1i3PZoO/G0+SShUuHjmGbgr04z/JU5VYqn7PyYalIFAZK3wDKdp4SVdGNvIdx6Zn0r XE3ZyuxQd3vOvjZTSSNf8DTYBoROimPtL2+NhzOAgXAZ7jx+D/nfgIIurnlPXJ1gpfkgB3 Du68vOdEIPlMrO1rvkQ5KkaIMvNmdM8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1727799657; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l/QBF9ogG+rLgjsYlGtd5nYLAr8eD5n5eV3Wh2PFS6s=; b=79AnOGloyFDDJnxc20ufPXTF7TToPL8scRX1tzFKC3c6jBT4T+SgMdZOHniLljNnMFTc3M udE/zrrCO3/hHsDA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D4AC913A91; Tue, 1 Oct 2024 16:20:56 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id iEqkM2gh/GaHRAAAD6G6ig (envelope-from ); Tue, 01 Oct 2024 16:20:56 +0000 From: Vlastimil Babka Date: Tue, 01 Oct 2024 18:20:49 +0200 Subject: [PATCH slab hotfixes v2 2/2] slub/kunit: skip test_kfree_rcu when the slub kunit test is built-in MIME-Version: 1.0 Message-Id: <20241001-b4-slub-kunit-fix-v2-2-2d995d3ecb49@suse.cz> References: <20241001-b4-slub-kunit-fix-v2-0-2d995d3ecb49@suse.cz> In-Reply-To: <20241001-b4-slub-kunit-fix-v2-0-2d995d3ecb49@suse.cz> To: Christoph Lameter , David Rientjes Cc: Roman Gushchin , Andrew Morton , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Vlastimil Babka , Guenter Roeck , "Paul E. McKenney" , Boqun Feng , Uladzislau Rezki , rcu@vger.kernel.org, David Gow , Rae Moar , linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, Brendan Higgins X-Mailer: b4 0.14.2 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Action: no action X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7889D40008 X-Stat-Signature: hd5iooryqfo6b8way1qhi59j9fsnbh8n X-Rspam-User: X-HE-Tag: 1727799660-12157 X-HE-Meta: U2FsdGVkX19Dl3HIV3OT0RF2aRyMU6EPYNHNwJ7b5RLDOuUls8f4O5r/4/zqCnJ2crbLX9gXHGr2bXGxokhoXpokxTcZDdpCRXy1aGM2y4sW9D+6BnMv6WI5re5fcGaGjo4cU1NPVOkjGo1c+qyh1NEcnrtdh0lz77/zHZQoNBFZgvaJ3PUK3Ib+h5vwHKwvI8EpmxgbI48BY4XEX44JYc/HdW1VcZ5rPJnAUe//RIx6WfBFyhpYPALOShPeax4OOeMTDf7hiHQJa8TdyUacWNOnZxP0/6QzRIvX9ONNrz83SuqJTOqmy6bcOPOrJ2ERJ6Z2PmhD6eHn6jRtfJZQuYPY9Fx53yMcmvc1NcgfuEzslypEoAOudYxdPbURatu4/QHVrbp0WLR3YwZxgFJiXEGMPdAm2ob7wCQV9MUU87eKZmkRzIrKxMQL+DWqGgaCokmNYrJkwxwRr0iXRgBzXUpRO1Mt+1VwKAWoJXeZAs2E7ozbpwXvncA7ZGU8hptRmgtcLB3cuRSAvT+FSJEmSxnxy7J75vyxFScpzDGCJiXDL5O2U47SJm/TbEAN4YSA3Z08GcLP+etfFToiwMb3eeglDW+qEJQBRiF0XahNf9P0i6B+Oiis5fzn+HREOmOMQEXZXegq77mWh1EmtTcpf7Hw1k62+Tt7EfUVwJLN5NtpVJO96kBRtpSGKpwKOWZoGz21PUORkxLT01DemIHwOViQ+/wvVI9bPa9aAaoXAL3B9+DHJpQlRFm/xyPqLXmLVXeUwjGDniXABp+9FNAtTzLx1bsz6pYw9b0HzMObGb1y0VlrmHYrPSLhZWP3I5aHdrDMTKhUGrr2gsOb8QlWjqZboyw2fsWoZtliAf9TEZuBHMhlI+6/ui151HIyXTnep0eWqNexoRCh81Rb/0/0vnJBlK1SbhsBg+s1CU+QZgE8Og7ymVKdWKOZlNMn7pK8LUDB4SE6f3N51XXbltS 9tTK1bKz 9hT2+sKAlopws4Xgx1IXkcUSak6kj3neBZ/Zp2lyw+DsYDR3maIzy1dJ7IBIxdBWfedwFCFMg+m5f+387UOIilM0R+6TCvmFx4Od5PUeL4/Ge8slBF27kp1mygjIOC5xX6PN5bF/LY0lRULY1CK3VdJb9TtaV/2TA9CIClvA+CQ29PGsWKeSNQu6Tk+YREdIDqGdJW9P8JBWa8heCso4lzo/JU0Es3NaVIXpVmnCiPt9T8RecHDfNs7acEnM5QH25rR8zqyRN6CwmbMW5MD0roeNzQZGR/j3mtnRJNbsHdDz07xHYNo047P7rXVOPsIQn/FOYXzuxYGSVmw52TXh21lpA9SZpZUyqymHd3DmKCsMojBDW4JNq3WGuTF9NGoDXCHIcYNMYTj4xX638cgn1tqOB2AWIJWCZmeW+HCMR6PNne18FNZM0sN896H+OIvmkEEAGVpGmaMSNmFidomX5UIPKgr4iQmCdj0ZZaTmCR20ihjIUhvNwbe/RVSR23B7YP5RxrORzUwkOrLKI9cHFPTHMEinlCGwcBVLWpMGD0uyHgM49VpiDb0r4Ng== 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: List-Subscribe: List-Unsubscribe: Guenter Roeck reports that the new slub kunit tests added by commit 4e1c44b3db79 ("kunit, slub: add test_kfree_rcu() and test_leak_destroy()") cause a lockup on boot on several architectures when the kunit tests are configured to be built-in and not modules. The test_kfree_rcu test invokes kfree_rcu() and boot sequence inspection showed the runner for built-in kunit tests kunit_run_all_tests() is called before setting system_state to SYSTEM_RUNNING and calling rcu_end_inkernel_boot(), so this seems like a likely cause. So while I was unable to reproduce the problem myself, skipping the test when the slub_kunit module is built-in should avoid the issue. An alternative fix that was moving the call to kunit_run_all_tests() a bit later in the boot was tried, but has broken tests with functions marked as __init due to free_initmem() already being done. Fixes: 4e1c44b3db79 ("kunit, slub: add test_kfree_rcu() and test_leak_destroy()") Reported-by: Guenter Roeck Closes: https://lore.kernel.org/all/6fcb1252-7990-4f0d-8027-5e83f0fb9409@roeck-us.net/ Cc: "Paul E. McKenney" Cc: Boqun Feng Cc: Uladzislau Rezki Cc: rcu@vger.kernel.org Cc: Brendan Higgins Cc: David Gow Cc: Rae Moar Cc: linux-kselftest@vger.kernel.org Cc: kunit-dev@googlegroups.com Signed-off-by: Vlastimil Babka Tested-by: Guenter Roeck --- lib/slub_kunit.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/slub_kunit.c b/lib/slub_kunit.c index 85d51ec09846d4fa219db6bda336c6f0b89e98e4..80e39f003344858722a544ad62ed84e885574054 100644 --- a/lib/slub_kunit.c +++ b/lib/slub_kunit.c @@ -164,10 +164,16 @@ struct test_kfree_rcu_struct { static void test_kfree_rcu(struct kunit *test) { - struct kmem_cache *s = test_kmem_cache_create("TestSlub_kfree_rcu", - sizeof(struct test_kfree_rcu_struct), - SLAB_NO_MERGE); - struct test_kfree_rcu_struct *p = kmem_cache_alloc(s, GFP_KERNEL); + struct kmem_cache *s; + struct test_kfree_rcu_struct *p; + + if (IS_BUILTIN(CONFIG_SLUB_KUNIT_TEST)) + kunit_skip(test, "can't do kfree_rcu() when test is built-in"); + + s = test_kmem_cache_create("TestSlub_kfree_rcu", + sizeof(struct test_kfree_rcu_struct), + SLAB_NO_MERGE); + p = kmem_cache_alloc(s, GFP_KERNEL); kfree_rcu(p, rcu); kmem_cache_destroy(s);