Messages in this thread Patch in this message | | | From | Shuai Xue <> | Subject | [PATCH] ACPI: APEI: EINJ: Limit error type to 32-bit width | Date | Wed, 18 Jan 2023 14:35:04 +0800 |
| |
The bit map of error types to inject is 32-bit width[1]. Add parameter check to reflect the fact.
[1] ACPI Specification 6.4, Section 18.6.4. Error Types
Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> --- drivers/acpi/apei/einj.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c index ab86b2f4e719..b4373e575660 100644 --- a/drivers/acpi/apei/einj.c +++ b/drivers/acpi/apei/einj.c @@ -616,6 +616,10 @@ static int error_type_set(void *data, u64 val) u32 available_error_type = 0; u32 tval, vendor; + /* Only low 32 bits for error type are valid */ + if (val & GENMASK_ULL(63, 32)) + return -EINVAL; + /* * Vendor defined types have 0x80000000 bit set, and * are not enumerated by ACPI_EINJ_GET_ERROR_TYPE -- 2.20.1.12.g72788fdb
| |