CVE-2022-49424
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
26/02/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
iommu/mediatek: Fix NULL pointer dereference when printing dev_name<br />
<br />
When larbdev is NULL (in the case I hit, the node is incorrectly set<br />
iommus = ), it will cause device_link_add() fail and<br />
kernel crashes when we try to print dev_name(larbdev).<br />
<br />
Let&#39;s fail the probe if a larbdev is NULL to avoid invalid inputs from<br />
dts.<br />
<br />
It should work for normal correct setting and avoid the crash caused<br />
by my incorrect setting.<br />
<br />
Error log:<br />
[ 18.189042][ T301] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050<br />
...<br />
[ 18.344519][ T301] pstate: a0400005 (NzCv daif +PAN -UAO)<br />
[ 18.345213][ T301] pc : mtk_iommu_probe_device+0xf8/0x118 [mtk_iommu]<br />
[ 18.346050][ T301] lr : mtk_iommu_probe_device+0xd0/0x118 [mtk_iommu]<br />
[ 18.346884][ T301] sp : ffffffc00a5635e0<br />
[ 18.347392][ T301] x29: ffffffc00a5635e0 x28: ffffffd44a46c1d8<br />
[ 18.348156][ T301] x27: ffffff80c39a8000 x26: ffffffd44a80cc38<br />
[ 18.348917][ T301] x25: 0000000000000000 x24: ffffffd44a80cc38<br />
[ 18.349677][ T301] x23: ffffffd44e4da4c6 x22: ffffffd44a80cc38<br />
[ 18.350438][ T301] x21: ffffff80cecd1880 x20: 0000000000000000<br />
[ 18.351198][ T301] x19: ffffff80c439f010 x18: ffffffc00a50d0c0<br />
[ 18.351959][ T301] x17: ffffffffffffffff x16: 0000000000000004<br />
[ 18.352719][ T301] x15: 0000000000000004 x14: ffffffd44eb5d420<br />
[ 18.353480][ T301] x13: 0000000000000ad2 x12: 0000000000000003<br />
[ 18.354241][ T301] x11: 00000000fffffad2 x10: c0000000fffffad2<br />
[ 18.355003][ T301] x9 : a0d288d8d7142d00 x8 : a0d288d8d7142d00<br />
[ 18.355763][ T301] x7 : ffffffd44c2bc640 x6 : 0000000000000000<br />
[ 18.356524][ T301] x5 : 0000000000000080 x4 : 0000000000000001<br />
[ 18.357284][ T301] x3 : 0000000000000000 x2 : 0000000000000005<br />
[ 18.358045][ T301] x1 : 0000000000000000 x0 : 0000000000000000<br />
[ 18.360208][ T301] Hardware name: MT6873 (DT)<br />
[ 18.360771][ T301] Call trace:<br />
[ 18.361168][ T301] dump_backtrace+0xf8/0x1f0<br />
[ 18.361737][ T301] dump_stack_lvl+0xa8/0x11c<br />
[ 18.362305][ T301] dump_stack+0x1c/0x2c<br />
[ 18.362816][ T301] mrdump_common_die+0x184/0x40c [mrdump]<br />
[ 18.363575][ T301] ipanic_die+0x24/0x38 [mrdump]<br />
[ 18.364230][ T301] atomic_notifier_call_chain+0x128/0x2b8<br />
[ 18.364937][ T301] die+0x16c/0x568<br />
[ 18.365394][ T301] __do_kernel_fault+0x1e8/0x214<br />
[ 18.365402][ T301] do_page_fault+0xb8/0x678<br />
[ 18.366934][ T301] do_translation_fault+0x48/0x64<br />
[ 18.368645][ T301] do_mem_abort+0x68/0x148<br />
[ 18.368652][ T301] el1_abort+0x40/0x64<br />
[ 18.368660][ T301] el1h_64_sync_handler+0x54/0x88<br />
[ 18.368668][ T301] el1h_64_sync+0x68/0x6c<br />
[ 18.368673][ T301] mtk_iommu_probe_device+0xf8/0x118 [mtk_iommu]<br />
...