> -----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