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
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 10.1 KB |
Makefile | -rw-r--r-- | 2.5 KB |
tegra186_asrc.c | -rw-r--r-- | 32.4 KB |
tegra186_asrc.h | -rw-r--r-- | 4.5 KB |
tegra186_dspk.c | -rw-r--r-- | 15.0 KB |
tegra186_dspk.h | -rw-r--r-- | 1.7 KB |
tegra20_ac97.c | -rw-r--r-- | 11.5 KB |
tegra20_ac97.h | -rw-r--r-- | 3.3 KB |
tegra20_das.c | -rw-r--r-- | 6.0 KB |
tegra20_i2s.c | -rw-r--r-- | 12.5 KB |
tegra20_i2s.h | -rw-r--r-- | 6.9 KB |
tegra20_spdif.c | -rw-r--r-- | 10.8 KB |
tegra20_spdif.h | -rw-r--r-- | 17.6 KB |
tegra210_admaif.c | -rw-r--r-- | 26.2 KB |
tegra210_admaif.h | -rw-r--r-- | 6.7 KB |
tegra210_adx.c | -rw-r--r-- | 14.8 KB |
tegra210_adx.h | -rw-r--r-- | 2.5 KB |
tegra210_ahub.c | -rw-r--r-- | 39.9 KB |
tegra210_ahub.h | -rw-r--r-- | 4.1 KB |
tegra210_amx.c | -rw-r--r-- | 16.6 KB |
tegra210_amx.h | -rw-r--r-- | 3.0 KB |
tegra210_dmic.c | -rw-r--r-- | 15.5 KB |
tegra210_dmic.h | -rw-r--r-- | 2.2 KB |
tegra210_i2s.c | -rw-r--r-- | 26.6 KB |
tegra210_i2s.h | -rw-r--r-- | 3.8 KB |
tegra210_mbdrc.c | -rw-r--r-- | 30.7 KB |
tegra210_mbdrc.h | -rw-r--r-- | 8.2 KB |
tegra210_mixer.c | -rw-r--r-- | 18.9 KB |
tegra210_mixer.h | -rw-r--r-- | 4.0 KB |
tegra210_mvc.c | -rw-r--r-- | 20.3 KB |
tegra210_mvc.h | -rw-r--r-- | 3.9 KB |
tegra210_ope.c | -rw-r--r-- | 10.7 KB |
tegra210_ope.h | -rw-r--r-- | 2.4 KB |
tegra210_peq.c | -rw-r--r-- | 12.1 KB |
tegra210_peq.h | -rw-r--r-- | 1.8 KB |
tegra210_sfc.c | -rw-r--r-- | 87.3 KB |
tegra210_sfc.h | -rw-r--r-- | 2.0 KB |
tegra30_ahub.c | -rw-r--r-- | 18.0 KB |
tegra30_ahub.h | -rw-r--r-- | 24.0 KB |
tegra30_i2s.c | -rw-r--r-- | 14.9 KB |
tegra30_i2s.h | -rw-r--r-- | 10.7 KB |
tegra_asoc_machine.c | -rw-r--r-- | 23.8 KB |
tegra_asoc_machine.h | -rw-r--r-- | 1.3 KB |
tegra_audio_graph_card.c | -rw-r--r-- | 6.8 KB |
tegra_cif.h | -rw-r--r-- | 1.9 KB |
tegra_pcm.c | -rw-r--r-- | 5.8 KB |
tegra_pcm.h | -rw-r--r-- | 1.4 KB |
tegra_wm8903.c | -rw-r--r-- | 5.3 KB |
Computing file changes ...