linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fix x86-32 early fixmap initialization.
       [not found] <47520F37.20657.4A6846F1@pageexec.freemail.hu>
@ 2007-12-02  1:34 ` Eric W. Biederman
  2007-12-02  2:24   ` Yinghai Lu
  0 siblings, 1 reply; 4+ messages in thread
From: Eric W. Biederman @ 2007-12-02  1:34 UTC (permalink / raw)
  To: H. Peter Anvin, Thomas Gleixner, Ingo Molnar
  Cc: linux-kernel, pageexec, Yinghai Lu


pageexec@freemail.hu writes:

> hello,
>
> i've just noticed that the chunk in i386/kernel/head.S ended up in a
> weird place, namely, it's not going to be executed as it's just after
> a 'jmp 3f' and before startup_32_smp, probably not what you intended.
> on a sidenote, the whole thing can be done in a single insn, like:
>
> movl $(swapper_pg_pmd - __PAGE_OFFSET + 0x067), (swapper_pg_dir -
> __PAGE_OFFSET+ 4092)
>
> PS: your email address ebiderman@xmisson.com in the commit seems to
> be wrong as well.

Yes.  YH refresh one of my old patches and apparently got my email
address wrong.

Thanks for the reminder I thought we had fixed this problem a while ago.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>

---

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 374b7ec..ac0637a 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -193,6 +193,12 @@ default_entry:
 	jb 10b
 	movl %edi,(init_pg_tables_end - __PAGE_OFFSET)
 
+	/* Do an early initialization of the fixmap area */
+	movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
+	movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
+	addl $0x007, %eax			/* 0x007 = PRESENT+RW+USER */
+	movl %eax, 4092(%edx)
+
 	xorl %ebx,%ebx				/* This is the boot CPU (BSP) */
 	jmp 3f
 /*
@@ -208,12 +214,6 @@ default_entry:
 .section .init.text,"ax",@progbits
 #endif
 
-	/* Do an early initialization of the fixmap area */
-	movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
-	movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
-	addl $0x007, %eax			/* 0x007 = PRESENT+RW+USER */
-	movl %eax, 4092(%edx)
-
 #ifdef CONFIG_SMP
 ENTRY(startup_32_smp)
 	cld

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] fix x86-32 early fixmap initialization.
  2007-12-02  1:34 ` [PATCH] fix x86-32 early fixmap initialization Eric W. Biederman
@ 2007-12-02  2:24   ` Yinghai Lu
  2007-12-02  2:32     ` Eric W. Biederman
  2007-12-04 12:51     ` Ingo Molnar
  0 siblings, 2 replies; 4+ messages in thread
From: Yinghai Lu @ 2007-12-02  2:24 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: H. Peter Anvin, Thomas Gleixner, Ingo Molnar, linux-kernel, pageexec

On Dec 1, 2007 5:34 PM, Eric W. Biederman <ebiederm@xmission.com> wrote:
>
> pageexec@freemail.hu writes:
>
> > hello,
> >
> > i've just noticed that the chunk in i386/kernel/head.S ended up in a
> > weird place, namely, it's not going to be executed as it's just after
> > a 'jmp 3f' and before startup_32_smp, probably not what you intended.
> > on a sidenote, the whole thing can be done in a single insn, like:
> >
> > movl $(swapper_pg_pmd - __PAGE_OFFSET + 0x067), (swapper_pg_dir -
> > __PAGE_OFFSET+ 4092)
> >
> > PS: your email address ebiderman@xmisson.com in the commit seems to
> > be wrong as well.
>
> Yes.  YH refresh one of my old patches and apparently got my email
> address wrong.
>
> Thanks for the reminder I thought we had fixed this problem a while ago.

i sent fix to andrew and andi. but it seems they missed it.

BTW: how about your head32.c patch series.

YH

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] fix x86-32 early fixmap initialization.
  2007-12-02  2:24   ` Yinghai Lu
@ 2007-12-02  2:32     ` Eric W. Biederman
  2007-12-04 12:51     ` Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: Eric W. Biederman @ 2007-12-02  2:32 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: H. Peter Anvin, Thomas Gleixner, Ingo Molnar, linux-kernel, pageexec

"Yinghai Lu" <yhlu.kernel@gmail.com> writes:

> On Dec 1, 2007 5:34 PM, Eric W. Biederman <ebiederm@xmission.com> wrote:
>>
>> pageexec@freemail.hu writes:
>>
>> > hello,
>> >
>> > i've just noticed that the chunk in i386/kernel/head.S ended up in a
>> > weird place, namely, it's not going to be executed as it's just after
>> > a 'jmp 3f' and before startup_32_smp, probably not what you intended.
>> > on a sidenote, the whole thing can be done in a single insn, like:
>> >
>> > movl $(swapper_pg_pmd - __PAGE_OFFSET + 0x067), (swapper_pg_dir -
>> > __PAGE_OFFSET+ 4092)
>> >
>> > PS: your email address ebiderman@xmisson.com in the commit seems to
>> > be wrong as well.
>>
>> Yes.  YH refresh one of my old patches and apparently got my email
>> address wrong.
>>
>> Thanks for the reminder I thought we had fixed this problem a while ago.
>
> i sent fix to andrew and andi. but it seems they missed it.

Well hopefully the new arch/x86 maintainers can pick up a simple bug fix.
Hopefully this code has not bit-rotted yet.

> BTW: how about your head32.c patch series.

I think it is a wonderful idea ;)

Right now I'm buried in the namespace work.

I am seeing my todo list shrink visibly on that day by day, but it is
still a mighty list.

Hopefully that list will won't include any patches that just need refreshing
and merging by the time 2.6.25 rolls around...

Eric

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] fix x86-32 early fixmap initialization.
  2007-12-02  2:24   ` Yinghai Lu
  2007-12-02  2:32     ` Eric W. Biederman
@ 2007-12-04 12:51     ` Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2007-12-04 12:51 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Eric W. Biederman, H. Peter Anvin, Thomas Gleixner, Ingo Molnar,
	linux-kernel, pageexec


* Yinghai Lu <yhlu.kernel@gmail.com> wrote:

> On Dec 1, 2007 5:34 PM, Eric W. Biederman <ebiederm@xmission.com> wrote:
> >
> > pageexec@freemail.hu writes:
> >
> > > hello,
> > >
> > > i've just noticed that the chunk in i386/kernel/head.S ended up in a
> > > weird place, namely, it's not going to be executed as it's just after
> > > a 'jmp 3f' and before startup_32_smp, probably not what you intended.
> > > on a sidenote, the whole thing can be done in a single insn, like:
> > >
> > > movl $(swapper_pg_pmd - __PAGE_OFFSET + 0x067), (swapper_pg_dir -
> > > __PAGE_OFFSET+ 4092)
> > >
> > > PS: your email address ebiderman@xmisson.com in the commit seems to
> > > be wrong as well.
> >
> > Yes.  YH refresh one of my old patches and apparently got my email
> > address wrong.
> >
> > Thanks for the reminder I thought we had fixed this problem a while 
> > ago.
> 
> i sent fix to andrew and andi. but it seems they missed it.

ok, this one is now upstream, it's in -rc4:

 ------------->
 commit 17d57a9206b4de6ad082ac9f2d2346985abbd2aa
 Author: Eric W. Biederman <ebiederm@xmission.com>
 Date:   Sat Dec 1 18:34:06 2007 -0700

     x86: fix x86-32 early fixmap initialization.

     pageexec@freemail.hu writes:


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-12-04 12:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <47520F37.20657.4A6846F1@pageexec.freemail.hu>
2007-12-02  1:34 ` [PATCH] fix x86-32 early fixmap initialization Eric W. Biederman
2007-12-02  2:24   ` Yinghai Lu
2007-12-02  2:32     ` Eric W. Biederman
2007-12-04 12:51     ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).