Patch "ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions" 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

    ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions

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:
     acpica-actypes.h-expand-the-acpi_access_-definitions.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 e1f66cae86eaf549cb1a7a60b3242869feb9432b
Author: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
Date:   Wed Dec 22 16:57:34 2021 +0100

    ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions
    
    [ Upstream commit f81bdeaf816142e0729eea0cc84c395ec9673151 ]
    
    ACPICA commit bc02c76d518135531483dfc276ed28b7ee632ce1
    
    The current ACPI_ACCESS_*_WIDTH defines do not provide a way to
    test that size is small enough to not cause an overflow when
    applied to a 32-bit integer.
    
    Rather than adding more magic numbers, add ACPI_ACCESS_*_SHIFT,
    ACPI_ACCESS_*_MAX, and ACPI_ACCESS_*_DEFAULT #defines and
    redefine ACPI_ACCESS_*_WIDTH in terms of the new #defines.
    
    This was inititally reported on Linux where a size of 102 in
    ACPI_ACCESS_BIT_WIDTH caused an overflow error in the SPCR
    initialization code.
    
    Link: https://github.com/acpica/acpica/commit/bc02c76d
    Signed-off-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx>
    Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 647cb11d0a0a3..7334037624c5c 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -536,8 +536,14 @@ typedef u64 acpi_integer;
  * Can be used with access_width of struct acpi_generic_address and access_size of
  * struct acpi_resource_generic_register.
  */
-#define ACPI_ACCESS_BIT_WIDTH(size)     (1 << ((size) + 2))
-#define ACPI_ACCESS_BYTE_WIDTH(size)    (1 << ((size) - 1))
+#define ACPI_ACCESS_BIT_SHIFT		2
+#define ACPI_ACCESS_BYTE_SHIFT		-1
+#define ACPI_ACCESS_BIT_MAX		(31 - ACPI_ACCESS_BIT_SHIFT)
+#define ACPI_ACCESS_BYTE_MAX		(31 - ACPI_ACCESS_BYTE_SHIFT)
+#define ACPI_ACCESS_BIT_DEFAULT		(8 - ACPI_ACCESS_BIT_SHIFT)
+#define ACPI_ACCESS_BYTE_DEFAULT	(8 - ACPI_ACCESS_BYTE_SHIFT)
+#define ACPI_ACCESS_BIT_WIDTH(size)	(1 << ((size) + ACPI_ACCESS_BIT_SHIFT))
+#define ACPI_ACCESS_BYTE_WIDTH(size)	(1 << ((size) + ACPI_ACCESS_BYTE_SHIFT))
 
 /*******************************************************************************
  *



[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