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: <20080213091642.b484a7ba.randy.dunlap@oracle.com>
Date:	Wed, 13 Feb 2008 09:16:42 -0800
From:	Randy Dunlap <randy.dunlap@...cle.com>
To:	Fabio Coatti <cova@...rara.linux.it>
Cc:	"Rafael J. Wysocki" <rjw@...k.pl>, linux-kernel@...r.kernel.org,
	len.brown@...el.com
Subject: Re: stuck with 2.6.23.14 on x86_64

On Wed, 13 Feb 2008 10:21:23 +0100 Fabio Coatti wrote:

> Alle martedì 12 febbraio 2008, Rafael J. Wysocki ha scritto:
> > On Tuesday, 12 of February 2008, Fabio Coatti wrote:
> > > Alle martedì 12 febbraio 2008, Randy Dunlap ha scritto:
> > > > On Tue, 12 Feb 2008 15:03:41 +0100 Fabio Coatti wrote:
> > > > > Hi all,
> > > > > I'm stuck in a weird situation: I'm unable to go beyond 2.6.23.14, so
> > > > > to fix the splice bug I've had to apply by hand the patch. (x86_64)
> > > > >
> > > > > Basically, with 2.6.24.2 (the same with 2.6.24 and .1), tha machine
> > > > > won't boot due to a problem with cciss driver, that prevents to find
> > > > > the / partition. (bug described here: Kernel Bug Tracker Bug 9859
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=9859 );
> > > > >
> > > > > With kernels 2.6.23, the lastest that I can compile is 2.6.23.14;
> > > > > starting from .15 (and .16) I get this message:
> > > > >
> > > > > ======================
> > > > >   UPD     include/linux/compile.h
> > > > >   CC      init/version.o
> > > > >   LD      init/built-in.o
> > > > >   LD      .tmp_vmlinux1
> > > > > drivers/built-in.o: In function `acpi_init':
> > > > > bus.c:(.init.text+0x1713): undefined reference to `pm_flags'
> > > > > bus.c:(.init.text+0x1756): undefined reference to `pm_flags'
> > > > > ======================
> > > > >
> > > > > All .config are the same, (make oldconfig) beside the obvious
> > > > > differences between .23 and .24
> > > > >
> > > > > Hardware: x86_64 AMD 2216HE
> > > > > SCSI controller: HP Smart Array E200i Controller
> > > > > Compiler: gcc (GCC) 4.1.1
> > > > > binutils: 2.16.1
> > > > >
> > > > > On a x86 machine, Intel(R) Xeon(TM) CPU 3.20GHz
> > > > > with a cciss0: HP Smart Array 6i Controller,
> > > > > the 2.6.24.2 compiles just fine and works, so the cciss problems
> > > > > seems related only to E200i controller.
> > > > >
> > > > > Right now, on AMD64 machines, I'm forced to patch by hand the kernel,
> > > > > that's quite uncomfortable :)
> > > > >
> > > > > Can someone point me in the right direction to get out of this
> > > > > situation? Of course I can provide any further information. (.config
> > > > > not inlcuded now to avoid cluttering  )
> > > > >
> > > > > Thanks for any answer.
> > > >
> > > > a/ send .config file for the build problem above
> > > > b/ How do you download and/or apply 2.6.23.{15,16} ?
> > > > 	Full tarball or base tarball + patches?
> > > > 	If patches, what base tree are they applied to?
> > >
> > > full tarball from kernel.org (.16), tried also applying patches to 2.6.23
> > > vanilla.(.15,.16) Same process leads to successful compilation for .14
> >
> > You're not supposed to have CONFIG_PM unset and CONFIG_ACPI set at the same
> > time.  The oldconfig generation must have gone wrong at one point.
> 
> Maybe it's not supposed to have this situation, but maybe you should tell this 
> to the kernel itself :)
> 
> # zcat /proc/config.gz | egrep "PM|ACPI"
> CONFIG_X86_64_ACPI_NUMA=y
> # CONFIG_PM is not set
> CONFIG_ACPI=y
> # CONFIG_ACPI_PROCFS is not set
> 
> # uname -rv
> 2.6.23.12 #3 SMP Tue Feb 12 11:22:16 CET 2008
> 
> And you can easily get this situation from menuconfig: just fire up make 
> menuconfig without any .config, go to power management options and turn 
> off "Power Management support". exit and look at .config:
> 
> # CONFIG_PM is not set
> CONFIG_SUSPEND_SMP_POSSIBLE=y
> CONFIG_HIBERNATION_SMP_POSSIBLE=y
> CONFIG_ACPI=y
> 
> Maybe if this is not supposed to be the right situation, some dependencies are 
> not respected... (tested on .16)


Yes, this is yet another select problem.  X86_64_NUMA_ACPI
selects ACPI, even though PM is not enabled.  :(

So you have a manual fix:  just enable CONFIG_PM.

Is this specific config important to you?  I.e., do you want/need
NUMA support?  If so, you'll just need to continue enabling CONFIG_PM.

I made a patch that prevents the select problem (see below [now added]).

The "select PCI" in the X86_64_ACPI_NUMA config option is evil.  :(


> Anyway, with .16 and CONFIG_PM set, I get this :
> ===================
> WARNING: vmlinux.o(.text+0x1f6395): Section mismatch: reference 
> to .init.data.14:pxm_to_node_map (between 'pxm_to_node' and 'node_to_pxm')
> WARNING: vmlinux.o(.text+0x1f63a7): Section mismatch: reference 
> to .init.data.14:node_to_pxm_map (between 'node_to_pxm' 
> and '__acpi_map_pxm_to_node')
> WARNING: vmlinux.o(.text+0x1f63b2): Section mismatch: reference 
> to .init.data.14:pxm_to_node_map (between '__acpi_map_pxm_to_node' 
> and 'acpi_get_pxm')
> WARNING: vmlinux.o(.text+0x1f63bc): Section mismatch: reference 
> to .init.data.14:node_to_pxm_map (between '__acpi_map_pxm_to_node' 
> and 'acpi_get_pxm')
> WARNING: vmlinux.o(.text+0x1f6412): Section mismatch: reference 
> to .init.data.14:pxm_to_node_map (between 'acpi_map_pxm_to_node' 
> and 'acpi_get_node')
> WARNING: vmlinux.o(.text+0x1f6458): Section mismatch: reference 
> to .init.data.14:pxm_to_node_map (between 'acpi_map_pxm_to_node' 
> and 'acpi_get_node')
> WARNING: vmlinux.o(.text+0x1f645f): Section mismatch: reference 
> to .init.data.14:node_to_pxm_map (between 'acpi_map_pxm_to_node' 
> and 'acpi_get_node')
> =========================
> 
> Anyway, it booted and so far it runs without "splice" problem, thanks.


---
From: Randy Dunlap <randy.dunlap@...cle.com>

Fix a kconfig 'select' problem: X86_64_NUMA_ACPI selects ACPI,
so ACPI could be enabled even when PM is not enabled.
This causes a build failure, so make X86_64_NUMA_ACPI depend on PM.

Signed-off-by: Randy Dunlap <randy.dunlap@...cle.com>
---
 arch/x86_64/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.23.16.orig/arch/x86_64/Kconfig
+++ linux-2.6.23.16/arch/x86_64/Kconfig
@@ -367,7 +367,7 @@ config NODES_SHIFT
 
 config X86_64_ACPI_NUMA
        bool "ACPI NUMA detection"
-       depends on NUMA
+       depends on NUMA && PM
        select ACPI 
 	select PCI
        select ACPI_NUMA

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