Re: [PATCH][BUG] LoadTable() operator fails

Kenji Kaneshige
2005-01-07T02:14:39Z

[-- Attachment #1: Type: text/plain, Size: 1786 bytes --]

Hi,

My mailer inserted unnecessary line feeds into the patch.
So I send it again.

Thanks,
Kenji Kaneshige

Kenji Kaneshige wrote:
> Hi,
>
> The execution of the LoadTable() operator might fail because of the
> bug on OEM ID comparison. The following patch fixes this issue.
>
> Signed-off-by: Kenji Kaneshige <kaneshige.kenji-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
>
>
> ---
>
> linux-2.6.10-kanesige/drivers/acpi/tables/tbxfroot.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff -puN drivers/acpi/tables/tbxfroot.c~fix_acpi_tb_find_table
> drivers/acpi/tables/tbxfroot.c
> --- linux-2.6.10/drivers/acpi/tables/tbxfroot.c~fix_acpi_tb_find_table
> 2005-01-04 09:05:29.000000000 +0900
> +++ linux-2.6.10-kanesige/drivers/acpi/tables/tbxfroot.c 2005-01-04
> 09:05:29.000000000 +0900
> @@ -114,8 +114,8 @@ acpi_tb_find_table (
>
> /* Check oem_id and oem_table_id */
>
> - if ((oem_id[0] && ACPI_STRCMP (oem_id, table->oem_id)) ||
> - (oem_table_id[0] && ACPI_STRCMP (oem_table_id, table->oem_table_id))) {
> + if ((oem_id[0] && ACPI_STRNCMP (oem_id, table->oem_id, sizeof
> (table->oem_id))) ||
> + (oem_table_id[0] && ACPI_STRNCMP (oem_table_id, table->oem_table_id,
> sizeof (table->oem_table_id)))) {
> return_ACPI_STATUS (AE_AML_NAME_NOT_FOUND);
> }
>
>
> _
>
>
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>

[-- Attachment #2: fix_acpi_tb_find_table.patch --]
[-- Type: text/plain, Size: 1090 bytes --]

The execution of the LoadTable() operator might fail because of the
bug on OEM ID comparison. The following patch fixes this issue.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>

---

linux-2.6.10-kanesige/drivers/acpi/tables/tbxfroot.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/acpi/tables/tbxfroot.c~fix_acpi_tb_find_table drivers/acpi/tables/tbxfroot.c
--- linux-2.6.10/drivers/acpi/tables/tbxfroot.c~fix_acpi_tb_find_table 2005-01-04 09:05:29.000000000 +0900
+++ linux-2.6.10-kanesige/drivers/acpi/tables/tbxfroot.c 2005-01-04 09:05:29.000000000 +0900
@@ -114,8 +114,8 @@ acpi_tb_find_table (

/* Check oem_id and oem_table_id */

- if ((oem_id[0] && ACPI_STRCMP (oem_id, table->oem_id)) ||
- (oem_table_id[0] && ACPI_STRCMP (oem_table_id, table->oem_table_id))) {
+ if ((oem_id[0] && ACPI_STRNCMP (oem_id, table->oem_id, sizeof (table->oem_id))) ||
+ (oem_table_id[0] && ACPI_STRNCMP (oem_table_id, table->oem_table_id, sizeof (table->oem_table_id)))) {
return_ACPI_STATUS (AE_AML_NAME_NOT_FOUND);
}

_