diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2022-10-29 16:29:31 +0800 |
---|---|---|
committer | Huacai Chen <chenhuacai@loongson.cn> | 2022-10-29 16:29:31 +0800 |
commit | d81916910f7498fe7a768697e0101d488f9fe665 (patch) | |
tree | f5e4acc79381de7867a57ae8b2e5fb3b414035ce /arch | |
parent | fbe605ab157b174385b3f19ce33928d3548a9b09 (diff) |
platform/loongarch: laptop: Fix possible UAF and simplify generic_acpi_laptop_init()
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>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions