lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN6PR1201MB013106200C118FC6336017C8F8850@BN6PR1201MB0131.namprd12.prod.outlook.com>
Date:   Wed, 23 Aug 2017 16:37:43 +0000
From:   "Ghannam, Yazen" <Yazen.Ghannam@....com>
To:     "Luck, Tony" <tony.luck@...el.com>
CC:     "linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "rjw@...ysocki.net" <rjw@...ysocki.net>,
        "lenb@...nel.org" <lenb@...nel.org>,
        "linux-edac@...r.kernel.org" <linux-edac@...r.kernel.org>,
        Borislav Petkov <bp@...e.de>
Subject: RE: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region
 from Trigger resources

> -----Original Message-----
> From: Luck, Tony [mailto:tony.luck@...el.com]
> Sent: Tuesday, August 22, 2017 12:03 PM
> To: Ghannam, Yazen <Yazen.Ghannam@....com>
> Cc: linux-acpi@...r.kernel.org; linux-kernel@...r.kernel.org;
> rjw@...ysocki.net; lenb@...nel.org; linux-edac@...r.kernel.org; Borislav
> Petkov <bp@...e.de>
> 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ