All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Linton <jeremy.linton@arm.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com,
	will.deacon@arm.com, ard.biesheuvel@linaro.org,
	james.morse@arm.com, rafael.j.wysocki@intel.com,
	takahiro.akashi@linaro.org, sudeep.holla@arm.com,
	ahs3@redhat.com, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] arm64: acpi: Prepare for longer MADTs
Date: Tue, 27 Nov 2018 10:32:37 -0600	[thread overview]
Message-ID: <9cb71380-6546-4c4b-9075-10e21784d476@arm.com> (raw)
In-Reply-To: <20181127150150.GA25270@e107981-ln.cambridge.arm.com>

Hi Lorenzo,

On 11/27/2018 09:01 AM, Lorenzo Pieralisi wrote:
> On Fri, Oct 12, 2018 at 02:29:37PM -0500, Jeremy Linton wrote:
>> The BAD_MADT_GICC_ENTRY check is a little too strict because
>> it rejects MADT entries that don't match the currently known
>> lengths. We should remove this restriction to avoid problems
>> if the table length changes. Future code which might depend on
>> additional fields should be written to validate those fields
>> before using them, rather than trying to globally check
>> known MADT version lengths.
>>
>> Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
>> ---
>>   arch/arm64/include/asm/acpi.h | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> Hi Jeremy,
> 
> as mentioned, I added a comment to the macro so that in the future
> we will be able to remember the logic behind it.

It all looks good to me, Thanks!


> 
> I pushed the commit out:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git acpi/madt
> 
> Please have a look, if I hear no objections I shall be sending it to
> Will and Catalin to queue it for v4.21.
> 
> Thanks,
> Lorenzo
> 
>> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
>> index 709208dfdc8b..4d0946bd485a 100644
>> --- a/arch/arm64/include/asm/acpi.h
>> +++ b/arch/arm64/include/asm/acpi.h
>> @@ -22,12 +22,12 @@
>>   #include <asm/tlbflush.h>
>>   
>>   /* Macros for consistency checks of the GICC subtable of MADT */
>> -#define ACPI_MADT_GICC_LENGTH	\
>> -	(acpi_gbl_FADT.header.revision < 6 ? 76 : 80)
>> +#define ACPI_MADT_GICC_MIN_LENGTH   ACPI_OFFSET(  \
>> +	struct acpi_madt_generic_interrupt, efficiency_class)
>>   
>>   #define BAD_MADT_GICC_ENTRY(entry, end)					\
>> -	(!(entry) || (entry)->header.length != ACPI_MADT_GICC_LENGTH ||	\
>> -	(unsigned long)(entry) + ACPI_MADT_GICC_LENGTH > (end))
>> +	(!(entry) || (entry)->header.length < ACPI_MADT_GICC_MIN_LENGTH || \
>> +	(unsigned long)(entry) + (entry)->header.length > (end))
>>   
>>   /* Basic configuration for ACPI */
>>   #ifdef	CONFIG_ACPI
>> -- 
>> 2.14.3
>>

WARNING: multiple messages have this Message-ID (diff)
From: jeremy.linton@arm.com (Jeremy Linton)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] arm64: acpi: Prepare for longer MADTs
Date: Tue, 27 Nov 2018 10:32:37 -0600	[thread overview]
Message-ID: <9cb71380-6546-4c4b-9075-10e21784d476@arm.com> (raw)
In-Reply-To: <20181127150150.GA25270@e107981-ln.cambridge.arm.com>

Hi Lorenzo,

On 11/27/2018 09:01 AM, Lorenzo Pieralisi wrote:
> On Fri, Oct 12, 2018 at 02:29:37PM -0500, Jeremy Linton wrote:
>> The BAD_MADT_GICC_ENTRY check is a little too strict because
>> it rejects MADT entries that don't match the currently known
>> lengths. We should remove this restriction to avoid problems
>> if the table length changes. Future code which might depend on
>> additional fields should be written to validate those fields
>> before using them, rather than trying to globally check
>> known MADT version lengths.
>>
>> Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
>> ---
>>   arch/arm64/include/asm/acpi.h | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> Hi Jeremy,
> 
> as mentioned, I added a comment to the macro so that in the future
> we will be able to remember the logic behind it.

It all looks good to me, Thanks!


> 
> I pushed the commit out:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git acpi/madt
> 
> Please have a look, if I hear no objections I shall be sending it to
> Will and Catalin to queue it for v4.21.
> 
> Thanks,
> Lorenzo
> 
>> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
>> index 709208dfdc8b..4d0946bd485a 100644
>> --- a/arch/arm64/include/asm/acpi.h
>> +++ b/arch/arm64/include/asm/acpi.h
>> @@ -22,12 +22,12 @@
>>   #include <asm/tlbflush.h>
>>   
>>   /* Macros for consistency checks of the GICC subtable of MADT */
>> -#define ACPI_MADT_GICC_LENGTH	\
>> -	(acpi_gbl_FADT.header.revision < 6 ? 76 : 80)
>> +#define ACPI_MADT_GICC_MIN_LENGTH   ACPI_OFFSET(  \
>> +	struct acpi_madt_generic_interrupt, efficiency_class)
>>   
>>   #define BAD_MADT_GICC_ENTRY(entry, end)					\
>> -	(!(entry) || (entry)->header.length != ACPI_MADT_GICC_LENGTH ||	\
>> -	(unsigned long)(entry) + ACPI_MADT_GICC_LENGTH > (end))
>> +	(!(entry) || (entry)->header.length < ACPI_MADT_GICC_MIN_LENGTH || \
>> +	(unsigned long)(entry) + (entry)->header.length > (end))
>>   
>>   /* Basic configuration for ACPI */
>>   #ifdef	CONFIG_ACPI
>> -- 
>> 2.14.3
>>

  reply	other threads:[~2018-11-27 16:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-12 19:29 [PATCH 2/2] arm64: acpi: Prepare for longer MADTs Jeremy Linton
2018-10-12 19:29 ` Jeremy Linton
2018-10-15  9:29 ` Sudeep Holla
2018-10-15  9:29   ` Sudeep Holla
2018-11-01 11:31 ` Lorenzo Pieralisi
2018-11-01 11:31   ` Lorenzo Pieralisi
2018-11-01 14:22   ` Sudeep Holla
2018-11-01 14:22     ` Sudeep Holla
2018-11-27 15:01 ` Lorenzo Pieralisi
2018-11-27 15:01   ` Lorenzo Pieralisi
2018-11-27 16:32   ` Jeremy Linton [this message]
2018-11-27 16:32     ` Jeremy Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9cb71380-6546-4c4b-9075-10e21784d476@arm.com \
    --to=jeremy.linton@arm.com \
    --cc=ahs3@redhat.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=james.morse@arm.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=sudeep.holla@arm.com \
    --cc=takahiro.akashi@linaro.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.