Re: [PATCH] fix: x86: remove cpu_vendor_dev

From: Ingo Molnar
Date: Wed Oct 01 2008 - 03:36:58 EST



* Yinghai Lu <yinghai@xxxxxxxxxx> wrote:

> On Tue, Sep 30, 2008 at 11:49 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > * Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> >
> >> On Tue, Sep 30, 2008 at 12:37 PM, Alexander van Heukelum
> >> <heukelum@xxxxxxxxxxxxx> wrote:
> >> > x86_64-kernels after commit 10a434fcb "x86: remove cpu_vendor_dev"
> >> > crashed on qemu-system-x86_64 due to a typo in vmlinux_64.lds.S.
> >> >
> >> > Signed-off-by: Alexander van Heukelum <heukelum@xxxxxxxxxxx>
> >> >
> >> > ---
> >> >
> >> > On Tue, Sep 30, 2008 at 06:41:33PM +0200, Alexander van Heukelum wrote:
> >> >> Moreover, a defconfig won't run :-/ (on qemu-system-x86_64).
> >> >> Bisection pointed to commit 10a434fcb "x86: remove cpu_vendor_dev".
> >> >> The kernel crashes early with a general protection fault in a call
> >> >> to strnlen. I have no idea what goes wrong, yet.
> >> >
> >> > It took quite some time, but I found the problem... I'll leave
> >> > the other one to you ;).
> >> >
> >> > Greetings,
> >> > Alexander
> >> >
> >> > arch/x86/kernel/vmlinux_64.lds.S | 2 +-
> >> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >> >
> >> > diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
> >> > index 201e81a..46e0544 100644
> >> > --- a/arch/x86/kernel/vmlinux_64.lds.S
> >> > +++ b/arch/x86/kernel/vmlinux_64.lds.S
> >> > @@ -172,8 +172,8 @@ SECTIONS
> >> > .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
> >> > *(.x86_cpu_dev.init)
> >> > }
> >> > - SECURITY_INIT
> >> > __x86_cpu_dev_end = .;
> >> > + SECURITY_INIT
> >> >
> >> > . = ALIGN(8);
> >> > .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
> >> >
> >>
> >> that is merging problem, Ingo should fix that already...
> >
> > indeed. I've fixed it in tip/x86/traps by applying Alexander's patch.
> >
>
> still have merging problem... in tip/master we have
>
> __x86_cpu_dev_start = .;
> .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
> *(.x86_cpu_dev.init)
> }
> __x86_cpu_dev_end = .;
> SECURITY_INIT
>
> DYN_ARRAY_INIT(8)
>
> SECURITY_INIT
>
> there is two copy of SECURITY_INIT

indeed. I fixed this up now.

interestingly, this seems to be one of the rare cases where Git
auto-merge does the wrong thing - tt should have detected a conflict.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/