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]
Date:	Thu, 20 Sep 2007 14:35:22 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Thomas Gleixner <tglx@...utronix.de>
cc:	"Rafael J. Wysocki" <rjw@...k.pl>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Jaroslav Kysela <perex@...e.cz>, Takashi Iwai <tiwai@...e.de>,
	linux-usb-devel@...ts.sourceforge.net,
	Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>,
	Ingo Molnar <mingo@...e.hu>, miklos@...redi.hu,
	Len Brown <len.brown@...el.com>
Subject: Re: 2.6.23-rc6-mm1: failure to boot on HP nx6325, no sound when
 booted, USB-related WARNING



On Thu, 20 Sep 2007, Thomas Gleixner wrote:
> 
> In meantime I figured out what's happening. The ordering in
> hibernate_snapshot() is wrong. It does:

Hmm. This is close to the ordering we have in STR too.

I have some dim memory of there being some ACPI reason why it had to be 
done that way.

In fact, this was done in commit e3c7db621bed4afb8e231cb005057f2feb5db557, 
long ago, by Rafael:

    As indicated in a recent thread on Linux-PM, it's necessary to call
    pm_ops->finish() before devce_resume(), but enable_nonboot_cpus() has to be
    called before pm_ops->finish() (cf.
    http://lists.osdl.org/pipermail/linux-pm/2006-November/004164.html).  For
    consistency, it seems reasonable to call disable_nonboot_cpus() after
    device_suspend().

    This way the suspend code will remain symmetrical with respect to the resume
    code and it may allow us to speed up things in the future by suspending and
    resuming devices and/or saving the suspend image in many threads.

    The following series of patches reorders the suspend and resume code so that
    nonboot CPUs are disabled after devices have been suspended and enabled before
    the devices are resumed.  It also causes pm_ops->finish() to be called after
    enable_nonboot_cpus() wherever necessary.

Hmm?

It's entirely possible that that commit was simply just buggy, and we 
should indeed move the CPU down/up to be early/late - we've fixed other 
ordering issues since that commit went in. But this whole area is very 
murky.

(Btw, the above commit message points to just my response with a testing 
patch to the real email: the actual explanation of the INSANE ordering is 
from Len Brown in

	https://lists.linux-foundation.org/pipermail/linux-pm/2006-November/004161.html

and there Len claims that we *must* wake up CPU's early).

I personally think that the whole ACPI ordering requirements are just 
insane, but the point of this email is to point these different 
requirements out, and hopefully we can get something that works for 
everybody.

Len added to Cc.

Len? Thomas wants to call 'disable_nonboot_cpus()' early, and 
'enable_nonboot_cpus()' late. Can you explain why that is wrong?

			Linus
-
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