Commit aa197306 authored by Shuai Xue's avatar Shuai Xue Committed by Wen Jin
Browse files

ACPI: APEI: EINJ: Limit error type to 32-bit width

mainline inclusion
from mainline-v6.3-rc1
commit 53fc7e80
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I8ZRE0
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=53fc7e80f3aa9c34d396bcfbcc03a4c0d2eaac96



--------------------------------

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

Intel-SIG: commit 53fc7e80 ACPI: APEI: EINJ: Limit error type to 32-bit width.
Backport to limit error types to 32-bit width.

Signed-off-by: default avatarShuai Xue <xueshuai@linux.alibaba.com>
Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarWen Jin <wen.jin@intel.com>
parent fb6904ec
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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