Patch "ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     acpi-apei-fix-_einj-vs-efi_memory_sp.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c285ecce5f21fd8f40a3aee206cbddc41c25545c
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date:   Fri Jun 24 16:05:26 2022 -0700

    ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP
    
    [ Upstream commit b13a3e5fd40b7d1b394c5ecbb5eb301a4c38e7b2 ]
    
    When a platform marks a memory range as "special purpose" it is not
    onlined as System RAM by default. However, it is still suitable for
    error injection. Add IORES_DESC_SOFT_RESERVED to einj_error_inject() as
    a permissible memory type in the sanity checking of the arguments to
    _EINJ.
    
    Fixes: 262b45ae3ab4 ("x86/efi: EFI soft reservation to E820 enumeration")
    Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
    Reported-by: Omar Avelar <omar.avelar@xxxxxxxxx>
    Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
index 133156759551..c281d5b339d3 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -544,6 +544,8 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
 	    ((region_intersects(base_addr, size, IORESOURCE_SYSTEM_RAM, IORES_DESC_NONE)
 				!= REGION_INTERSECTS) &&
 	     (region_intersects(base_addr, size, IORESOURCE_MEM, IORES_DESC_PERSISTENT_MEMORY)
+				!= REGION_INTERSECTS) &&
+	     (region_intersects(base_addr, size, IORESOURCE_MEM, IORES_DESC_SOFT_RESERVED)
 				!= REGION_INTERSECTS)))
 		return -EINVAL;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux