RE: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources

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

 



> -----Original Message-----
> From: Luck, Tony [mailto:tony.luck@xxxxxxxxx]
> Sent: Tuesday, August 22, 2017 12:03 PM
> To: Ghannam, Yazen <Yazen.Ghannam@xxxxxxx>
> Cc: linux-acpi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> rjw@xxxxxxxxxxxxx; lenb@xxxxxxxxxx; linux-edac@xxxxxxxxxxxxxxx; Borislav
> Petkov <bp@xxxxxxx>
> Subject: Re: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region
> from Trigger resources
> 
> On Tue, Aug 22, 2017 at 02:04:27PM +0000, Ghannam, Yazen wrote:
> > > *einj_get_trigger_parameter_region(
> > >  		((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
> > >  	for (i = 0; i < trigger_tab->entry_count; i++) {
> > >  		if (entry->action == ACPI_EINJ_TRIGGER_ERROR &&
> > > -		entry->instruction == ACPI_EINJ_WRITE_REGISTER_VALUE &&
> > >  		entry->register_region.space_id ==
> > >  			ACPI_ADR_SPACE_SYSTEM_MEMORY &&
> > >  		(entry->register_region.address & param2) == (param1 &
> > > param2))
> 
> Maybe you should add the other instruction types that make sense here
> (ACPI_EINJ_READ_REGISTER, ACPI_EINJ_READ_REGISTER_VALUE and
> ACPI_EINJ_WRITE_REGISTER) as a sanity check against the BIOS giving you an
> action in the trigger table that doesn't involve a memory access?
> 

Yes, in that case we can do:
entry->instruction <= ACPI_EINJ_WRITE_REGISTER_VALUE

That would cover all the memory access instructions and protect against invalid
instructions.

How does that sound?

Thanks,
Yazen
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux