> -----Original Message----- > From: Ard Biesheuvel <[email protected]> > Sent: Monday, February 8, 2021 11:14 AM > To: Kaneda, Erik <[email protected]> > Cc: Rafael J. Wysocki <[email protected]>; Shawn Guo > <[email protected]>; Linux ARM <linux-arm- > [email protected]>; ACPI Devel Maling List <linux- > [email protected]>; Linux Kernel Mailing List <linux- > [email protected]>; open list:ACPI COMPONENT ARCHITECTURE > (ACPICA) <[email protected]>; Wysocki, Rafael J > <[email protected]>; Len Brown <[email protected]>; Moore, > Robert <[email protected]> > Subject: Re: [PATCH] Revert "ACPICA: Interpreter: fix memory leak by using > existing buffer" > > On Mon, 8 Feb 2021 at 20:07, Kaneda, Erik <[email protected]> wrote: > > > > > > > > > -----Original Message----- > > > From: Rafael J. Wysocki <[email protected]> > > > Sent: Monday, February 8, 2021 5:01 AM > > > To: Shawn Guo <[email protected]>; Ard Biesheuvel > > > <[email protected]>; Kaneda, Erik <[email protected]> > > > Cc: Linux ARM <[email protected]>; ACPI Devel Maling > > > List <[email protected]>; Linux Kernel Mailing List <linux- > > > [email protected]>; open list:ACPI COMPONENT ARCHITECTURE > > > (ACPICA) <[email protected]>; Wysocki, Rafael J > > > <[email protected]>; Len Brown <[email protected]>; Moore, > > > Robert <[email protected]> > > > Subject: Re: [PATCH] Revert "ACPICA: Interpreter: fix memory leak by > using > > > existing buffer" > > > > > > On Sat, Feb 6, 2021 at 11:49 AM Shawn Guo <[email protected]> > wrote: > > > > > > > > On Sat, Feb 06, 2021 at 09:49:37AM +0100, Ard Biesheuvel wrote: > > > > > This reverts commit 32cf1a12cad43358e47dac8014379c2f33dfbed4. > > > > > > > > > Hi Bob, Ard and Rafael, > > > > > > > The 'exisitng buffer' in this case is the firmware provided table, and > > > > > we should not modify that in place. This fixes a crash on arm64 with > > > > > initrd table overrides, in which case the DSDT is not mapped with > > > > > read/write permissions. > > > > Since this code runs on basically every _HID and _CID invocation, I would > have expected this kind of revert to come in for kernels that do not use > initrd > override... So it sounds like there is a difference between how pages are > mapped for initrd table overrides and tables exposed through the XSDT for > ARM.. I think it would be easier for us to make these fixes in the future if > we > could all come to a consensus on whether if we should assume that these > pages are writable or not. > > > > Should we assume that all ACPI tables are non-writable and read only > regardless of initrd override and architecture? > > > > ACPI tables are measured into the TPM on measured boot systems, and > checksummed, so I don't think we should ever modify them in place.
I'm not knowledgeable on TPM but I'm curious - what happens when the TPM detects that these ACPI tables are modified? > > But if we need code like this, it should be conditional at the very > least, i.e., it should only rewrite _HIDs and _CIDs if they are > incorrect to begin with. I agree that this would be a more efficient approach Erik

