In the Linux kernel, the following vulnerability has been resolved: pmdomain: imx: gpcv2: Adjust delay after power up handshake The udelay(5) is not enough, sometimes below kernel panic still be triggered: [ 4.012973] Kernel panic - not syncing: Asynchronous SError Interrupt [ 4.012976] CPU: 2 UID: 0 PID: 186 Comm: (udev-worker) Not tainted 6.12.0-rc2-0.0.0-devel-00004-g8b1b79e88956 #1 [ 4.012982] Hardware name: Toradex Verdin iMX8M Plus WB on Dahlia Board (DT) [ 4.012985] Call trace: [...] [ 4.013029] arm64serrorpanic+0x64/0x70 [ 4.013034] doserror+0x3c/0x70 [ 4.013039] el1h64errorhandler+0x30/0x54 [ 4.013046] el1h64error+0x64/0x68 [ 4.013050] clkimx8mpaudiomixruntimeresume+0x38/0x48 [ 4.013059] _genpdruntimeresume+0x30/0x80 [ 4.013066] genpdruntimeresume+0x114/0x29c [ 4.013073] _rpmcallback+0x48/0x1e0 [ 4.013079] rpmcallback+0x68/0x80 [ 4.013084] rpmresume+0x3bc/0x6a0 [ 4.013089] _pmruntimeresume+0x50/0x9c [ 4.013095] pmruntimegetsuppliers+0x60/0x8c [ 4.013101] _driverprobedevice+0x4c/0x14c [ 4.013108] driverprobedevice+0x3c/0x120 [ 4.013114] _driverattach+0xc4/0x200 [ 4.013119] busforeachdev+0x7c/0xe0 [ 4.013125] driverattach+0x24/0x30 [ 4.013130] busadddriver+0x110/0x240 [ 4.013135] driverregister+0x68/0x124 [ 4.013142] _platformdriverregister+0x24/0x30 [ 4.013149] sdmadriverinit+0x20/0x1000 [imxsdma] [ 4.013163] dooneinitcall+0x60/0x1e0 [ 4.013168] doinitmodule+0x5c/0x21c [ 4.013175] loadmodule+0x1a98/0x205c [ 4.013181] initmodulefromfile+0x88/0xd4 [ 4.013187] _arm64sysfinitmodule+0x258/0x350 [ 4.013194] invokesyscall.constprop.0+0x50/0xe0 [ 4.013202] doel0svc+0xa8/0xe0 [ 4.013208] el0svc+0x3c/0x140 [ 4.013215] el0t64synchandler+0x120/0x12c [ 4.013222] el0t64sync+0x190/0x194 [ 4.013228] SMP: stopping secondary CPUs The correct way is to wait handshake, but it needs BUS clock of BLK-CTL be enabled, which is in separate driver. So delay is the only option here. The udelay(10) is a data got by experiment.
{ "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-21-generic-64k", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-cloud-tools-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-headers-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-headers-6.11.0-21-generic-64k", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-hwe-6.11-cloud-tools-6.11.0-21", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-hwe-6.11-headers-6.11.0-21", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-hwe-6.11-lib-rust-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-hwe-6.11-tools-6.11.0-21", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-6.11.0-21-generic-dbgsym", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-21-generic-64k", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-21-generic-64k-dbgsym", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-21-generic-dbgsym", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-6.11.0-21-generic-64k", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-ipu6-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-ipu7-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-usbio-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-modules-vision-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-tools-6.11.0-21-generic", "binary_version": "6.11.0-21.21~24.04.1" }, { "binary_name": "linux-tools-6.11.0-21-generic-64k", "binary_version": "6.11.0-21.21~24.04.1" } ], "availability": "No subscription required" }
{ "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-headers-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-image-unsigned-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-image-unsigned-6.11.0-1017-oem-dbgsym", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-ipu6-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-ipu7-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-usbio-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-modules-vision-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-oem-6.11-headers-6.11.0-1017", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-oem-6.11-tools-6.11.0-1017", "binary_version": "6.11.0-1017.17" }, { "binary_name": "linux-tools-6.11.0-1017-oem", "binary_version": "6.11.0-1017.17" } ], "availability": "No subscription required" }