Revision d81916910f7498fe7a768697e0101d488f9fe665 authored by Yang Yingliang on 29 October 2022, 08:29:31 UTC, committed by Huacai Chen on 29 October 2022, 08:29:31 UTC
Currently the return value of 'sub_driver->init' is not checked. If
sparse_keymap_setup() called in the init function fails, 'generic_
inputdev' is freed, then it will lead a UAF when using it in generic_
acpi_laptop_init(). Fix it by checking the return value and setting
generic_inputdev to NULL after free, so as to avoid double free it.

The error code in generic_subdriver_init() is always negative, so the
return of generic_subdriver_init() can be simplified.

Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
1 parent fbe605a
History
File Mode Size
adi
amd
apple
atmel
au1x
bcm
cirrus
codecs
dwc
fsl
generic
hisilicon
img
intel
jz4740
kirkwood
mediatek
meson
mxs
pxa
qcom
rockchip
samsung
sh
sof
spear
sprd
sti
stm
sunxi
tegra
ti
uniphier
ux500
xilinx
xtensa
Kconfig -rw-r--r-- 2.9 KB
Makefile -rw-r--r-- 2.1 KB
soc-ac97.c -rw-r--r-- 10.6 KB
soc-acpi.c -rw-r--r-- 3.0 KB
soc-card.c -rw-r--r-- 5.9 KB
soc-component.c -rw-r--r-- 34.1 KB
soc-compress.c -rw-r--r-- 18.0 KB
soc-core.c -rw-r--r-- 86.0 KB
soc-dai.c -rw-r--r-- 21.2 KB
soc-dapm.c -rw-r--r-- 123.0 KB
soc-devres.c -rw-r--r-- 3.9 KB
soc-generic-dmaengine-pcm.c -rw-r--r-- 13.8 KB
soc-jack.c -rw-r--r-- 11.3 KB
soc-link.c -rw-r--r-- 5.6 KB
soc-ops.c -rw-r--r-- 26.8 KB
soc-pcm.c -rw-r--r-- 79.6 KB
soc-topology-test.c -rw-r--r-- 23.8 KB
soc-topology.c -rw-r--r-- 71.5 KB
soc-utils-test.c -rw-r--r-- 9.6 KB
soc-utils.c -rw-r--r-- 7.1 KB

back to top