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: <200701121753.08710.lenb@kernel.org>
Date:	Fri, 12 Jan 2007 17:53:08 -0500
From:	Len Brown <lenb@...nel.org>
To:	Frederik Deweerdt <deweerdt@...e.fr>
Cc:	Andrew Morton <akpm@...l.org>, linux-kernel@...r.kernel.org,
	rui.zhang@...el.com
Subject: Re: Early ACPI lockup (was Re: 2.6.20-rc4-mm1)

On Friday 12 January 2007 05:20, Frederik Deweerdt wrote:
> On Thu, Jan 11, 2007 at 10:26:27PM -0800, Andrew Morton wrote:
> > 
> >   ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.20-rc3/2.6.20-rc4-mm1/
> > 
> Hi,
> 
> The git-acpi.patch replaces earlier "if(!handler) return -EINVAL" by
> "BUG_ON(!handler)". This locks my machine early at boot with a message
> along the lines of (It's hand copied):
> Int 6: cr2: 00000000 eip: c0570e05 flags: 00010046 cs: 60
> stack: c054ffac c011db2b c04936d0 c054ff68 c054ffc0 c054fff4 c057da2c
> 
> Reverting the change as follows, allows booting:
> Any ideas to debug this further?


> diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
> index db0c5f6..fba018c 100644
> --- a/drivers/acpi/tables.c
> +++ b/drivers/acpi/tables.c
> @@ -414,7 +414,9 @@ int __init acpi_table_parse(enum acpi_ta
>  	unsigned int index;
>  	unsigned int count = 0;
>  
> -	BUG_ON(!handler);
> +	if (!handler)
> +		return -EINVAL;
> +	/*BUG_ON(!handler);*/
>  
>  	for (i = 0; i < sdt_count; i++) {
>  		if (sdt_entry[i].id != id)

What do you see if on failure you also print out the params, like below?

thanks,
-Len

diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index 3fce3db..e2d08a5 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -415,7 +415,12 @@ int __init acpi_table_parse(enum acpi_table_id id, acpi_table_handler handler)
 	unsigned int index = 0;
 	unsigned int count = 0;
 
-	BUG_ON(!handler);
+	if (!handler) {
+		printk(KERN_WARNING PREFIX
+			"acpi_table_parse(%d, %p) %s NULL handler!\n",
+			id, handler, acpi_table_signatures[id]);
+		return -EINVAL;
+	}
 
 	for (i = 0; i < sdt_count; i++) {
 		if (sdt_entry[i].id != id)


-
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