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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8581ECAAA1 for ; Thu, 15 Sep 2022 10:18:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF7088D0001; Thu, 15 Sep 2022 06:18:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D7EF96B0073; Thu, 15 Sep 2022 06:18:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF9188D0001; Thu, 15 Sep 2022 06:18:06 -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 AAC446B0071 for ; Thu, 15 Sep 2022 06:18:06 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 637EA1404F0 for ; Thu, 15 Sep 2022 10:18:06 +0000 (UTC) X-FDA: 79913919372.23.37A3B33 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by imf16.hostedemail.com (Postfix) with ESMTP id 96F361800A4 for ; Thu, 15 Sep 2022 10:18:04 +0000 (UTC) Received: by mail-ed1-f44.google.com with SMTP id z97so26201358ede.8 for ; Thu, 15 Sep 2022 03:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date; bh=jEhZHuYu7ZU7fws8h/wvm5m2xhZn4Q+mo3hEwNuu4Wk=; b=B69IuNZie43PR8fo668bwPbjGYIyXEO8EKpFdxJfj9XDdJUfBBOktI8L6gwVoXxSC7 e54J/4s900HGyAlWCQl55oqkwqxEEHG35w/PP4tbLtrvCuZAU97xL9ivY1pey9wSuBYg ivrn+QKQ1uW1xnCzNo4oIgADSLK0fh5pozRM2xI3+Z4uQNZYeMvzaV4juuunEm8KZnQk WUra0ohKt2yuekGLcsGsFJUrTgBOL4O3C7AGnu/oeUsA8RMUcgMegRUAe0eGO79xFYGK OLeHwoc/5Kg34JXD1y6V8WIk10TPFV+sm00TF2zhGbd0eJKLGHCejHDe0DO1Pe6OY/ho eDvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=jEhZHuYu7ZU7fws8h/wvm5m2xhZn4Q+mo3hEwNuu4Wk=; b=d5axdb+gJ3JBX+S4Id0Po3rzQEmtbtIJJ8M7zf04jsRWhRANj520Jz0Jhg8DV4520V 6hmSmTXLikSFTVA6Gd+3V6yPdvhrk3mokpdWb1X4dHHo5oj6YFbyTL76p+QS/uHKffpR 1/+zA0dWo4O7iEs3B9O6IeVdQH3ybngSPTDdklPBqPxHv31lk3XjVEOMxHNl7dgy8mp+ rRToKxftbKcI67AAfBQl4gx1TPt7oZvb4hs6Mp9JL7UtXh49k9LMDjlS9mXqjZ5MbgbR T+TjbNf5YzWjGca2Qi6zzkQNcTFZr7Ay0h/2HvRiJpSlOzVbul6IPCkeouM+SFdvvFWA 8Ftg== X-Gm-Message-State: ACgBeo00KFxm5gPEV6XyueuyMFTfVyvFKiupdhSRLLPfZyq+mazPq0U3 FKnaDGfOTPBQCSp9qwN3MgOTZealhgKrPwxlDWQ+BQ== X-Google-Smtp-Source: AA6agR7SrCvnJpw52M5r1xIaz6Wg2VI1rgZgl3LhXZDDMHZmyb0T4EkwAEZv3gBaeB7X4ziO+w/QTrveG+EBl0nCXd4= X-Received: by 2002:a05:6402:27c8:b0:451:440a:2f48 with SMTP id c8-20020a05640227c800b00451440a2f48mr21250829ede.1.1663237082985; Thu, 15 Sep 2022 03:18:02 -0700 (PDT) MIME-Version: 1.0 From: Naresh Kamboju Date: Thu, 15 Sep 2022 15:47:51 +0530 Message-ID: Subject: BUG: sleeping function called from invalid context at arch/arm64/mm/fault.c:593 To: open list , linux-mm , rcu , "open list:GPIO SUBSYSTEM" , "open list:KERNEL SELFTEST FRAMEWORK" Cc: "Paul E. McKenney" , Shuah Khan , Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Christian Brauner Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663237084; a=rsa-sha256; cv=none; b=a2SDWtetMTMyNfO8vU/FsDM87IQLzlCOVrZG9hRM8iekHQ0OFKjkXkrrQoyBOdsdNYfKz0 AsGel0+FnvaE19aMhJus+YR8RF/xrfxMNF7v6/6wZyiA8X6ncKxAzaQROKfPGfsiwbyueh XuehsWnond5H+9SHD1fiDNFVNrRtCHA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=B69IuNZi; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf16.hostedemail.com: domain of naresh.kamboju@linaro.org designates 209.85.208.44 as permitted sender) smtp.mailfrom=naresh.kamboju@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663237084; 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:in-reply-to: references:dkim-signature; bh=jEhZHuYu7ZU7fws8h/wvm5m2xhZn4Q+mo3hEwNuu4Wk=; b=BY3VkY9jQcXh0TK0+dcSNRb4IcmBaKbGo3Oz+f0gn13KmLP9ct2d69xuyTyAXBqw9rBENq xON1n3+VuhyPbhGD/O0N4Evv4MEzQCrmmIrH+DuhiXW1/d/FoE+M7gKnUrYFxeJQ25uXxB 03bQxqxmt5FqzOvtf33QBo3CshLiblA= X-Rspam-User: X-Rspamd-Queue-Id: 96F361800A4 X-Rspamd-Server: rspam05 X-Stat-Signature: whzo3km8uausm9fx1tdh941aiorbr44n Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=B69IuNZi; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf16.hostedemail.com: domain of naresh.kamboju@linaro.org designates 209.85.208.44 as permitted sender) smtp.mailfrom=naresh.kamboju@linaro.org X-HE-Tag: 1663237084-795697 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: [Please ignore this email if it is already reported] Following kernel warning and BUG have been found while running kselftests gpio test case on arm64 Raspberry Pi 4 Model B device running 6.0.0-rc5. Reported-by: Linux Kernel Functional Testing crash log: [ 53.796405] kselftest: Running tests in gpio TAP version 13 1..2 # selftests: gpio: gpio-mockup.sh # 1. Module load tests # 1.1. dynamic allocation of gpio [ 55.416786] [ 55.418311] ============================= [ 55.422371] WARNING: suspicious RCU usage [ 55.426431] 6.0.0-rc5 #1 Not tainted [ 55.430052] ----------------------------- [ 55.434112] kernel/sched/core.c:9854 Illegal context switch in RCU-bh read-side critical section! [ 55.443108] [ 55.443108] other info that might help us debug this: [ 55.443108] [ 55.451222] [ 55.451222] rcu_scheduler_active = 2, debug_locks = 1 [ 55.457839] 1 lock held by modprobe/563: [ 55.461812] #0: ffff00004cf450f8 (&dev->mutex){....}-{3:3}, at: device_release_driver_internal+0x50/0x290 [ 55.471632] [ 55.471632] stack backtrace: [ 55.476046] CPU: 2 PID: 563 Comm: modprobe Not tainted 6.0.0-rc5 #1 [ 55.482401] Hardware name: Raspberry Pi 4 Model B (DT) [ 55.487607] Call trace: [ 55.490079] dump_backtrace+0xe4/0x130 [ 55.493879] show_stack+0x30/0x70 [ 55.497235] dump_stack_lvl+0x8c/0xb8 [ 55.500947] dump_stack+0x18/0x34 [ 55.504303] lockdep_rcu_suspicious+0xf8/0x10c [ 55.508806] __might_resched+0xd0/0x240 [ 55.512694] __might_sleep+0x58/0xb0 [ 55.516316] do_page_fault+0x244/0x4d0 [ 55.520116] do_translation_fault+0xd8/0x100 [ 55.524443] do_mem_abort+0x58/0xb0 [ 55.527979] el1_abort+0x44/0x70 [ 55.531248] el1h_64_sync_handler+0xa4/0xd0 [ 55.535487] el1h_64_sync+0x64/0x68 [ 55.539020] __lock_acquire+0x53c/0x2040 [ 55.542995] lock_acquire.part.0+0xe8/0x24c [ 55.547233] lock_acquire+0x84/0xa0 [ 55.550766] down_write+0x60/0xc4 [ 55.554123] simple_recursive_removal+0x58/0x290 [ 55.558803] debugfs_remove+0x5c/0x80 [ 55.562516] gpio_mockup_debugfs_cleanup+0x24/0x34 [gpio_mockup] [ 55.568614] devm_action_release+0x24/0x3c [ 55.572764] release_nodes+0x64/0x9c [ 55.576384] devres_release_all+0x94/0xec [ 55.580447] device_unbind_cleanup+0x24/0x74 [ 55.584773] device_release_driver_internal+0x240/0x290 [ 55.590070] driver_detach+0x5c/0xf0 [ 55.593691] bus_remove_driver+0x6c/0x10c [ 55.597753] driver_unregister+0x38/0x6c [ 55.601728] platform_driver_unregister+0x24/0x34 [ 55.606497] gpio_mockup_exit+0x24/0x20c [gpio_mockup] [ 55.611707] __arm64_sys_delete_module+0x184/0x2f0 [ 55.616562] invoke_syscall+0x8c/0x120 [ 55.620362] el0_svc_common.constprop.0+0x104/0x124 [ 55.625307] do_el0_svc+0x44/0xc0 [ 55.628664] el0_svc+0x48/0xc0 [ 55.631757] el0t_64_sync_handler+0xbc/0x140 [ 55.636084] el0t_64_sync+0x18c/0x190 [ 55.639793] [ 55.641298] ============================= [ 55.645356] WARNING: suspicious RCU usage [ 55.649417] 6.0.0-rc5 #1 Not tainted [ 55.653037] ----------------------------- [ 55.657096] kernel/sched/core.c:9854 Illegal context switch in RCU-sched read-side critical section! [ 55.666356] [ 55.666356] other info that might help us debug this: [ 55.666356] [ 55.674469] [ 55.674469] rcu_scheduler_active = 2, debug_locks = 1 [ 55.681084] 1 lock held by modprobe/563: [ 55.685057] #0: ffff00004cf450f8 (&dev->mutex){....}-{3:3}, at: device_release_driver_internal+0x50/0x290 [ 55.694863] [ 55.694863] stack backtrace: [ 55.699275] CPU: 2 PID: 563 Comm: modprobe Not tainted 6.0.0-rc5 #1 [ 55.705628] Hardware name: Raspberry Pi 4 Model B (DT) [ 55.710834] Call trace: [ 55.713306] dump_backtrace+0xe4/0x130 [ 55.717103] show_stack+0x30/0x70 [ 55.720459] dump_stack_lvl+0x8c/0xb8 [ 55.724170] dump_stack+0x18/0x34 [ 55.727526] lockdep_rcu_suspicious+0xf8/0x10c [ 55.732029] __might_resched+0x214/0x240 [ 55.736003] __might_sleep+0x58/0xb0 [ 55.739625] do_page_fault+0x244/0x4d0 [ 55.743424] do_translation_fault+0xd8/0x100 [ 55.747751] do_mem_abort+0x58/0xb0 [ 55.751286] el1_abort+0x44/0x70 [ 55.754556] el1h_64_sync_handler+0xa4/0xd0 [ 55.758794] el1h_64_sync+0x64/0x68 [ 55.762326] __lock_acquire+0x53c/0x2040 [ 55.766301] lock_acquire.part.0+0xe8/0x24c [ 55.770538] lock_acquire+0x84/0xa0 [ 55.774072] down_write+0x60/0xc4 [ 55.777428] simple_recursive_removal+0x58/0x290 [ 55.782107] debugfs_remove+0x5c/0x80 [ 55.785818] gpio_mockup_debugfs_cleanup+0x24/0x34 [gpio_mockup] [ 55.791911] devm_action_release+0x24/0x3c [ 55.796061] release_nodes+0x64/0x9c [ 55.799682] devres_release_all+0x94/0xec [ 55.803743] device_unbind_cleanup+0x24/0x74 [ 55.808070] device_release_driver_internal+0x240/0x290 [ 55.813367] driver_detach+0x5c/0xf0 [ 55.816988] bus_remove_driver+0x6c/0x10c [ 55.821050] driver_unregister+0x38/0x6c [ 55.825025] platform_driver_unregister+0x24/0x34 [ 55.829793] gpio_mockup_exit+0x24/0x20c [gpio_mockup] [ 55.835002] __arm64_sys_delete_module+0x184/0x2f0 [ 55.839858] invoke_syscall+0x8c/0x120 [ 55.843657] el0_svc_common.constprop.0+0x104/0x124 [ 55.848602] do_el0_svc+0x44/0xc0 [ 55.851958] el0_svc+0x48/0xc0 [ 55.855051] el0t_64_sync_handler+0xbc/0x140 [ 55.859378] el0t_64_sync+0x18c/0x190 [ 55.863087] BUG: sleeping function called from invalid context at arch/arm64/mm/fault.c:593 [ 55.871554] in_atomic(): 0, irqs_disabled(): 128, non_block: 0, pid: 563, name: modprobe [ 55.879757] preempt_count: 0, expected: 0 [ 55.883816] RCU nest depth: 0, expected: 0 [ 55.887965] 1 lock held by modprobe/563: [ 55.891936] #0: ffff00004cf450f8 (&dev->mutex){....}-{3:3}, at: device_release_driver_internal+0x50/0x290 [ 55.901743] irq event stamp: 10213 [ 55.905185] hardirqs last enabled at (10213): [] _raw_spin_unlock_irqrestore+0x84/0xa0 [ 55.914888] hardirqs last disabled at (10212): [] _raw_spin_lock_irqsave+0xa4/0xb0 [ 55.924151] softirqs last enabled at (9742): [] __do_softirq+0x514/0x62c [ 55.932618] softirqs last disabled at (9737): [] __irq_exit_rcu+0x164/0x19c [ 55.941265] CPU: 2 PID: 563 Comm: modprobe Not tainted 6.0.0-rc5 #1 [ 55.947618] Hardware name: Raspberry Pi 4 Model B (DT) [ 55.952823] Call trace: [ 55.955296] dump_backtrace+0xe4/0x130 [ 55.959093] show_stack+0x30/0x70 [ 55.962448] dump_stack_lvl+0x8c/0xb8 [ 55.966159] dump_stack+0x18/0x34 [ 55.969515] __might_resched+0x1c4/0x240 [ 55.973490] __might_sleep+0x58/0xb0 [ 55.977111] do_page_fault+0x244/0x4d0 [ 55.980910] do_translation_fault+0xd8/0x100 [ 55.985238] do_mem_abort+0x58/0xb0 [ 55.988774] el1_abort+0x44/0x70 [ 55.992043] el1h_64_sync_handler+0xa4/0xd0 [ 55.996281] el1h_64_sync+0x64/0x68 [ 55.999814] __lock_acquire+0x53c/0x2040 [ 56.003789] lock_acquire.part.0+0xe8/0x24c [ 56.008028] lock_acquire+0x84/0xa0 [ 56.011560] down_write+0x60/0xc4 [ 56.014916] simple_recursive_removal+0x58/0x290 [ 56.019594] debugfs_remove+0x5c/0x80 [ 56.023306] gpio_mockup_debugfs_cleanup+0x24/0x34 [gpio_mockup] [ 56.029400] devm_action_release+0x24/0x3c [ 56.033549] release_nodes+0x64/0x9c [ 56.037170] devres_release_all+0x94/0xec [ 56.041232] device_unbind_cleanup+0x24/0x74 [ 56.045559] device_release_driver_internal+0x240/0x290 [ 56.050855] driver_detach+0x5c/0xf0 [ 56.054477] bus_remove_driver+0x6c/0x10c [ 56.058539] driver_unregister+0x38/0x6c [ 56.062513] platform_driver_unregister+0x24/0x34 [ 56.067281] gpio_mockup_exit+0x24/0x20c [gpio_mockup] [ 56.072490] __arm64_sys_delete_module+0x184/0x2f0 [ 56.077346] invoke_syscall+0x8c/0x120 [ 56.081145] el0_svc_common.constprop.0+0x104/0x124 [ 56.086089] do_el0_svc+0x44/0xc0 [ 56.089446] el0_svc+0x48/0xc0 [ 56.092539] el0t_64_sync_handler+0xbc/0x140 [ 56.096866] el0t_64_sync+0x18c/0x190 [ 56.100584] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000150 [ 56.109495] Mem abort info: [ 56.112320] ESR = 0x0000000096000006 [ 56.116116] EC = 0x25: DABT (current EL), IL = 32 bits [ 56.121499] SET = 0, FnV = 0 [ 56.124589] EA = 0, S1PTW = 0 [ 56.127767] FSC = 0x06: level 2 translation fault [ 56.132708] Data abort info: [ 56.135622] ISV = 0, ISS = 0x00000006 [ 56.139505] CM = 0, WnR = 0 [ 56.142506] user pgtable: 4k pages, 48-bit VAs, pgdp=000000004adb5000 [ 56.149035] [0000000000000150] pgd=08000000469d2003, p4d=08000000469d2003, pud=0800000046b70003, pmd=0000000000000000 [ 56.159807] Internal error: Oops: 96000006 [#1] PREEMPT SMP [ 56.165455] Modules linked in: gpio_mockup(-) algif_hash aes_neon_bs aes_neon_blk xhci_pci raspberrypi_cpufreq snd_soc_hdmi_codec xhci_pci_renesas brcmfmac brcmutil hci_uart btqca btbcm cfg80211 bluetooth reset_raspberrypi crct10dif_ce clk_raspberrypi raspberrypi_hwmon rfkill iproc_rng200 pwm_bcm2835 v3d rng_core i2c_bcm2835 drm_shmem_helper vc4 bcm2711_thermal cec drm_display_helper drm_cma_helper gpu_sched pcie_brcmstb drm_kms_helper fuse drm [ 56.205467] CPU: 2 PID: 563 Comm: modprobe Tainted: G W 6.0.0-rc5 #1 [ 56.213318] Hardware name: Raspberry Pi 4 Model B (DT) [ 56.218523] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 56.225582] pc : __lock_acquire+0x53c/0x2040 [ 56.229910] lr : lock_acquire.part.0+0xe8/0x24c [ 56.234499] sp : ffff80000d03b8a0 [ 56.237852] x29: ffff80000d03b8a0 x28: ffff800008456678 x27: 0000000000000000 [ 56.245091] x26: ffff800008456678 x25: 0000000000000150 x24: 0000000000000000 [ 56.252329] x23: ffff00004c200040 x22: 0000000000000000 x21: 0000000000000001 [ 56.259567] x20: 0000000000000000 x19: 0000000000000000 x18: 0000000000000000 [ 56.266804] x17: ffff800008b93ed0 x16: 0000000000000000 x15: 0000000000000028 [ 56.274041] x14: 000000000004ffff x13: ffff80000b40dd00 x12: ffff80000802cff8 [ 56.281279] x11: ffff80000b40d840 x10: ffff80000802cdfc x9 : 0000000100000000 [ 56.288517] x8 : ffff00004c200040 x7 : ffff800008456678 x6 : 0000000000000000 [ 56.295755] x5 : 0000000000000001 x4 : 0000000000000001 x3 : 0000000000000000 [ 56.302992] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff80000aeb6000 [ 56.310230] Call trace: [ 56.312701] __lock_acquire+0x53c/0x2040 [ 56.316674] lock_acquire.part.0+0xe8/0x24c [ 56.320911] lock_acquire+0x84/0xa0 [ 56.324444] down_write+0x60/0xc4 [ 56.327799] simple_recursive_removal+0x58/0x290 [ 56.332477] debugfs_remove+0x5c/0x80 [ 56.336186] gpio_mockup_debugfs_cleanup+0x24/0x34 [gpio_mockup] [ 56.342276] devm_action_release+0x24/0x3c [ 56.346425] release_nodes+0x64/0x9c [ 56.350043] devres_release_all+0x94/0xec [ 56.354104] device_unbind_cleanup+0x24/0x74 [ 56.358430] device_release_driver_internal+0x240/0x290 [ 56.363725] driver_detach+0x5c/0xf0 [ 56.367346] bus_remove_driver+0x6c/0x10c [ 56.371407] driver_unregister+0x38/0x6c [ 56.375380] platform_driver_unregister+0x24/0x34 [ 56.380147] gpio_mockup_exit+0x24/0x20c [gpio_mockup] [ 56.385356] __arm64_sys_delete_module+0x184/0x2f0 [ 56.390211] invoke_syscall+0x8c/0x120 [ 56.394009] el0_svc_common.constprop.0+0x104/0x124 [ 56.398952] do_el0_svc+0x44/0xc0 [ 56.402308] el0_svc+0x48/0xc0 [ 56.405400] el0t_64_sync_handler+0xbc/0x140 [ 56.409725] el0t_64_sync+0x18c/0x190 [ 56.413435] Code: 6b01001f 54002668 a94573fb 1400003d (f9400321) [ 56.419613] ---[ end trace 0000000000000000 ]--- Full test log, https://lkft.validation.linaro.org/scheduler/job/5528616#L1360 metadata: git_ref: master git_repo: https://gitlab.com/Linaro/lkft/mirrors/torvalds/linux-mainline git_sha: 3245cb65fd91cd514801bf91f5a3066d562f0ac4 git_describe: v6.0-rc5-25-g3245cb65fd91 kernel_version: 6.0.0-rc5 kernel-config: https://builds.tuxbuild.com/2EkryDJF2MJ3zNyYOYb016CJbRv/config vmlinux.xz: https://builds.tuxbuild.com/2EkryDJF2MJ3zNyYOYb016CJbRv/vmlinux.xz System.map: https://builds.tuxbuild.com/2EkryDJF2MJ3zNyYOYb016CJbRv/System.map build-url: https://gitlab.com/Linaro/lkft/mirrors/torvalds/linux-mainline/-/pipelines/639865874 artifact-location: https://builds.tuxbuild.com/2EkryDJF2MJ3zNyYOYb016CJbRv toolchain: gcc-11 -- Linaro LKFT https://lkft.linaro.org