CVE-2022-50029
Publication date:
18/06/2025
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
clk: qcom: ipq8074: dont disable gcc_sleep_clk_src<br />
<br />
Once the usb sleep clocks are disabled, clock framework is trying to<br />
disable the sleep clock source also.<br />
<br />
However, it seems that it cannot be disabled and trying to do so produces:<br />
[ 245.436390] ------------[ cut here ]------------<br />
[ 245.441233] gcc_sleep_clk_src status stuck at &#39;on&#39;<br />
[ 245.441254] WARNING: CPU: 2 PID: 223 at clk_branch_wait+0x130/0x140<br />
[ 245.450435] Modules linked in: xhci_plat_hcd xhci_hcd dwc3 dwc3_qcom leds_gpio<br />
[ 245.456601] CPU: 2 PID: 223 Comm: sh Not tainted 5.18.0-rc4 #215<br />
[ 245.463889] Hardware name: Xiaomi AX9000 (DT)<br />
[ 245.470050] pstate: 204000c5 (nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)<br />
[ 245.474307] pc : clk_branch_wait+0x130/0x140<br />
[ 245.481073] lr : clk_branch_wait+0x130/0x140<br />
[ 245.485588] sp : ffffffc009f2bad0<br />
[ 245.489838] x29: ffffffc009f2bad0 x28: ffffff8003e6c800 x27: 0000000000000000<br />
[ 245.493057] x26: 0000000000000000 x25: 0000000000000000 x24: ffffff800226ef20<br />
[ 245.500175] x23: ffffffc0089ff550 x22: 0000000000000000 x21: ffffffc008476ad0<br />
[ 245.507294] x20: 0000000000000000 x19: ffffffc00965ac70 x18: fffffffffffc51a7<br />
[ 245.514413] x17: 68702e3030303837 x16: 3a6d726f6674616c x15: ffffffc089f2b777<br />
[ 245.521531] x14: ffffffc0095c9d18 x13: 0000000000000129 x12: 0000000000000129<br />
[ 245.528649] x11: 00000000ffffffea x10: ffffffc009621d18 x9 : 0000000000000001<br />
[ 245.535767] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : 0000000000000001<br />
[ 245.542885] x5 : ffffff803fdca6d8 x4 : 0000000000000000 x3 : 0000000000000027<br />
[ 245.550002] x2 : 0000000000000027 x1 : 0000000000000023 x0 : 0000000000000026<br />
[ 245.557122] Call trace:<br />
[ 245.564229] clk_branch_wait+0x130/0x140<br />
[ 245.566490] clk_branch2_disable+0x2c/0x40<br />
[ 245.570656] clk_core_disable+0x60/0xb0<br />
[ 245.574561] clk_core_disable+0x68/0xb0<br />
[ 245.578293] clk_disable+0x30/0x50<br />
[ 245.582113] dwc3_qcom_remove+0x60/0xc0 [dwc3_qcom]<br />
[ 245.585588] platform_remove+0x28/0x60<br />
[ 245.590361] device_remove+0x4c/0x80<br />
[ 245.594179] device_release_driver_internal+0x1dc/0x230<br />
[ 245.597914] device_driver_detach+0x18/0x30<br />
[ 245.602861] unbind_store+0xec/0x110<br />
[ 245.607027] drv_attr_store+0x24/0x40<br />
[ 245.610847] sysfs_kf_write+0x44/0x60<br />
[ 245.614405] kernfs_fop_write_iter+0x128/0x1c0<br />
[ 245.618052] new_sync_write+0xc0/0x130<br />
[ 245.622391] vfs_write+0x1d4/0x2a0<br />
[ 245.626123] ksys_write+0x58/0xe0<br />
[ 245.629508] __arm64_sys_write+0x1c/0x30<br />
[ 245.632895] invoke_syscall.constprop.0+0x5c/0x110<br />
[ 245.636890] do_el0_svc+0xa0/0x150<br />
[ 245.641488] el0_svc+0x18/0x60<br />
[ 245.644872] el0t_64_sync_handler+0xa4/0x130<br />
[ 245.647914] el0t_64_sync+0x174/0x178<br />
[ 245.652340] ---[ end trace 0000000000000000 ]---<br />
<br />
So, add CLK_IS_CRITICAL flag to the clock so that the kernel won&#39;t try<br />
to disable the sleep clock.
Severity CVSS v4.0: Pending analysis
Last modification:
13/11/2025