mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [stable PATCH 2.6.21] ACPICA: Ignore ACPI table signature for Load() operator
@ 2008-06-19  2:13 Len Brown
  2008-06-19  8:09 ` Oliver Pinter
  0 siblings, 1 reply; 2+ messages in thread
From: Len Brown @ 2008-06-19  2:13 UTC (permalink / raw)
  To: stable; +Cc: linux-acpi, Linux Kernel Mailing List

From: Bob Moore <robert.moore@intel.com>

upstream bc45b1d39a925b56796bebf8a397a0491489d85c

Only "SSDT" is acceptable to the ACPI spec, but tables are
seen with OEMx and null sigs. Therefore, signature validation
is worthless.  Apparently MS ACPI accepts such signatures, ACPICA
must be compatible.

Without this patch booting with acpi_osi="!Windows 2006" is required
for several machines to function properly with cpufreq.

http://bugzilla.kernel.org/show_bug.cgi?id=9919
http://bugzilla.kernel.org/show_bug.cgi?id=10383
http://bugzilla.kernel.org/show_bug.cgi?id=10454
https://bugzilla.novell.com/show_bug.cgi?id=396311

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/tables/tbinstal.c |   25 +++++++------------------
 1 files changed, 7 insertions(+), 18 deletions(-)

Index: linux-2.6.21.y/drivers/acpi/tables/tbinstal.c
===================================================================
--- linux-2.6.21.y.orig/drivers/acpi/tables/tbinstal.c
+++ linux-2.6.21.y/drivers/acpi/tables/tbinstal.c
@@ -123,17 +123,13 @@ acpi_tb_add_table(struct acpi_table_desc
 		}
 	}
 
-	/* The table must be either an SSDT or a PSDT */
-
-	if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT))
-	    &&
-	    (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT)))
-	{
-		ACPI_ERROR((AE_INFO,
-			    "Table has invalid signature [%4.4s], must be SSDT or PSDT",
-			    table_desc->pointer->signature));
-		return_ACPI_STATUS(AE_BAD_SIGNATURE);
-	}
+	/*
+	 * Originally, we checked the table signature for "SSDT" or "PSDT" here.
+	 * Next, we added support for OEMx tables, signature "OEM".
+	 * Valid tables were encountered with a null signature, so we've just
+	 * given up on validating the signature, since it seems to be a waste
+	 * of code. The original code was removed (05/2008).
+	 */
 
 	(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [stable PATCH 2.6.21] ACPICA: Ignore ACPI table signature for Load() operator
  2008-06-19  2:13 [stable PATCH 2.6.21] ACPICA: Ignore ACPI table signature for Load() operator Len Brown
@ 2008-06-19  8:09 ` Oliver Pinter
  0 siblings, 0 replies; 2+ messages in thread
From: Oliver Pinter @ 2008-06-19  8:09 UTC (permalink / raw)
  To: Len Brown; +Cc: stable, linux-acpi, Linux Kernel Mailing List

thx picked up for 2.6.22

On 6/19/08, Len Brown <lenb@kernel.org> wrote:
> From: Bob Moore <robert.moore@intel.com>
>
> upstream bc45b1d39a925b56796bebf8a397a0491489d85c
>
> Only "SSDT" is acceptable to the ACPI spec, but tables are
> seen with OEMx and null sigs. Therefore, signature validation
> is worthless.  Apparently MS ACPI accepts such signatures, ACPICA
> must be compatible.
>
> Without this patch booting with acpi_osi="!Windows 2006" is required
> for several machines to function properly with cpufreq.
>
> http://bugzilla.kernel.org/show_bug.cgi?id=9919
> http://bugzilla.kernel.org/show_bug.cgi?id=10383
> http://bugzilla.kernel.org/show_bug.cgi?id=10454
> https://bugzilla.novell.com/show_bug.cgi?id=396311
>
> Signed-off-by: Bob Moore <robert.moore@intel.com>
> Signed-off-by: Lin Ming <ming.m.lin@intel.com>
> Signed-off-by: Len Brown <len.brown@intel.com>
> ---
>  drivers/acpi/tables/tbinstal.c |   25 +++++++------------------
>  1 files changed, 7 insertions(+), 18 deletions(-)
>
> Index: linux-2.6.21.y/drivers/acpi/tables/tbinstal.c
> ===================================================================
> --- linux-2.6.21.y.orig/drivers/acpi/tables/tbinstal.c
> +++ linux-2.6.21.y/drivers/acpi/tables/tbinstal.c
> @@ -123,17 +123,13 @@ acpi_tb_add_table(struct acpi_table_desc
>  		}
>  	}
>
> -	/* The table must be either an SSDT or a PSDT */
> -
> -	if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT))
> -	    &&
> -	    (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT)))
> -	{
> -		ACPI_ERROR((AE_INFO,
> -			    "Table has invalid signature [%4.4s], must be SSDT or PSDT",
> -			    table_desc->pointer->signature));
> -		return_ACPI_STATUS(AE_BAD_SIGNATURE);
> -	}
> +	/*
> +	 * Originally, we checked the table signature for "SSDT" or "PSDT" here.
> +	 * Next, we added support for OEMx tables, signature "OEM".
> +	 * Valid tables were encountered with a null signature, so we've just
> +	 * given up on validating the signature, since it seems to be a waste
> +	 * of code. The original code was removed (05/2008).
> +	 */
>
>  	(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>


-- 
Thanks,
Oliver

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-06-19  8:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-19  2:13 [stable PATCH 2.6.21] ACPICA: Ignore ACPI table signature for Load() operator Len Brown
2008-06-19  8:09 ` Oliver Pinter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®