lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date:   Mon, 2 May 2022 17:07:44 +0530
From:   Naresh Kamboju <naresh.kamboju@...aro.org>
To:     open list <linux-kernel@...r.kernel.org>,
        lkft-triage@...ts.linaro.org,
        linux-arm-msm <linux-arm-msm@...r.kernel.org>,
        Linux PM <linux-pm@...r.kernel.org>
Cc:     Viresh Kumar <viresh.kumar@...aro.org>,
        Arnd Bergmann <arnd@...db.de>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
        Anders Roxell <anders.roxell@...aro.org>
Subject: [db845c] WARNING: possible recursive locking detected - lock(&irq_desc_lock_class)

Following kernel DEADLOCK warning noticed on arm64 Qcom db845c device while
booting the device with kselftest merge config build image [1] & [2].

metadata:
  git_ref: master
  git_repo: https://gitlab.com/Linaro/lkft/mirrors/torvalds/linux-mainline
  git_sha: 672c0c5173427e6b3e2a9bbb7be51ceeec78093a
  git_describe: v5.18-rc5
  kernel_version: 5.18.0-rc5
  kernel-config: https://builds.tuxbuild.com/28a2o8LHusNjoIzC0DyjxMuD9pA/config
  vmlinux.xz: https://builds.tuxbuild.com/28a2o8LHusNjoIzC0DyjxMuD9pA/vmlinux.xz
  System.map: https://builds.tuxbuild.com/28a2o8LHusNjoIzC0DyjxMuD9pA/System.map
  artifact-location: https://builds.tuxbuild.com/28a2o8LHusNjoIzC0DyjxMuD9pA
  toolchain: gcc-11


Test log:
---------
[   12.978152] cpu cpu0: EM: created perf domain
[   12.984226] remoteproc remoteproc0: request_firmware failed: -2
[   12.991986]
[   12.996140] ============================================
[   13.001506] WARNING: possible recursive locking detected
[   13.006874] 5.18.0-rc5 #1 Not tainted
[   13.010584] --------------------------------------------
[   13.015946] kworker/u16:9/254 is trying to acquire lock:
[   13.019488] qcom_q6v5_pas remoteproc-cdsp: supply cx not found,
using dummy regulator
[   13.021314] ffff09e7811f8cf8 (&irq_desc_lock_class){-.-.}-{2:2},
at: __irq_get_desc_lock+0x64/0xa4
[   13.021342]
[   13.021342] but task is already holding lock:
[   13.021344] ffff09e785f4c0f8
[   13.037483] qcom_q6v5_pas remoteproc-cdsp: supply px not found,
using dummy regulator
[   13.038298]  (&irq_desc_lock_class
[   13.044607] cfg80211: Loading compiled-in X.509 certificates for
regulatory database
[   13.047108] ){-.-.}-{2:2}, at: __irq_get_desc_lock+0x64/0xa4
[   13.047116]
[   13.047116] other info that might help us debug this:
[   13.074565] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   13.078588]  Possible unsafe locking scenario:
[   13.078588]
[   13.078591]        CPU0
[   13.078593]        ----
[   13.078595]   lock(&irq_desc_lock_class);
[   13.078601]   lock(&irq_desc_lock_class);
[   13.078607]
[   13.078607]  *** DEADLOCK ***
[   13.078607]
[   13.078609]  May be due to missing lock nesting notation
[   13.078609]
[   13.078612] 6 locks held by kworker/u16:9/254:
[   13.078616]  #0:
[   13.085399] platform regulatory.0: Direct firmware load for
regulatory.db failed with error -2
[   13.091177] ffff09e780018d38
((wq_completion)events_unbound){+.+.}-{0:0}, at:
process_one_work+0x1e8/0x6e0
[   13.091196]  #1:
[   13.093692] cfg80211: failed to load regulatory.db
[   13.096138] ffff800008de3dd0 (deferred_probe_work){+.+.}-{0:0}, at:
process_one_work+0x1e8/0x6e0
[   13.157611]  #2: ffff09e7812e2988 (&dev->mutex){....}-{3:3}, at:
__device_attach+0x40/0x1d0
[   13.166066]  #3: ffffa9861bcd0b70 (cpu_hotplug_lock){++++}-{0:0},
at: cpus_read_lock+0x1c/0x2c
[   13.174783]  #4: ffff09e780f90918 (subsys mutex#8){+.+.}-{3:3}, at:
subsys_interface_register+0x64/0x150
[   13.184374]  #5: ffff09e785f4c0f8
(&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x64/0xa4
[   13.193869]
[   13.193869] stack backtrace:
[   13.198274] CPU: 3 PID: 254 Comm: kworker/u16:9 Not tainted 5.18.0-rc5 #1
[   13.205137] Hardware name: Thundercomm Dragonboard 845c (DT)
[   13.210856] Workqueue: events_unbound deferred_probe_work_func
[   13.216759] Call trace:
[   13.219238]  dump_backtrace+0xc0/0x134
[   13.223032]  show_stack+0x24/0x7c
[   13.226381]  dump_stack_lvl+0x8c/0xb8
[   13.230090]  dump_stack+0x18/0x34
[   13.233442]  __lock_acquire+0xbc0/0x2180
[   13.237406]  lock_acquire.part.0+0xe0/0x230
[   13.241639]  lock_acquire+0x68/0x84
[   13.245164]  _raw_spin_lock_irqsave+0x88/0x170
[   13.249659]  __irq_get_desc_lock+0x64/0xa4
[   13.253806]  enable_irq+0x40/0xb0
[   13.257158]  lmh_enable_interrupt+0x38/0x44 [lmh]
[   13.261924]  irq_enable+0x4c/0xa0
[   13.265277]  __irq_startup+0x80/0xb0
[   13.268896]  irq_startup+0x84/0x174
[   13.272432]  __enable_irq+0x7c/0x90
[   13.275967]  enable_irq+0x54/0xb0
[   13.279320]  qcom_cpufreq_ready+0x2c/0x40
[   13.283382]  cpufreq_online+0x7dc/0xa50
[   13.287263]  cpufreq_add_dev+0xd4/0xf0
[   13.291053]  subsys_interface_register+0x138/0x150
[   13.295899]  cpufreq_register_driver+0x180/0x300
[   13.300572]  qcom_cpufreq_hw_driver_probe+0xe0/0x150
[   13.305588]  platform_probe+0x74/0x100
[   13.309378]  really_probe+0x18c/0x3e0
[   13.313086]  __driver_probe_device+0x124/0x1a0
[   13.317577]  driver_probe_device+0x44/0x110
[   13.321809]  __device_attach_driver+0xb0/0x154
[   13.326302]  bus_for_each_drv+0x84/0xe0
[   13.330178]  __device_attach+0xe0/0x1d0
[   13.334056]  device_initial_probe+0x20/0x30
[   13.338288]  bus_probe_device+0xac/0xb4
[   13.342166]  deferred_probe_work_func+0xc8/0x120
[   13.346840]  process_one_work+0x280/0x6e0
[   13.350892]  worker_thread+0x80/0x434
[   13.354597]  kthread+0x10c/0x120
[   13.357863]  ret_from_fork+0x10/0x20
[   13.415473] xhci_hcd 0000:01:00.0: Adding to iommu group 6
[   13.423508] cpu cpu4: EM: created perf domain


Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>

--
Linaro LKFT
https://lkft.linaro.org

[1] https://lkft.validation.linaro.org/scheduler/job/4975803#L3721
[2] https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v5.18-rc5/testrun/9321027/suite/linux-log-parser/test/check-kernel-warning-4975803/log

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ