Message ID | 20090329220127.GA12822@dreamland.darkstar.lan (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Mon, 30 Mar 2009 00:01:27 +0200, Luca Tettamanti wrote: > here's a revised patch: > --- > > The following patch changes the default value for option "acpi_enforce_resource" > to strict. It enforces strict resource checking - disallowing access by native > drivers to IO ports and memory regions claimed by ACPI firmware. > > The patch is mainly aimed to block native hwmon drivers from touching > monitoring chips that ACPI thinks it own. > > Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Acked-by: Jean Delvare <jdelvare@suse.de> > --- > Documentation/kernel-parameters.txt | 16 ++++++++++++++++ > drivers/acpi/osl.c | 6 +++--- > 2 files changed, 19 insertions(+), 3 deletions(-) > > Index: b/Documentation/kernel-parameters.txt > =================================================================== > --- a/Documentation/kernel-parameters.txt 2009-03-29 23:58:11.574893074 +0200 > +++ b/Documentation/kernel-parameters.txt 2009-03-29 23:58:31.582894852 +0200 > @@ -259,6 +259,22 @@ > to assume that this machine's pmtimer latches its value > and always returns good values. > > + acpi_enforce_resources= [ACPI] > + { strict | lax | no } > + Check for resource conflicts between native drivers > + and ACPI OperationRegions (SystemIO and SystemMemory > + only). IO ports and memory declared in ACPI might be > + used by the ACPI subsystem in arbitrary AML code and > + can interfere with legacy drivers. > + strict (default): access to resources claimed by ACPI > + is denied; legacy drivers trying to access reserved > + resources will fail to bind to device using them. > + lax: access to resources claimed by ACPI is allowed; > + legacy drivers trying to access reserved resources > + will bind successfully but a warning message is logged. > + no: ACPI OperationRegions are not marked as reserved, > + no further checks are performed. > + > agp= [AGP] > { off | try_unsupported } > off: disable AGP support > Index: b/drivers/acpi/osl.c > =================================================================== > --- a/drivers/acpi/osl.c 2009-03-29 23:58:11.942913535 +0200 > +++ b/drivers/acpi/osl.c 2009-03-29 23:58:31.586892815 +0200 > @@ -1070,9 +1070,9 @@ > * in arbitrary AML code and can interfere with legacy drivers. > * acpi_enforce_resources= can be set to: > * > - * - strict (2) > + * - strict (default) (2) > * -> further driver trying to access the resources will not load > - * - lax (default) (1) > + * - lax (1) > * -> further driver trying to access the resources will load, but you > * get a system message that something might go wrong... > * > @@ -1084,7 +1084,7 @@ > #define ENFORCE_RESOURCES_LAX 1 > #define ENFORCE_RESOURCES_NO 0 > > -static unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_LAX; > +static unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_STRICT; > > static int __init acpi_enforce_resources_setup(char *str) > { > > > Luca
Index: b/Documentation/kernel-parameters.txt =================================================================== --- a/Documentation/kernel-parameters.txt 2009-03-29 23:58:11.574893074 +0200 +++ b/Documentation/kernel-parameters.txt 2009-03-29 23:58:31.582894852 +0200 @@ -259,6 +259,22 @@ to assume that this machine's pmtimer latches its value and always returns good values. + acpi_enforce_resources= [ACPI] + { strict | lax | no } + Check for resource conflicts between native drivers + and ACPI OperationRegions (SystemIO and SystemMemory + only). IO ports and memory declared in ACPI might be + used by the ACPI subsystem in arbitrary AML code and + can interfere with legacy drivers. + strict (default): access to resources claimed by ACPI + is denied; legacy drivers trying to access reserved + resources will fail to bind to device using them. + lax: access to resources claimed by ACPI is allowed; + legacy drivers trying to access reserved resources + will bind successfully but a warning message is logged. + no: ACPI OperationRegions are not marked as reserved, + no further checks are performed. + agp= [AGP] { off | try_unsupported } off: disable AGP support Index: b/drivers/acpi/osl.c =================================================================== --- a/drivers/acpi/osl.c 2009-03-29 23:58:11.942913535 +0200 +++ b/drivers/acpi/osl.c 2009-03-29 23:58:31.586892815 +0200 @@ -1070,9 +1070,9 @@ * in arbitrary AML code and can interfere with legacy drivers. * acpi_enforce_resources= can be set to: * - * - strict (2) + * - strict (default) (2) * -> further driver trying to access the resources will not load - * - lax (default) (1) + * - lax (1) * -> further driver trying to access the resources will load, but you * get a system message that something might go wrong... * @@ -1084,7 +1084,7 @@ #define ENFORCE_RESOURCES_LAX 1 #define ENFORCE_RESOURCES_NO 0 -static unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_LAX; +static unsigned int acpi_enforce_resources = ENFORCE_RESOURCES_STRICT; static int __init acpi_enforce_resources_setup(char *str) {