Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Randy Dunlap
On Fri, 19 Oct 2007 12:18:19 +0200 Mike Galbraith wrote:

> On Fri, 2007-10-19 at 04:49 +0200, Mike Galbraith wrote: 
> > On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
> > > Hi,
> > > 
> > > Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
> > > > The winner of a very long git bisect session:
> > > > 
> > > > unicode diacritics support
> > > 
> > > Uh, I fail to see how that could have an impact, I've again checked the
> > > boundaries, it looks fine, please people have a look.
> > 
> > I too was reluctant to believe the bisect result.  But...
> 
> Wll now, that skepticism is indeed well founded.  It's dontdiff.  A
> diff of trees where defkeymap.c_shipped has been modified produces no
> output.  Once a working tree has been afflicted by using diff+dontdiff
> to update it, even overwriting the entire tree via git-archive doesn't
> lead to a good build unless you also touch defkeymap.c_shipped
> afterward.  In my case, the working tree remained buildable yet
> thoroughly busted through a lengthy bisect and beyond.  That bisect
> positively identified... the victim.
> 
> poo.

Yes, that's bad.  Sam has asked me to fix some dontdiff problems.
I'll try to get to it soon.  Other people can also update it


---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Mike Galbraith
On Fri, 2007-10-19 at 09:55 +0100, Samuel Thibault wrote:
> Just to make sure, could you check in System.map that accent_table is
> correctly 256*3*4=3072 bytes long?

See mail I just sent.  A day a half wasted here.  Sorry for however much
time you wasted on this.

-Mike

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Mike Galbraith
On Fri, 2007-10-19 at 04:49 +0200, Mike Galbraith wrote: 
> On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
> > Hi,
> > 
> > Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
> > > The winner of a very long git bisect session:
> > > 
> > > unicode diacritics support
> > 
> > Uh, I fail to see how that could have an impact, I've again checked the
> > boundaries, it looks fine, please people have a look.
> 
> I too was reluctant to believe the bisect result.  But...

Wll now, that skepticism is indeed well founded.  It's dontdiff.  A
diff of trees where defkeymap.c_shipped has been modified produces no
output.  Once a working tree has been afflicted by using diff+dontdiff
to update it, even overwriting the entire tree via git-archive doesn't
lead to a good build unless you also touch defkeymap.c_shipped
afterward.  In my case, the working tree remained buildable yet
thoroughly busted through a lengthy bisect and beyond.  That bisect
positively identified... the victim.

poo.

-Mike

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Samuel Thibault
Just to make sure, could you check in System.map that accent_table is
correctly 256*3*4=3072 bytes long?

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Mike Galbraith
On Fri, 2007-10-19 at 09:55 +0100, Samuel Thibault wrote:
 Just to make sure, could you check in System.map that accent_table is
 correctly 256*3*4=3072 bytes long?

See mail I just sent.  A day a half wasted here.  Sorry for however much
time you wasted on this.

-Mike

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Samuel Thibault
Just to make sure, could you check in System.map that accent_table is
correctly 256*3*4=3072 bytes long?

Samuel
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Mike Galbraith
On Fri, 2007-10-19 at 04:49 +0200, Mike Galbraith wrote: 
 On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
  Hi,
  
  Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
   The winner of a very long git bisect session:
   
   unicode diacritics support
  
  Uh, I fail to see how that could have an impact, I've again checked the
  boundaries, it looks fine, please people have a look.
 
 I too was reluctant to believe the bisect result.  But...

Wll now, that skepticism is indeed well founded.  It's dontdiff.  A
diff of trees where defkeymap.c_shipped has been modified produces no
output.  Once a working tree has been afflicted by using diff+dontdiff
to update it, even overwriting the entire tree via git-archive doesn't
lead to a good build unless you also touch defkeymap.c_shipped
afterward.  In my case, the working tree remained buildable yet
thoroughly busted through a lengthy bisect and beyond.  That bisect
positively identified... the victim.

poo.

-Mike

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-19 Thread Randy Dunlap
On Fri, 19 Oct 2007 12:18:19 +0200 Mike Galbraith wrote:

 On Fri, 2007-10-19 at 04:49 +0200, Mike Galbraith wrote: 
  On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
   Hi,
   
   Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
The winner of a very long git bisect session:

unicode diacritics support
   
   Uh, I fail to see how that could have an impact, I've again checked the
   boundaries, it looks fine, please people have a look.
  
  I too was reluctant to believe the bisect result.  But...
 
 Wll now, that skepticism is indeed well founded.  It's dontdiff.  A
 diff of trees where defkeymap.c_shipped has been modified produces no
 output.  Once a working tree has been afflicted by using diff+dontdiff
 to update it, even overwriting the entire tree via git-archive doesn't
 lead to a good build unless you also touch defkeymap.c_shipped
 afterward.  In my case, the working tree remained buildable yet
 thoroughly busted through a lengthy bisect and beyond.  That bisect
 positively identified... the victim.
 
 poo.

Yes, that's bad.  Sam has asked me to fix some dontdiff problems.
I'll try to get to it soon.  Other people can also update it


---
~Randy
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Mike Galbraith
On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
> Hi,
> 
> Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
> > The winner of a very long git bisect session:
> > 
> > unicode diacritics support
> 
> Uh, I fail to see how that could have an impact, I've again checked the
> boundaries, it looks fine, please people have a look.

I too was reluctant to believe the bisect result.  But...

> Could you try something odd?  On your tree that has the change reverted,
> please try the attached patch, which makes the array the same size at it
> would be with the change, possibly triggering bugs in completely other
> parts of the kernel.

That didn't break my box.  However, removing your test patch and
re-applying the revert I generated between git tree and working tree
brought it right back.  With the below applied, diff says there is no
difference between working tree and git tree (except for
vsyscall_32.lds, which is a generated file kbuild leaves lying around).
Per gitk, the git repository is at
d85714d81cc0408daddb68c10f7fd69eafe7c213

diff -uprNX /root/dontdiff git/linux-2.6/drivers/acorn/char/defkeymap-l7200.c 
linux-2.6.23.git/drivers/acorn/char/defkeymap-l7200.c
--- git/linux-2.6/drivers/acorn/char/defkeymap-l7200.c  2007-10-18 
18:55:53.0 +0200
+++ linux-2.6.23.git/drivers/acorn/char/defkeymap-l7200.c   2007-10-18 
19:02:12.0 +0200
@@ -346,7 +346,7 @@ char *func_table[MAX_NR_FUNC] = {
0,
 };
 
-struct kbdiacruc accent_table[MAX_DIACR] = {
+struct kbdiacr accent_table[MAX_DIACR] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'},{'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},
diff -uprNX /root/dontdiff git/linux-2.6/drivers/char/consolemap.c 
linux-2.6.23.git/drivers/char/consolemap.c
--- git/linux-2.6/drivers/char/consolemap.c 2007-10-18 18:55:53.0 
+0200
+++ linux-2.6.23.git/drivers/char/consolemap.c  2007-10-18 19:02:12.0 
+0200
@@ -669,29 +669,19 @@ void con_protect_unimap(struct vc_data *
p->readonly = rdonly;
 }
 
-/*
- * Always use USER_MAP. These functions are used by the keyboard,
- * which shouldn't be affected by G0/G1 switching, etc.
- * If the user map still contains default values, i.e. the
- * direct-to-font mapping, then assume user is using Latin1.
- */
 /* may be called during an interrupt */
 u32 conv_8bit_to_uni(unsigned char c)
 {
+   /*
+* Always use USER_MAP. This function is used by the keyboard,
+* which shouldn't be affected by G0/G1 switching, etc.
+* If the user map still contains default values, i.e. the
+* direct-to-font mapping, then assume user is using Latin1.
+*/
unsigned short uni = translations[USER_MAP][c];
return uni == (0xf000 | c) ? c : uni;
 }
 
-int conv_uni_to_8bit(u32 uni)
-{
-   int c;
-   for (c = 0; c < 0x100; c++)
-   if (translations[USER_MAP][c] == uni ||
-  (translations[USER_MAP][c] == (c | 0xf000) && uni == c))
-   return c;
-   return -1;
-}
-
 int
 conv_uni_to_pc(struct vc_data *conp, long ucs) 
 {
diff -uprNX /root/dontdiff git/linux-2.6/drivers/char/keyboard.c 
linux-2.6.23.git/drivers/char/keyboard.c
--- git/linux-2.6/drivers/char/keyboard.c   2007-10-18 18:55:53.0 
+0200
+++ linux-2.6.23.git/drivers/char/keyboard.c2007-10-18 19:02:19.0 
+0200
@@ -38,7 +38,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -404,12 +403,9 @@ static unsigned int handle_diacr(struct 
return d;
 
if (kbd->kbdmode == VC_UNICODE)
-   to_utf8(vc, d);
-   else {
-   int c = conv_uni_to_8bit(d);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, conv_8bit_to_uni(d));
+   else if (d < 0x100)
+   put_queue(vc, d);
 
return ch;
 }
@@ -421,12 +417,9 @@ static void fn_enter(struct vc_data *vc)
 {
if (diacr) {
if (kbd->kbdmode == VC_UNICODE)
-   to_utf8(vc, diacr);
-   else {
-   int c = conv_uni_to_8bit(diacr);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, conv_8bit_to_uni(diacr));
+   else if (diacr < 0x100)
+   put_queue(vc, diacr);
diacr = 0;
}
put_queue(vc, 13);
@@ -634,12 +627,9 @@ static void k_unicode(struct vc_data *vc
return;
}
if (kbd->kbdmode == VC_UNICODE)
-   to_utf8(vc, value);
-   else {
-   int c = conv_uni_to_8bit(value);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, conv_8bit_to_uni(value));
+   else if (value < 0x100)
+   put_queue(vc, 

Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Samuel Thibault
Hi,

Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
> The winner of a very long git bisect session:
> 
> unicode diacritics support

Uh, I fail to see how that could have an impact, I've again checked the
boundaries, it looks fine, please people have a look.

Could you try something odd?  On your tree that has the change reverted,
please try the attached patch, which makes the array the same size at it
would be with the change, possibly triggering bugs in completely other
parts of the kernel.

Samuel
--- defkeymap.c_shipped.old 2007-10-18 22:44:59.0 +
+++ defkeymap.c_shipped 2007-10-18 22:44:43.0 +
@@ -222,7 +222,7 @@
NULL,
 };
 
-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacr accent_table[(MAX_DIACR*3*4-MAX_DIACR*3)/3] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'},{'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},


[bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Mike Galbraith
On Thu, 2007-10-18 at 06:25 +0200, Mike Galbraith wrote:
> Greetings,
> 
> Freshly pulled tree oopes per $subject.
> 
> [  114.714335] BUG: unable to handle kernel NULL pointer dereference at 
> virtual address 0031
> [  114.732810] printing eip: c03332ff *pde =  
> [  114.747614] Oops:  [#1] PREEMPT SMP 
> [  114.761320] Modules linked in: microcode snd_seq edd button battery ac 
> ip6t_REJECT xt_tcpudp ipt_REJECT xt_state iptable_mangle iptable_nat nf_nat 
> iptable_filter ip6table_mangle nf_conntrack_ipv4 nf_conntrack ip_tables 
> ip6table_filter ip6_tables x_tables nls_iso8859_1 nls_cp437 nls_utf8 
> snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_mpu401 snd_timer 
> snd_mpu401_uart snd_rawmidi prism54 snd_page_alloc snd_seq_device snd 
> soundcore intel_agp agpgart i2c_i801 fan thermal processor
> [  114.781462] CPU:0
> [  114.781464] EIP:0060:[]Not tainted VLI
> [  114.781468] EFLAGS: 00010293   (2.6.23-smp-git #13)
> [  114.781478] EIP is at misc_register+0x53/0x14f
> [  114.781483] eax: 0025   ebx: f8bff858   ecx: f8bff900   edx: 0031
> [  114.781490] esi: 00b8   edi: f8bff864   ebp: c2e0de88   esp: c2e0de68
> [  114.781496] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> [  114.781502] Process modprobe (pid: 6115, ti=c2e0d000 task=c2efa070 
> task.ti=c2e0d000)
> [  114.781508] Stack: c1cb4070 f8bff900 c2e0de88 c014818c f8bff900 f8bff900 
> f8bff900 0029 
> [  114.781521]c2e0de9c f8bac011 c01368e6  f8bff900 c2e0dfb0 
> c0149dfa  
> [  114.781533] 2000 c04d4060 c2e0ded0 c2e0df58 f8be0058 
> f8be0054 f8bff948 
> [  114.781545] Call Trace:
> [  114.781548]  [] show_trace_log_lvl+0x1a/0x30
> [  114.781558]  [] show_stack_log_lvl+0xa5/0xca
> [  114.781564]  [] show_registers+0x1fc/0x33d
> [  114.781571]  [] die+0x116/0x239
> [  114.781577]  [] do_page_fault+0x2dc/0x5c4
> [  114.781585]  [] error_code+0x72/0x78
> [  114.781594]  [] microcode_init+0x11/0xbb [microcode]
> [  114.781604]  [] sys_init_module+0xef/0x19bb
> [  114.781612]  [] syscall_call+0x7/0xb
> [  114.781618]  ===
> [  114.781621] Code: 0c 0f 18 02 90 81 3d 60 d5 61 c0 60 d5 61 c0 0f 84 fb 00 
> 00 00 8b 33 39 30 75 0d e9 a9 00 00 00 39 30 0f 84 a1 00 00 00 8d 42 f4 <8b> 
> 50 0c 0f 18 02 90 3d 54 d5 61 c0 75 e7 81 fe ff 00 00 00 0f 
> [  114.781677] EIP: [] misc_register+0x53/0x14f SS:ESP 0068:c2e0de68
> 
> (gdb) list *misc_register+0x53
> 0xc03332ff is in misc_register (drivers/char/misc.c:194).
> 189 int err = 0;
> 190
> 191 INIT_LIST_HEAD(>list);
> 192
> 193 mutex_lock(_mtx);
> 194 list_for_each_entry(c, _list, list) {
> 195 if (c->minor == misc->minor) {
> 196 mutex_unlock(_mtx);
> 197 return -EBUSY;
> 198 }
> 

The winner of a very long git bisect session:

04c71976500352d02f60616d2b960267d8c5fe24 is first bad commit
commit 04c71976500352d02f60616d2b960267d8c5fe24
Author: Samuel Thibault <[EMAIL PROTECTED]>
Date:   Tue Oct 16 23:27:04 2007 -0700

unicode diacritics support


Attempting to revert with git:

[EMAIL PROTECTED]: git revert 04c71976500352d02f60616d2b960267d8c5fe24
Auto-merged drivers/char/keyboard.c
Auto-merged drivers/char/vt_ioctl.c
CONFLICT (delete/modify): drivers/tc/lk201-map.c_shipped deleted in HEAD and 
modified in 04c7197... unicode diacritics support. Version 04c7197... unicode 
diacritics support of drivers/tc/lk201-map.c_shipped left in tree.
Automatic revert failed.  After resolving the conflicts,
mark the corrected paths with 'git-add '
and commit the result.

I reverted it manually in my working tree, ignoring a couple of bogus
rejects and the missing lk201-map.c_shipped which is _created_ in the
git tree by the attempt to revert, and now have a working kernel.  The
oops on microcode driver load is gone, as is the freeze on shutdown when
scripts attempt to set hardware clock, nmi_watchdog firing when I poke
SysRq-T, and the inability to login via serial console reported in
thread:

http://groups.google.com/group/fa.linux.kernel/msg/1b08c2f15894aaf7

-Mike

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


[bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Mike Galbraith
On Thu, 2007-10-18 at 06:25 +0200, Mike Galbraith wrote:
 Greetings,
 
 Freshly pulled tree oopes per $subject.
 
 [  114.714335] BUG: unable to handle kernel NULL pointer dereference at 
 virtual address 0031
 [  114.732810] printing eip: c03332ff *pde =  
 [  114.747614] Oops:  [#1] PREEMPT SMP 
 [  114.761320] Modules linked in: microcode snd_seq edd button battery ac 
 ip6t_REJECT xt_tcpudp ipt_REJECT xt_state iptable_mangle iptable_nat nf_nat 
 iptable_filter ip6table_mangle nf_conntrack_ipv4 nf_conntrack ip_tables 
 ip6table_filter ip6_tables x_tables nls_iso8859_1 nls_cp437 nls_utf8 
 snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_mpu401 snd_timer 
 snd_mpu401_uart snd_rawmidi prism54 snd_page_alloc snd_seq_device snd 
 soundcore intel_agp agpgart i2c_i801 fan thermal processor
 [  114.781462] CPU:0
 [  114.781464] EIP:0060:[c03332ff]Not tainted VLI
 [  114.781468] EFLAGS: 00010293   (2.6.23-smp-git #13)
 [  114.781478] EIP is at misc_register+0x53/0x14f
 [  114.781483] eax: 0025   ebx: f8bff858   ecx: f8bff900   edx: 0031
 [  114.781490] esi: 00b8   edi: f8bff864   ebp: c2e0de88   esp: c2e0de68
 [  114.781496] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
 [  114.781502] Process modprobe (pid: 6115, ti=c2e0d000 task=c2efa070 
 task.ti=c2e0d000)
 [  114.781508] Stack: c1cb4070 f8bff900 c2e0de88 c014818c f8bff900 f8bff900 
 f8bff900 0029 
 [  114.781521]c2e0de9c f8bac011 c01368e6  f8bff900 c2e0dfb0 
 c0149dfa  
 [  114.781533] 2000 c04d4060 c2e0ded0 c2e0df58 f8be0058 
 f8be0054 f8bff948 
 [  114.781545] Call Trace:
 [  114.781548]  [c010514a] show_trace_log_lvl+0x1a/0x30
 [  114.781558]  [c0105205] show_stack_log_lvl+0xa5/0xca
 [  114.781564]  [c0105426] show_registers+0x1fc/0x33d
 [  114.781571]  [c010567d] die+0x116/0x239
 [  114.781577]  [c011d008] do_page_fault+0x2dc/0x5c4
 [  114.781585]  [c04c0662] error_code+0x72/0x78
 [  114.781594]  [f8bac011] microcode_init+0x11/0xbb [microcode]
 [  114.781604]  [c0149dfa] sys_init_module+0xef/0x19bb
 [  114.781612]  [c01041ba] syscall_call+0x7/0xb
 [  114.781618]  ===
 [  114.781621] Code: 0c 0f 18 02 90 81 3d 60 d5 61 c0 60 d5 61 c0 0f 84 fb 00 
 00 00 8b 33 39 30 75 0d e9 a9 00 00 00 39 30 0f 84 a1 00 00 00 8d 42 f4 8b 
 50 0c 0f 18 02 90 3d 54 d5 61 c0 75 e7 81 fe ff 00 00 00 0f 
 [  114.781677] EIP: [c03332ff] misc_register+0x53/0x14f SS:ESP 0068:c2e0de68
 
 (gdb) list *misc_register+0x53
 0xc03332ff is in misc_register (drivers/char/misc.c:194).
 189 int err = 0;
 190
 191 INIT_LIST_HEAD(misc-list);
 192
 193 mutex_lock(misc_mtx);
 194 list_for_each_entry(c, misc_list, list) {
 195 if (c-minor == misc-minor) {
 196 mutex_unlock(misc_mtx);
 197 return -EBUSY;
 198 }
 

The winner of a very long git bisect session:

04c71976500352d02f60616d2b960267d8c5fe24 is first bad commit
commit 04c71976500352d02f60616d2b960267d8c5fe24
Author: Samuel Thibault [EMAIL PROTECTED]
Date:   Tue Oct 16 23:27:04 2007 -0700

unicode diacritics support


Attempting to revert with git:

[EMAIL PROTECTED]: git revert 04c71976500352d02f60616d2b960267d8c5fe24
Auto-merged drivers/char/keyboard.c
Auto-merged drivers/char/vt_ioctl.c
CONFLICT (delete/modify): drivers/tc/lk201-map.c_shipped deleted in HEAD and 
modified in 04c7197... unicode diacritics support. Version 04c7197... unicode 
diacritics support of drivers/tc/lk201-map.c_shipped left in tree.
Automatic revert failed.  After resolving the conflicts,
mark the corrected paths with 'git-add paths'
and commit the result.

I reverted it manually in my working tree, ignoring a couple of bogus
rejects and the missing lk201-map.c_shipped which is _created_ in the
git tree by the attempt to revert, and now have a working kernel.  The
oops on microcode driver load is gone, as is the freeze on shutdown when
scripts attempt to set hardware clock, nmi_watchdog firing when I poke
SysRq-T, and the inability to login via serial console reported in
thread:

http://groups.google.com/group/fa.linux.kernel/msg/1b08c2f15894aaf7

-Mike

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


Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Mike Galbraith
On Thu, 2007-10-18 at 23:33 +0100, Samuel Thibault wrote:
 Hi,
 
 Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
  The winner of a very long git bisect session:
  
  unicode diacritics support
 
 Uh, I fail to see how that could have an impact, I've again checked the
 boundaries, it looks fine, please people have a look.

I too was reluctant to believe the bisect result.  But...

 Could you try something odd?  On your tree that has the change reverted,
 please try the attached patch, which makes the array the same size at it
 would be with the change, possibly triggering bugs in completely other
 parts of the kernel.

That didn't break my box.  However, removing your test patch and
re-applying the revert I generated between git tree and working tree
brought it right back.  With the below applied, diff says there is no
difference between working tree and git tree (except for
vsyscall_32.lds, which is a generated file kbuild leaves lying around).
Per gitk, the git repository is at
d85714d81cc0408daddb68c10f7fd69eafe7c213

diff -uprNX /root/dontdiff git/linux-2.6/drivers/acorn/char/defkeymap-l7200.c 
linux-2.6.23.git/drivers/acorn/char/defkeymap-l7200.c
--- git/linux-2.6/drivers/acorn/char/defkeymap-l7200.c  2007-10-18 
18:55:53.0 +0200
+++ linux-2.6.23.git/drivers/acorn/char/defkeymap-l7200.c   2007-10-18 
19:02:12.0 +0200
@@ -346,7 +346,7 @@ char *func_table[MAX_NR_FUNC] = {
0,
 };
 
-struct kbdiacruc accent_table[MAX_DIACR] = {
+struct kbdiacr accent_table[MAX_DIACR] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'},{'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},
diff -uprNX /root/dontdiff git/linux-2.6/drivers/char/consolemap.c 
linux-2.6.23.git/drivers/char/consolemap.c
--- git/linux-2.6/drivers/char/consolemap.c 2007-10-18 18:55:53.0 
+0200
+++ linux-2.6.23.git/drivers/char/consolemap.c  2007-10-18 19:02:12.0 
+0200
@@ -669,29 +669,19 @@ void con_protect_unimap(struct vc_data *
p-readonly = rdonly;
 }
 
-/*
- * Always use USER_MAP. These functions are used by the keyboard,
- * which shouldn't be affected by G0/G1 switching, etc.
- * If the user map still contains default values, i.e. the
- * direct-to-font mapping, then assume user is using Latin1.
- */
 /* may be called during an interrupt */
 u32 conv_8bit_to_uni(unsigned char c)
 {
+   /*
+* Always use USER_MAP. This function is used by the keyboard,
+* which shouldn't be affected by G0/G1 switching, etc.
+* If the user map still contains default values, i.e. the
+* direct-to-font mapping, then assume user is using Latin1.
+*/
unsigned short uni = translations[USER_MAP][c];
return uni == (0xf000 | c) ? c : uni;
 }
 
-int conv_uni_to_8bit(u32 uni)
-{
-   int c;
-   for (c = 0; c  0x100; c++)
-   if (translations[USER_MAP][c] == uni ||
-  (translations[USER_MAP][c] == (c | 0xf000)  uni == c))
-   return c;
-   return -1;
-}
-
 int
 conv_uni_to_pc(struct vc_data *conp, long ucs) 
 {
diff -uprNX /root/dontdiff git/linux-2.6/drivers/char/keyboard.c 
linux-2.6.23.git/drivers/char/keyboard.c
--- git/linux-2.6/drivers/char/keyboard.c   2007-10-18 18:55:53.0 
+0200
+++ linux-2.6.23.git/drivers/char/keyboard.c2007-10-18 19:02:19.0 
+0200
@@ -38,7 +38,6 @@
 #include linux/kbd_kern.h
 #include linux/kbd_diacr.h
 #include linux/vt_kern.h
-#include linux/consolemap.h
 #include linux/sysrq.h
 #include linux/input.h
 #include linux/reboot.h
@@ -404,12 +403,9 @@ static unsigned int handle_diacr(struct 
return d;
 
if (kbd-kbdmode == VC_UNICODE)
-   to_utf8(vc, d);
-   else {
-   int c = conv_uni_to_8bit(d);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, conv_8bit_to_uni(d));
+   else if (d  0x100)
+   put_queue(vc, d);
 
return ch;
 }
@@ -421,12 +417,9 @@ static void fn_enter(struct vc_data *vc)
 {
if (diacr) {
if (kbd-kbdmode == VC_UNICODE)
-   to_utf8(vc, diacr);
-   else {
-   int c = conv_uni_to_8bit(diacr);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, conv_8bit_to_uni(diacr));
+   else if (diacr  0x100)
+   put_queue(vc, diacr);
diacr = 0;
}
put_queue(vc, 13);
@@ -634,12 +627,9 @@ static void k_unicode(struct vc_data *vc
return;
}
if (kbd-kbdmode == VC_UNICODE)
-   to_utf8(vc, value);
-   else {
-   int c = conv_uni_to_8bit(value);
-   if (c != -1)
-   put_queue(vc, c);
-   }
+   to_utf8(vc, 

Re: [bisected][mismerge?] Re: [microcode] 2.6.23.git pulled this morning oopses loading P4 microcode

2007-10-18 Thread Samuel Thibault
Hi,

Mike Galbraith, le Thu 18 Oct 2007 19:56:38 +0200, a écrit :
 The winner of a very long git bisect session:
 
 unicode diacritics support

Uh, I fail to see how that could have an impact, I've again checked the
boundaries, it looks fine, please people have a look.

Could you try something odd?  On your tree that has the change reverted,
please try the attached patch, which makes the array the same size at it
would be with the change, possibly triggering bugs in completely other
parts of the kernel.

Samuel
--- defkeymap.c_shipped.old 2007-10-18 22:44:59.0 +
+++ defkeymap.c_shipped 2007-10-18 22:44:43.0 +
@@ -222,7 +222,7 @@
NULL,
 };
 
-struct kbdiacr accent_table[MAX_DIACR] = {
+struct kbdiacr accent_table[(MAX_DIACR*3*4-MAX_DIACR*3)/3] = {
{'`', 'A', '\300'}, {'`', 'a', '\340'},
{'\'', 'A', '\301'},{'\'', 'a', '\341'},
{'^', 'A', '\302'}, {'^', 'a', '\342'},