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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <76366b180807162034y1e725b15t7658c331bb89b52@mail.gmail.com>
Date:	Wed, 16 Jul 2008 23:34:45 -0400
From:	"Andrew Paprocki" <andrew@...iboo.com>
To:	LKML <linux-kernel@...r.kernel.org>
Cc:	"Jan Beulich" <jbeulich@...ell.com>,
	"Andi Kleen" <ak@...ux.intel.com>, "Len Brown" <lenb@...nel.org>,
	"Andrew Morton" <akpm@...ux-foundation.org>
Subject: Re: ACPI WARNING: at drivers/acpi/tables/tbfadt.c:348 acpi_tb_create_local_fadt+0x147/0x2f4()

On Wed, Jul 16, 2008 at 10:29 PM, Andrew Paprocki <andrew@...iboo.com> wrote:
> I just saw this for the first time using a kernel built from the git
> head. This is all the ACPI related printk info around the warning. If
> more information is needed to figure out what this is, please let me
> know.
>
> [    0.000000] ACPI: RSDP 000F7CE0, 0024 (r2 RS690 )
> [    0.000000] ACPI: XSDT 3DFE30C0, 004C (r1 RS690  AWRDACPI 42302E31 AWRD  0)
> [    0.000000] ACPI: FACP 3DFE7400, 00F4 (r3 RS690  AWRDACPI 42302E31 AWRD  0)
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: at drivers/acpi/tables/tbfadt.c:348
> acpi_tb_create_local_fadt+0x147/0x2f4()
> [    0.000000] Pid: 0, comm: swapper Not tainted 2.6.26 #1
> [    0.000000]  [<c01171bb>] warn_on_slowpath+0x3b/0x74
> [    0.000000]  [<c01ede36>] acpi_os_vprintf+0x1d/0x20
> [    0.000000]  [<c01ede46>] acpi_os_printf+0xd/0xe
> [    0.000000]  [<c020120e>] acpi_ut_info+0x21/0x24
> [    0.000000]  [<c0200016>] acpi_tb_print_table_header+0x96/0x9c
> [    0.000000]  [<c020032b>] acpi_tb_create_local_fadt+0x147/0x2f4
> [    0.000000]  [<c0200508>] acpi_tb_parse_fadt+0x30/0x6c
> [    0.000000]  [<c03eeda5>] acpi_tb_parse_root_table+0x264/0x2ab
> [    0.000000]  [<c03ee469>] acpi_table_init+0x14/0x6d
> [    0.000000]  [<c03e3b28>] acpi_boot_table_init+0x2b/0xc3
> [    0.000000]  [<c03dfcf4>] setup_arch+0x3fa/0x557
> [    0.000000]  [<c03de7a9>] start_kernel+0x41/0x1ec
> [    0.000000]  =======================
> [    0.000000] ---[ end trace 4eaa2a86a8e2da22 ]---
> [    0.000000] ACPI: DSDT 3DFE3240, 4146 (r1 RS690  AWRDACPI     1000
> MSFT  100000E)
> [    0.000000] ACPI: FACS 3DFE0000, 0040
> [    0.000000] ACPI: SSDT 3DFE7600, 0136 (r1 PTLTD  POWERNOW        1  LTP  1)
> [    0.000000] ACPI: HPET 3DFE7780, 0038 (r1 RS690  AWRDACPI 42302E31 AWRD 98)
> [    0.000000] ACPI: MCFG 3DFE7800, 003C (r1 RS690  AWRDACPI 42302E31 AWRD  0)
> [    0.000000] ACPI: APIC 3DFE7540, 0068 (r1 RS690  AWRDACPI 42302E31 AWRD  0)
>

This most definitely broke because of:

commit 01a5bba576b9364b33f61f0cd9fa70c2cf5535e2
Author: Jan Beulich <jbeulich@...ell.com>
Date:   Wed Jul 16 23:27:08 2008 +0200

    Fix FADT parsing

I added printk()s and this is what is reported here:

        printk(KERN_INFO
               "xpm1a_event_block bit_width=%d pm1_register_length=%d\n",
               acpi_gbl_FADT.xpm1a_event_block.bit_width, pm1_register_length);
        acpi_tb_init_generic_address(&acpi_gbl_xpm1a_enable,
                                     pm1_register_length,
                                     (acpi_gbl_FADT.xpm1a_event_block.address +
                                      pm1_register_length));

[    0.000000] xpm1a_event_block bit_width=8 pm1_register_length=0

The bit width is not % 16, so the following patch addition a few lines
earlier fails:

        WARN_ON(ACPI_MOD_16(acpi_gbl_FADT.xpm1a_event_block.bit_width));

Also, I noticed that the patch changed the definition of
acpi_tb_init_generic_address to name the parameter byte_width instead
of bit_width. The declaration at the top of the file and the
documentation still refer to it as bit_width.

I also added printk()s to the first call to
acpi_tb_init_generic_address ~ line 326 and the lengths passed to the
function at that point are:
[    0.000000] fadt_info_table[i].length=88
[    0.000000] fadt_info_table[i].length=89
[    0.000000] fadt_info_table[i].length=93
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ