Re: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

2007/6/6, Christoph Lameter <[EMAIL PROTECTED]>:
Note that the corruption seems to have its cause in a decrement done at
offset 16 into the object pointing to the refcount in struct hci_dev. So
it looks like the refcount was decremented after the object was freed.

sysfs related?


I noticed in hci_core.c:

hci_dev_close call hci_dev_do_close , then call hci_dev_put

but in hci_dev_do_close  also call hci_dev_put

Maybe this is the reason, by apply the below patch the bug seems
doesn't exist,  but the strange thing is the 2.4.22-rc4 seems works, I
will test once more to see the result.

Signed-off-by: dave young <[EMAIL PROTECTED]>
---
net/bluetooth/hci_core.c |1 -
1 file changed, 1 deletion(-)

diff -dur linux/net/bluetooth/hci_core.c linux.new/net/bluetooth/hci_core.c
--- linux/net/bluetooth/hci_core.c  2007-06-06 13:47:14.0 +
+++ linux.new/net/bluetooth/hci_core.c  2007-06-06 13:46:58.0 +
@@ -577,7 +577,6 @@

   hci_req_unlock(hdev);

-   hci_dev_put(hdev);
   return 0;
}

Regards
dave
-
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: [patch -mm] alsa mixer_oss kfree fix

2007-06-05 Thread young dave

Hi, Andrew



kfree(NULL) is legal, and is often used.



Apart from the null pointer, IMHO,there's two problem need to be
fixed, I'm not sure.

What's your opinion?

1. the label indent should be removed
2. similar code use different label, some use " __unlock" but others
use "__unalloc", "__unlock" seems to be misspelled.

Regards
dave
-
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: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

Are you able to reproduce this in 2.6.22-rc4?


The bug seems doesn't exist in 2.6.22-rc4, I have tested it, the
unpluging can't produce kernel bug message.

Regards
dave
-
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: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

Are you able to reproduce this in 2.6.22-rc4?

The kmalloc in dmesg is in skbuff.c:pskb_expand_head, I will try
2.6.22-rc4 ASAP.
-
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/


[BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,
when I remove the usb bluetooth adapter , the kernel reporting bug:

/* this two line is printk message I printed in net/bluetooth/hci_core.c */

#before free dev: c3758430
#after free dev

=
BUG kmalloc-1024: Poison overwritten
-

INFO: 0xc3758440-0xc3758440. First byte 0x6a instead of 0x6b
INFO: Allocated in hci_alloc_dev+0x1f/0x80 [bluetooth] age=6094 cpu=0 pid=9586
INFO: Freed in device_release+0x82/0x90 age=0 cpu=0 pid=7
INFO: Slab 0xc106eb00 used=6 fp=0xc3758430 flags=0x400020c3
INFO: Object 0xc3758430 @offset=1072 fp=0xc375b240

Bytes b4 0xc3758420:  00 00 00 00 b9 ea 09 00 5a 5a 5a 5a 5a 5a 5a 5a
¹ê..
 Object 0xc3758430:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758440:  6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
jkkk
 Object 0xc3758450:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758460:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758470:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758480:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758490:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc37584a0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

Redzone 0xc3758830:  bb bb bb bb

Padding 0xc3758858:  5a 5a 5a 5a 5a 5a 5a 5a

[] check_bytes_and_report+0xaa/0xe0
[] check_object+0x198/0x1e0
[] alloc_debug_processing+0x9c/0x130
[] __slab_alloc+0x10a/0x220
[] pskb_expand_head+0x4a/0x140
[] __kmalloc+0x72/0x80
[] pskb_expand_head+0x4a/0x140
[] pskb_expand_head+0x4a/0x140
[] alloc_debug_processing+0xc6/0x130
[] netlink_broadcast+0x68/0x370
[] kobject_uevent_env+0x32d/0x4e0
[] kobject_uevent_env+0x414/0x4e0
[] d_kill+0x3f/0x60
[] dput+0x1a/0xf0
[] device_del+0x1ac/0x2e0
[] usb_disable_device+0x78/0xf0
[] usb_disconnect+0x93/0xf0
[] hub_port_connect_change+0x2f2/0x3b0
[] hub_events+0x212/0x420
[] autoremove_wake_function+0x0/0x50
[] hub_thread+0x25/0x110
[] autoremove_wake_function+0x0/0x50
[] autoremove_wake_function+0x0/0x50
[] hub_thread+0x0/0x110
[] kthread+0x59/0xa0
[] kthread+0x0/0xa0
[] kernel_thread_helper+0x7/0x14
===
FIX kmalloc-1024: Restoring 0xc3758440-0xc3758440=0x6b

FIX kmalloc-1024: Marking all objects used
-
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/


[BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,
when I remove the usb bluetooth adapter , the kernel reporting bug:

/* this two line is printk message I printed in net/bluetooth/hci_core.c */

#before free dev: c3758430
#after free dev

=
BUG kmalloc-1024: Poison overwritten
-

INFO: 0xc3758440-0xc3758440. First byte 0x6a instead of 0x6b
INFO: Allocated in hci_alloc_dev+0x1f/0x80 [bluetooth] age=6094 cpu=0 pid=9586
INFO: Freed in device_release+0x82/0x90 age=0 cpu=0 pid=7
INFO: Slab 0xc106eb00 used=6 fp=0xc3758430 flags=0x400020c3
INFO: Object 0xc3758430 @offset=1072 fp=0xc375b240

Bytes b4 0xc3758420:  00 00 00 00 b9 ea 09 00 5a 5a 5a 5a 5a 5a 5a 5a
¹ê..
 Object 0xc3758430:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758440:  6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
jkkk
 Object 0xc3758450:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758460:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758470:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758480:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc3758490:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

 Object 0xc37584a0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b

Redzone 0xc3758830:  bb bb bb bb

Padding 0xc3758858:  5a 5a 5a 5a 5a 5a 5a 5a

[c016db1a] check_bytes_and_report+0xaa/0xe0
[c016de48] check_object+0x198/0x1e0
[c016e2ac] alloc_debug_processing+0x9c/0x130
[c016ed9a] __slab_alloc+0x10a/0x220
[c03c412a] pskb_expand_head+0x4a/0x140
[c016fa12] __kmalloc+0x72/0x80
[c03c412a] pskb_expand_head+0x4a/0x140
[c03c412a] pskb_expand_head+0x4a/0x140
[c016e2d6] alloc_debug_processing+0xc6/0x130
[c03dbcc8] netlink_broadcast+0x68/0x370
[c02727fd] kobject_uevent_env+0x32d/0x4e0
[c02728e4] kobject_uevent_env+0x414/0x4e0
[c01858df] d_kill+0x3f/0x60
[c018591a] dput+0x1a/0xf0
[c02dbd7c] device_del+0x1ac/0x2e0
[c0360e88] usb_disable_device+0x78/0xf0
[c035b923] usb_disconnect+0x93/0xf0
[c035cb02] hub_port_connect_change+0x2f2/0x3b0
[c035cdd2] hub_events+0x212/0x420
[c0138470] autoremove_wake_function+0x0/0x50
[c035d005] hub_thread+0x25/0x110
[c0138470] autoremove_wake_function+0x0/0x50
[c0138470] autoremove_wake_function+0x0/0x50
[c035cfe0] hub_thread+0x0/0x110
[c0137e99] kthread+0x59/0xa0
[c0137e40] kthread+0x0/0xa0
[c0104df3] kernel_thread_helper+0x7/0x14
===
FIX kmalloc-1024: Restoring 0xc3758440-0xc3758440=0x6b

FIX kmalloc-1024: Marking all objects used
-
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: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

Are you able to reproduce this in 2.6.22-rc4?

The kmalloc in dmesg is in skbuff.c:pskb_expand_head, I will try
2.6.22-rc4 ASAP.
-
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: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

Are you able to reproduce this in 2.6.22-rc4?


The bug seems doesn't exist in 2.6.22-rc4, I have tested it, the
unpluging can't produce kernel bug message.

Regards
dave
-
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: [patch -mm] alsa mixer_oss kfree fix

2007-06-05 Thread young dave

Hi, Andrew



kfree(NULL) is legal, and is often used.



Apart from the null pointer, IMHO,there's two problem need to be
fixed, I'm not sure.

What's your opinion?

1. the label indent should be removed
2. similar code use different label, some use  __unlock but others
use __unalloc, __unlock seems to be misspelled.

Regards
dave
-
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: [BUG] 2.6.22-rc3-mm1 remove bluetooth usb adapter caused kmalloc bug

2007-06-05 Thread young dave

Hi,

2007/6/6, Christoph Lameter [EMAIL PROTECTED]:
Note that the corruption seems to have its cause in a decrement done at
offset 16 into the object pointing to the refcount in struct hci_dev. So
it looks like the refcount was decremented after the object was freed.

sysfs related?


I noticed in hci_core.c:

hci_dev_close call hci_dev_do_close , then call hci_dev_put

but in hci_dev_do_close  also call hci_dev_put

Maybe this is the reason, by apply the below patch the bug seems
doesn't exist,  but the strange thing is the 2.4.22-rc4 seems works, I
will test once more to see the result.

Signed-off-by: dave young [EMAIL PROTECTED]
---
net/bluetooth/hci_core.c |1 -
1 file changed, 1 deletion(-)

diff -dur linux/net/bluetooth/hci_core.c linux.new/net/bluetooth/hci_core.c
--- linux/net/bluetooth/hci_core.c  2007-06-06 13:47:14.0 +
+++ linux.new/net/bluetooth/hci_core.c  2007-06-06 13:46:58.0 +
@@ -577,7 +577,6 @@

   hci_req_unlock(hdev);

-   hci_dev_put(hdev);
   return 0;
}

Regards
dave
-
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: [patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,
Just append to my email.

The reason I read mixer_oss.c is that I see oops in 2.6.22-rc1-mm1,
seems oops in mixer_oss.c, but the oops rised only once, I found
rc3-mm1 have no change in this file,
so I read the source , then post this patch.

please find the oops message below:


BUG: unable to handle kernel NULL pointer dereference at virtual
address 0088
printing eip:
c0162bc2
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: snd_mixer_oss snd_hda_intel snd_pcm snd_timer
snd_page_alloc snd soundcore ipv6 capability commoncap e100 mi
i agpgart pcspkr psmouse
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010087   (2.6.22-rc1-mm1 #7)
EIP is at kfree+0x42/0x90
eax:    ebx: c10568e0   ecx: c2b47000   edx: c01588d2
esi: 0287   edi:    ebp: c2864000   esp: c2865f58
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process modprobe (pid: 2963, ti=c2864000 task=c1ede540 task.ti=c2864000)
Stack: 0011 f8855000 c0520cb4 0001 0001 c1e524a0 c1051bc0 c01588d2
  0805c348 0001 c2864000 f885502b f8840a00  0001 c013caf1
  4b79  000b7f68  b7f44840 08065f88 0805c348 c01040bc
Call Trace:
[] alsa_mixer_oss_init+0x0/0x37 [snd_mixer_oss]
[] __vunmap+0xb2/0xe0
[] alsa_mixer_oss_init+0x2b/0x37 [snd_mixer_oss]
[] sys_init_module+0xa1/0x140
[] syscall_call+0x7/0xb
[] packet_seq_start+0x30/0x60
===
Code: 00 00 00 40 a1 40 6a 59 c0 c1 ea 0c c1 e2 05 01 c2 8b 02 89 d3
25 00 40 02 00 3d 00 40 02 00 74 45 8b 7b 10 8b 54 24 1c 9
c 5e fa <39> 9f 88 00 00 00 75 25 8b 03 a8 02 75 1f 0f b7 53 0a 8b 43 0c
EIP: [] kfree+0x42/0x90 SS:ESP 0068:c2865f58
-
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: [patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,


kfree(NULL) is legal, and is often used.


Really?  I don't know this before.

Regards
dave
-
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/


[patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,
Fix possible null pointer kfree.

Signed-off-by: dave young <[EMAIL PROTECTED]>

mixer_oss.c |120 +-
1 file changed, 74 insertions(+), 46 deletions(-)

diff -purN linux/sound/core/oss/mixer_oss.c linux.new/sound/core/oss/mixer_oss.c
--- linux/sound/core/oss/mixer_oss.c2007-06-01 09:00:12.0 +
+++ linux.new/sound/core/oss/mixer_oss.c2007-06-01 09:36:10.0 
+
@@ -512,23 +512,27 @@ static void snd_mixer_oss_get_volume1_vo
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl->info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (kctl->get(kctl, uctl))
-   goto __unalloc;
+   goto out;
if (uinfo->type == SNDRV_CTL_ELEM_TYPE_BOOLEAN &&
uinfo->value.integer.min == 0 && uinfo->value.integer.max == 1)
-   goto __unalloc;
+   goto out;
*left = snd_mixer_oss_conv1(uctl->value.integer.value[0],
uinfo->value.integer.min, uinfo->value.integer.max,
>volume[0]);
if (uinfo->count > 1)
*right = snd_mixer_oss_conv1(uctl->value.integer.value[1],
uinfo->value.integer.min, uinfo->value.integer.max,
>volume[1]);
-  __unalloc:
+out:
+   kfree(uctl);
+out_uctl:
+   kfree(uinfo);
+out_uinfo:
up_read(>controls_rwsem);
-   kfree(uctl);
-   kfree(uinfo);
}

static void snd_mixer_oss_get_volume1_sw(struct snd_mixer_oss_file *fmixer,
@@ -550,13 +554,15 @@ static void snd_mixer_oss_get_volume1_sw
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl->info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (kctl->get(kctl, uctl))
-   goto __unalloc;
+   goto out;
if (!uctl->value.integer.value[0]) {
*left = 0;
if (uinfo->count == 1)
@@ -564,10 +570,12 @@ static void snd_mixer_oss_get_volume1_sw
}
if (uinfo->count > 1 && !uctl->value.integer.value[route ? 3 : 1])
*right = 0;
-  __unalloc:
-   up_read(>controls_rwsem);
-   kfree(uctl);
+out:
+   kfree(uctl);
+out_uctl:
kfree(uinfo);
+out_uinfo:
+   up_read(>controls_rwsem);
}

static int snd_mixer_oss_get_volume1(struct snd_mixer_oss_file *fmixer,
@@ -613,25 +621,29 @@ static void snd_mixer_oss_put_volume1_vo
if ((kctl = snd_ctl_find_numid(card, numid)) == NULL)
return;
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl->info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (uinfo->type == SNDRV_CTL_ELEM_TYPE_BOOLEAN &&
uinfo->value.integer.min == 0 && uinfo->value.integer.max == 1)
-   goto __unalloc;
+   goto out;
uctl->value.integer.value[0] = snd_mixer_oss_conv2(left,
uinfo->value.integer.min, uinfo->value.integer.max);
if (uinfo->count > 1)
uctl->value.integer.value[1] = snd_mixer_oss_conv2(right,
uinfo->value.integer.min, uinfo->value.integer.max);
if ((res = kctl->put(kctl, uctl)) < 0)
-   goto __unalloc;
+   goto out;
if (res > 0)
snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE, >id);
-  __unalloc:
-   up_read(>controls_rwsem);
-   kfree(uctl);
+out:
+   kfree(uctl);
+out_uctl:
kfree(uinfo);
+out_uinfo:
+   up_read(>controls_rwsem);
}

static void snd_mixer_oss_put_volume1_sw(struct snd_mixer_oss_file *fmixer,
@@ -654,11 +666,13 @@ static void snd_mixer_oss_put_volume1_sw
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl->info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (uinfo->count > 1) {
uctl->value.integer.value[0] = left > 0 ? 1 : 0;
uctl->value.integer.value[route ? 3 : 1] = right > 0 ? 1 : 0;
@@ -670,13 +684,15 @@ static 

[patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,
Fix possible null pointer kfree.

Signed-off-by: dave young [EMAIL PROTECTED]

mixer_oss.c |120 +-
1 file changed, 74 insertions(+), 46 deletions(-)

diff -purN linux/sound/core/oss/mixer_oss.c linux.new/sound/core/oss/mixer_oss.c
--- linux/sound/core/oss/mixer_oss.c2007-06-01 09:00:12.0 +
+++ linux.new/sound/core/oss/mixer_oss.c2007-06-01 09:36:10.0 
+
@@ -512,23 +512,27 @@ static void snd_mixer_oss_get_volume1_vo
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl-info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (kctl-get(kctl, uctl))
-   goto __unalloc;
+   goto out;
if (uinfo-type == SNDRV_CTL_ELEM_TYPE_BOOLEAN 
uinfo-value.integer.min == 0  uinfo-value.integer.max == 1)
-   goto __unalloc;
+   goto out;
*left = snd_mixer_oss_conv1(uctl-value.integer.value[0],
uinfo-value.integer.min, uinfo-value.integer.max,
pslot-volume[0]);
if (uinfo-count  1)
*right = snd_mixer_oss_conv1(uctl-value.integer.value[1],
uinfo-value.integer.min, uinfo-value.integer.max,
pslot-volume[1]);
-  __unalloc:
+out:
+   kfree(uctl);
+out_uctl:
+   kfree(uinfo);
+out_uinfo:
up_read(card-controls_rwsem);
-   kfree(uctl);
-   kfree(uinfo);
}

static void snd_mixer_oss_get_volume1_sw(struct snd_mixer_oss_file *fmixer,
@@ -550,13 +554,15 @@ static void snd_mixer_oss_get_volume1_sw
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl-info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (kctl-get(kctl, uctl))
-   goto __unalloc;
+   goto out;
if (!uctl-value.integer.value[0]) {
*left = 0;
if (uinfo-count == 1)
@@ -564,10 +570,12 @@ static void snd_mixer_oss_get_volume1_sw
}
if (uinfo-count  1  !uctl-value.integer.value[route ? 3 : 1])
*right = 0;
-  __unalloc:
-   up_read(card-controls_rwsem);
-   kfree(uctl);
+out:
+   kfree(uctl);
+out_uctl:
kfree(uinfo);
+out_uinfo:
+   up_read(card-controls_rwsem);
}

static int snd_mixer_oss_get_volume1(struct snd_mixer_oss_file *fmixer,
@@ -613,25 +621,29 @@ static void snd_mixer_oss_put_volume1_vo
if ((kctl = snd_ctl_find_numid(card, numid)) == NULL)
return;
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl-info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (uinfo-type == SNDRV_CTL_ELEM_TYPE_BOOLEAN 
uinfo-value.integer.min == 0  uinfo-value.integer.max == 1)
-   goto __unalloc;
+   goto out;
uctl-value.integer.value[0] = snd_mixer_oss_conv2(left,
uinfo-value.integer.min, uinfo-value.integer.max);
if (uinfo-count  1)
uctl-value.integer.value[1] = snd_mixer_oss_conv2(right,
uinfo-value.integer.min, uinfo-value.integer.max);
if ((res = kctl-put(kctl, uctl))  0)
-   goto __unalloc;
+   goto out;
if (res  0)
snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE, kctl-id);
-  __unalloc:
-   up_read(card-controls_rwsem);
-   kfree(uctl);
+out:
+   kfree(uctl);
+out_uctl:
kfree(uinfo);
+out_uinfo:
+   up_read(card-controls_rwsem);
}

static void snd_mixer_oss_put_volume1_sw(struct snd_mixer_oss_file *fmixer,
@@ -654,11 +666,13 @@ static void snd_mixer_oss_put_volume1_sw
return;
}
uinfo = kzalloc(sizeof(*uinfo), GFP_KERNEL);
+   if (uinfo == NULL)
+   goto out_uinfo;
uctl = kzalloc(sizeof(*uctl), GFP_KERNEL);
-   if (uinfo == NULL || uctl == NULL)
-   goto __unalloc;
+   if (uctl == NULL)
+   goto out_uctl;
if (kctl-info(kctl, uinfo))
-   goto __unalloc;
+   goto out;
if (uinfo-count  1) {
uctl-value.integer.value[0] = left  0 ? 1 : 0;
uctl-value.integer.value[route ? 3 : 1] = right  0 ? 1 : 0;
@@ -670,13 +684,15 @@ static void 

Re: [patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,


kfree(NULL) is legal, and is often used.


Really?  I don't know this before.

Regards
dave
-
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: [patch -mm] alsa mixer_oss kfree fix

2007-05-31 Thread young dave

Hi,
Just append to my email.

The reason I read mixer_oss.c is that I see oops in 2.6.22-rc1-mm1,
seems oops in mixer_oss.c, but the oops rised only once, I found
rc3-mm1 have no change in this file,
so I read the source , then post this patch.

please find the oops message below:


BUG: unable to handle kernel NULL pointer dereference at virtual
address 0088
printing eip:
c0162bc2
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: snd_mixer_oss snd_hda_intel snd_pcm snd_timer
snd_page_alloc snd soundcore ipv6 capability commoncap e100 mi
i agpgart pcspkr psmouse
CPU:0
EIP:0060:[c0162bc2]Not tainted VLI
EFLAGS: 00010087   (2.6.22-rc1-mm1 #7)
EIP is at kfree+0x42/0x90
eax:    ebx: c10568e0   ecx: c2b47000   edx: c01588d2
esi: 0287   edi:    ebp: c2864000   esp: c2865f58
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process modprobe (pid: 2963, ti=c2864000 task=c1ede540 task.ti=c2864000)
Stack: 0011 f8855000 c0520cb4 0001 0001 c1e524a0 c1051bc0 c01588d2
  0805c348 0001 c2864000 f885502b f8840a00  0001 c013caf1
  4b79  000b7f68  b7f44840 08065f88 0805c348 c01040bc
Call Trace:
[f8855000] alsa_mixer_oss_init+0x0/0x37 [snd_mixer_oss]
[c01588d2] __vunmap+0xb2/0xe0
[f885502b] alsa_mixer_oss_init+0x2b/0x37 [snd_mixer_oss]
[c013caf1] sys_init_module+0xa1/0x140
[c01040bc] syscall_call+0x7/0xb
[c044] packet_seq_start+0x30/0x60
===
Code: 00 00 00 40 a1 40 6a 59 c0 c1 ea 0c c1 e2 05 01 c2 8b 02 89 d3
25 00 40 02 00 3d 00 40 02 00 74 45 8b 7b 10 8b 54 24 1c 9
c 5e fa 39 9f 88 00 00 00 75 25 8b 03 a8 02 75 1f 0f b7 53 0a 8b 43 0c
EIP: [c0162bc2] kfree+0x42/0x90 SS:ESP 0068:c2865f58
-
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: [RFC 1/4] CONFIG_STABLE: Define it

2007-05-30 Thread young dave

Hi Christoph,


Introduce CONFIG_STABLE to control checks only useful for development.


What about control checks only as SLUB_DEBUG is set?

Regards
dave
-
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: [RFC 1/4] CONFIG_STABLE: Define it

2007-05-30 Thread young dave

Hi Christoph,


Introduce CONFIG_STABLE to control checks only useful for development.


What about control checks only as SLUB_DEBUG is set?

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-29 Thread young dave

Hi,


Your email client replaces tabs with spaces.


The  tabs replacing was caused by copying them from vi session in
gnome-terminal. I find the proper way is to copy them from some gui
editor.

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-29 Thread young dave

Hi,
Thank you, andrew.


Your email client replaces tabs with spaces.


Really? I use gmail web via firefox,  next time I will use mutt to
send patches.

Regards
dave
-
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: [NFS] [PATCH] NFSD: fix uninitialized variable

2007-05-29 Thread young dave

Hi, matt
embarrassed :)
below resend it.

diff -dur linux/fs/nfsd/nfs4acl.c linux.new/fs/nfsd/nfs4acl.c
--- linux/fs/nfsd/nfs4acl.c 2007-05-29 12:28:29.0 +
+++ linux.new/fs/nfsd/nfs4acl.c 2007-05-29 16:32:26.0 +
@@ -183,8 +183,6 @@
summarize_posix_acl(struct posix_acl *acl, struct posix_acl_summary *pas)
{
   struct posix_acl_entry *pa, *pe;
-   pas->users = 0;
-   pas->groups = 0;
   pas->mask = 07;

   pe = acl->a_entries + acl->a_count;
@@ -229,6 +227,7 @@
   int eflag = ((flags & NFS4_ACL_TYPE_DEFAULT) ?
   NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0);

+   memset(pas, 0, sizeof(struct posix_acl_summary));
   BUG_ON(pacl->a_count < 3);
   summarize_posix_acl(pacl, );
-
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: [NFS] [PATCH] NFSD: fix uninitialized variable

2007-05-29 Thread young dave

Hi, matt
embarrassed :)
below resend it.

diff -dur linux/fs/nfsd/nfs4acl.c linux.new/fs/nfsd/nfs4acl.c
--- linux/fs/nfsd/nfs4acl.c 2007-05-29 12:28:29.0 +
+++ linux.new/fs/nfsd/nfs4acl.c 2007-05-29 16:32:26.0 +
@@ -183,8 +183,6 @@
summarize_posix_acl(struct posix_acl *acl, struct posix_acl_summary *pas)
{
   struct posix_acl_entry *pa, *pe;
-   pas-users = 0;
-   pas-groups = 0;
   pas-mask = 07;

   pe = acl-a_entries + acl-a_count;
@@ -229,6 +227,7 @@
   int eflag = ((flags  NFS4_ACL_TYPE_DEFAULT) ?
   NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0);

+   memset(pas, 0, sizeof(struct posix_acl_summary));
   BUG_ON(pacl-a_count  3);
   summarize_posix_acl(pacl, pas);
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-29 Thread young dave

Hi,
Thank you, andrew.


Your email client replaces tabs with spaces.


Really? I use gmail web via firefox,  next time I will use mutt to
send patches.

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-29 Thread young dave

Hi,


Your email client replaces tabs with spaces.


The  tabs replacing was caused by copying them from vi session in
gnome-terminal. I find the proper way is to copy them from some gui
editor.

Regards
dave
-
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: [NFS] [PATCH] NFSD: fix uninitialized variable

2007-05-28 Thread young dave

Hi,


Given what you said above, I don't see gcc, on its best day, will ever
know enough to validate that that variable is indeed always initialized.
  So I would vote for silencing it on those grounds.


I agree too. How about this one:

diff -dur linux/fs/nfsd/nfs4acl.c linux.new/fs/nfsd/nfs4acl.c
--- linux/fs/nfsd/nfs4acl.c 2007-05-29 12:28:29.0 +
+++ linux.new/fs/nfsd/nfs4acl.c 2007-05-29 12:30:45.0 +
@@ -183,8 +183,6 @@
summarize_posix_acl(struct posix_acl *acl, struct posix_acl_summary *pas)
{
   struct posix_acl_entry *pa, *pe;
-   pas->users = 0;
-   pas->groups = 0;
   pas->mask = 07;

   pe = acl->a_entries + acl->a_count;
@@ -229,6 +227,7 @@
   int eflag = ((flags & NFS4_ACL_TYPE_DEFAULT) ?
   NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0);

+   memset(pas, 0, sizeof(struct posix_acl_summary);
   BUG_ON(pacl->a_count < 3);
   summarize_posix_acl(pacl, );

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-28 Thread young dave

Hi,
Thanks,  can this small fix be merged?
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-28 Thread young dave

Hi,
Thanks,  can this small fix be merged?
-
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: [NFS] [PATCH] NFSD: fix uninitialized variable

2007-05-28 Thread young dave

Hi,


Given what you said above, I don't see gcc, on its best day, will ever
know enough to validate that that variable is indeed always initialized.
  So I would vote for silencing it on those grounds.


I agree too. How about this one:

diff -dur linux/fs/nfsd/nfs4acl.c linux.new/fs/nfsd/nfs4acl.c
--- linux/fs/nfsd/nfs4acl.c 2007-05-29 12:28:29.0 +
+++ linux.new/fs/nfsd/nfs4acl.c 2007-05-29 12:30:45.0 +
@@ -183,8 +183,6 @@
summarize_posix_acl(struct posix_acl *acl, struct posix_acl_summary *pas)
{
   struct posix_acl_entry *pa, *pe;
-   pas-users = 0;
-   pas-groups = 0;
   pas-mask = 07;

   pe = acl-a_entries + acl-a_count;
@@ -229,6 +227,7 @@
   int eflag = ((flags  NFS4_ACL_TYPE_DEFAULT) ?
   NFS4_INHERITANCE_FLAGS | NFS4_ACE_INHERIT_ONLY_ACE : 0);

+   memset(pas, 0, sizeof(struct posix_acl_summary);
   BUG_ON(pacl-a_count  3);
   summarize_posix_acl(pacl, pas);

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-27 Thread young dave

Hi,

And then there's the supercompact form.

while (len--) {
hash = partial_name_hash(tolower(*name++), hash);
}

But I do not like the last one at all. The first one is the best, because
it clearly separates the condition and iteration parts of the expression,
while STILL being only three lines long. Or two, if you omit the braces.
(But you shouldn't.)



IMO, I like the last one, but I prefer to keep the original author's
one, I only remove the unnecessary tolower function.
What do you think about this , Andrew?

Regards
dave
-
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/


[patch -mm 1/1] remove useless tolower in isofs

2007-05-27 Thread young dave

Hi,
Remove useless tolower in isofs

Signed-off-by: dave young <[EMAIL PROTECTED]>

inode.c |2 +-
1 file changed, 1 insertions(+), 1 deletions(-)

diff -dur linux/fs/isofs/inode.c linux.new/fs/isofs/inode.c
--- linux/fs/isofs/inode.c  2007-05-28 08:54:33.0 +
+++ linux.new/fs/isofs/inode.c  2007-05-28 08:55:02.0 +
@@ -197,7 +197,7 @@
   hash = init_name_hash();
   while (len--) {
   c = tolower(*name++);
-   hash = partial_name_hash(tolower(c), hash);
+   hash = partial_name_hash(c, hash);
   }
   qstr->hash = end_name_hash(hash);

Regards
dave
-
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/


[patch -mm 1/1] remove useless tolower in isofs

2007-05-27 Thread young dave

Hi,
Remove useless tolower in isofs

Signed-off-by: dave young [EMAIL PROTECTED]

inode.c |2 +-
1 file changed, 1 insertions(+), 1 deletions(-)

diff -dur linux/fs/isofs/inode.c linux.new/fs/isofs/inode.c
--- linux/fs/isofs/inode.c  2007-05-28 08:54:33.0 +
+++ linux.new/fs/isofs/inode.c  2007-05-28 08:55:02.0 +
@@ -197,7 +197,7 @@
   hash = init_name_hash();
   while (len--) {
   c = tolower(*name++);
-   hash = partial_name_hash(tolower(c), hash);
+   hash = partial_name_hash(c, hash);
   }
   qstr-hash = end_name_hash(hash);

Regards
dave
-
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: [patch -mm 1/1] remove useless tolower in isofs

2007-05-27 Thread young dave

Hi,

And then there's the supercompact form.

while (len--) {
hash = partial_name_hash(tolower(*name++), hash);
}

But I do not like the last one at all. The first one is the best, because
it clearly separates the condition and iteration parts of the expression,
while STILL being only three lines long. Or two, if you omit the braces.
(But you shouldn't.)



IMO, I like the last one, but I prefer to keep the original author's
one, I only remove the unnecessary tolower function.
What do you think about this , Andrew?

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS & SLUB related fix

2007-05-25 Thread young dave

Hi,
I'm very sorry, andrew, you are right.
I directly modified the source and forgot remove the line ni->name[i] = 0;

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS & SLUB related fix

2007-05-25 Thread young dave

Yes, I'm sure.  but the patch in top post of mine works, the diffrence
is using kzalloc and remove the  "ni->name[i] = 0;" line.

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS & SLUB related fix

2007-05-25 Thread young dave

Hi  Andrew,


So I think this was meant:

--- a/fs/ntfs/inode.c~a
+++ a/fs/ntfs/inode.c
@@ -140,7 +140,7 @@ static int ntfs_init_locked_inode(struct
if (!ni->name)
return -ENOMEM;
memcpy(ni->name, na->name, i);
-   ni->name[i] = 0;
+   ni->name[na->name_len] = 0;
}
return 0;
 }
_



I tested it , it doesn't work.
-
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: 2.6.22-rc2-mm1 NTFS SLUB related fix

2007-05-25 Thread young dave

Hi  Andrew,


So I think this was meant:

--- a/fs/ntfs/inode.c~a
+++ a/fs/ntfs/inode.c
@@ -140,7 +140,7 @@ static int ntfs_init_locked_inode(struct
if (!ni-name)
return -ENOMEM;
memcpy(ni-name, na-name, i);
-   ni-name[i] = 0;
+   ni-name[na-name_len] = 0;
}
return 0;
 }
_



I tested it , it doesn't work.
-
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: 2.6.22-rc2-mm1 NTFS SLUB related fix

2007-05-25 Thread young dave

Yes, I'm sure.  but the patch in top post of mine works, the diffrence
is using kzalloc and remove the  ni-name[i] = 0; line.

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS SLUB related fix

2007-05-25 Thread young dave

Hi,
I'm very sorry, andrew, you are right.
I directly modified the source and forgot remove the line ni-name[i] = 0;

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS & SLUB related fix

2007-05-24 Thread young dave

Hi,


Is this ntfs_init_locked_inode?


Yes, it is.


>  Bytes b4 0xc2959e28:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a
>Object 0xc2959e38:  24 00 51 00 00 00 6b a5
>   Redzone 0xc2959e40:  00 00 cc cc

First two bytes after the object overwritten. The allocation for this
object should have been two bytes longer.

> Last alloc: ntfs_init_locked_inode+0x9e/0x110 jiffies_ago=5140 cpu=0 pid=1604

This is the function that allocated a too short object.



Only the last one byte of  the string  is zeroed, but It malloced 2
more byte appended the string because size of thentfschar type is 2
bytes , is this the reason? But why?

Regards
dave
-
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/


2.6.22-rc2-mm1 NTFS & SLUB related fix

2007-05-24 Thread young dave

Hi,
As I umount a ntfs partition, the kernel report some trace infomation,
I can't call it oops, right?

Andrew, could you tell me who is the right person should I send  to?

I navagated the ntfs inode.c, and found a possible bug, replaced
kmalloc with kzalloc,
because the ntfschar size is 2.  then the kernel doesn't warning
again. and the slub debug info also disappeared.

This patch works for me:

diff -udr linux/fs/ntfs/inode.c linux.new/fs/ntfs/inode.c
--- linux/fs/ntfs/inode.c   2007-05-25 12:46:27.0 +
+++ linux.new/fs/ntfs/inode.c   2007-05-25 12:45:31.0 +
@@ -136,11 +136,10 @@

BUG_ON(!na->name);
i = na->name_len * sizeof(ntfschar);
-   ni->name = kmalloc(i + sizeof(ntfschar), GFP_ATOMIC);
+   ni->name = kzalloc(i + sizeof(ntfschar), GFP_ATOMIC);
if (!ni->name)
return -ENOMEM;
memcpy(ni->name, na->name, i);
-   ni->name[i] = 0;
}
return 0;
}



And please look the failed kernel message:

*** SLUB kmalloc-8: Redzone [EMAIL PROTECTED] slab 0xc1052b20
   offset=3640 flags=0x40c2 inuse=73 freelist=0x
 Bytes b4 0xc2959e28:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a
5a 
   Object 0xc2959e38:  24 00 51 00 00 00 6b a5
$.Q...k¥
  Redzone 0xc2959e40:  00 00 cc cc
..ÌÌ
FreePointer 0xc2959e44 -> 0x
Last alloc: ntfs_init_locked_inode+0x9e/0x110 jiffies_ago=5140 cpu=0 pid=1604
Last free : __vunmap+0xb2/0xe0 jiffies_ago=30727 cpu=0 pid=1491
   Filler 0xc2959e68:  5a 5a 5a 5a 5a 5a 5a 5a

[] check_object+0x71/0x250
[] preempt_schedule+0x50/0x70
[] free_debug_processing+0xc1/0x1a0
[] vprintk+0x227/0x250
[] __slab_free+0x79/0xe0
[] __ntfs_clear_inode+0x11a/0x1b0
[] kfree+0x63/0x70
[] __ntfs_clear_inode+0x11a/0x1b0
[] __ntfs_clear_inode+0x11a/0x1b0
[] ntfs_clear_big_inode+0x59/0x120
[] dquot_drop+0x0/0x50
[] clear_inode+0xc1/0x150
[] generic_forget_inode+0x107/0x180
[] iput+0x53/0x60
[] ntfs_put_super+0x6c5/0x8e0
[] generic_shutdown_super+0xea/0x100
[] kill_block_super+0xc/0x20
[] deactivate_super+0x4e/0xa0
[] sys_umount+0x35/0x80
[] do_page_fault+0x434/0x5c0
[] sys_oldumount+0x15/0x20
[] syscall_call+0x7/0xb
===
@@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc2959e40-0xc2959e43
-
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: 2.6.22-rc2-mm1 SLUB oops

2007-05-24 Thread young dave

Hi,


Reboot with slub_debug as a kernel parameter please.


Yes, I will enable slub_debug as boot parameter, but it doesn't occur
definitely.

I will report the info if it arrive again ASAP.

Regards
dave
-
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/


2.6.22-rc2-mm1 SLUB oops

2007-05-24 Thread young dave

Hi,

When I exec aumix from console, the kernel oops seems in modprobe
process, and after a while , system hanged.

BUG: unable to handle kernel paging request at virtual address 646c6f68
printing eip:
c016531e
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: cifs snd_hda_intel snd_pcm snd_timer snd_page_alloc snd sound
core ipv6 capability commoncap e100 mii agpgart pcspkr psmouse
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010002   (2.6.22-rc2-mm1 #2)
EIP is at __kmalloc_track_caller+0x3e/0x80
eax:    ebx: c054dc24   ecx: 646c6f68   edx: c1050960
esi: 0286   edi: 00d0   ebp: c013d8c5   esp: c30a1e98
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process modprobe (pid: 1741, ti=c30a task=c1f0ef40 task.ti=c30a)
Stack: c013d866 0282 f03e c304194c f044 0006 c0150505 f8840b0c
  c015049a 000f c304194c 0258 c3041800 c013d8c5 c0521f10 
  f8840b00  c3041a34 f080 f8887fa4 0019 f8840b00 f8885000
Call Trace:
[] add_sect_attrs+0x66/0x150
[] kstrdup+0x35/0x70
[] __kzalloc+0x1a/0x50
[] add_sect_attrs+0xc5/0x150
[] load_module+0xa6e/0xc00
[] sys_init_module+0x44/0x140
[] syscall_call+0x7/0xb
[] packet_dev_mc+0x10/0x80
===
Code: 89 74 24 0c e8 24 f8 ff ff 89 c3 31 c0 85 db 74 24 9c 5e fa 8b 93 88 00 00
00 85 d2 74 2b 8b 42 0c 85 c0 74 24 89 c1 0f b7 42 0a <8b> 04 81 89 42 0c 56 9d
89 c8 8b 5c 24 08 8b 74 24 0c 8b 7c 24
EIP: [] __kmalloc_track_caller+0x3e/0x80 SS:ESP 0068:c30a1e98

Regards
dave
-
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/


2.6.22-rc2-mm1 SLUB oops

2007-05-24 Thread young dave

Hi,

When I exec aumix from console, the kernel oops seems in modprobe
process, and after a while , system hanged.

BUG: unable to handle kernel paging request at virtual address 646c6f68
printing eip:
c016531e
*pde = 
Oops:  [#1]
PREEMPT
Modules linked in: cifs snd_hda_intel snd_pcm snd_timer snd_page_alloc snd sound
core ipv6 capability commoncap e100 mii agpgart pcspkr psmouse
CPU:0
EIP:0060:[c016531e]Not tainted VLI
EFLAGS: 00010002   (2.6.22-rc2-mm1 #2)
EIP is at __kmalloc_track_caller+0x3e/0x80
eax:    ebx: c054dc24   ecx: 646c6f68   edx: c1050960
esi: 0286   edi: 00d0   ebp: c013d8c5   esp: c30a1e98
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process modprobe (pid: 1741, ti=c30a task=c1f0ef40 task.ti=c30a)
Stack: c013d866 0282 f03e c304194c f044 0006 c0150505 f8840b0c
  c015049a 000f c304194c 0258 c3041800 c013d8c5 c0521f10 
  f8840b00  c3041a34 f080 f8887fa4 0019 f8840b00 f8885000
Call Trace:
[c013d866] add_sect_attrs+0x66/0x150
[c0150505] kstrdup+0x35/0x70
[c015049a] __kzalloc+0x1a/0x50
[c013d8c5] add_sect_attrs+0xc5/0x150
[c013f04e] load_module+0xa6e/0xc00
[c013f244] sys_init_module+0x44/0x140
[c0104098] syscall_call+0x7/0xb
[c044] packet_dev_mc+0x10/0x80
===
Code: 89 74 24 0c e8 24 f8 ff ff 89 c3 31 c0 85 db 74 24 9c 5e fa 8b 93 88 00 00
00 85 d2 74 2b 8b 42 0c 85 c0 74 24 89 c1 0f b7 42 0a 8b 04 81 89 42 0c 56 9d
89 c8 8b 5c 24 08 8b 74 24 0c 8b 7c 24
EIP: [c016531e] __kmalloc_track_caller+0x3e/0x80 SS:ESP 0068:c30a1e98

Regards
dave
-
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: 2.6.22-rc2-mm1 SLUB oops

2007-05-24 Thread young dave

Hi,


Reboot with slub_debug as a kernel parameter please.


Yes, I will enable slub_debug as boot parameter, but it doesn't occur
definitely.

I will report the info if it arrive again ASAP.

Regards
dave
-
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: 2.6.22-rc2-mm1 NTFS SLUB related fix

2007-05-24 Thread young dave

Hi,


Is this ntfs_init_locked_inode?


Yes, it is.


  Bytes b4 0xc2959e28:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a
Object 0xc2959e38:  24 00 51 00 00 00 6b a5
   Redzone 0xc2959e40:  00 00 cc cc

First two bytes after the object overwritten. The allocation for this
object should have been two bytes longer.

 Last alloc: ntfs_init_locked_inode+0x9e/0x110 jiffies_ago=5140 cpu=0 pid=1604

This is the function that allocated a too short object.



Only the last one byte of  the string  is zeroed, but It malloced 2
more byte appended the string because size of thentfschar type is 2
bytes , is this the reason? But why?

Regards
dave
-
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/


2.6.22-rc2-mm1 NTFS SLUB related fix

2007-05-24 Thread young dave

Hi,
As I umount a ntfs partition, the kernel report some trace infomation,
I can't call it oops, right?

Andrew, could you tell me who is the right person should I send  to?

I navagated the ntfs inode.c, and found a possible bug, replaced
kmalloc with kzalloc,
because the ntfschar size is 2.  then the kernel doesn't warning
again. and the slub debug info also disappeared.

This patch works for me:

diff -udr linux/fs/ntfs/inode.c linux.new/fs/ntfs/inode.c
--- linux/fs/ntfs/inode.c   2007-05-25 12:46:27.0 +
+++ linux.new/fs/ntfs/inode.c   2007-05-25 12:45:31.0 +
@@ -136,11 +136,10 @@

BUG_ON(!na-name);
i = na-name_len * sizeof(ntfschar);
-   ni-name = kmalloc(i + sizeof(ntfschar), GFP_ATOMIC);
+   ni-name = kzalloc(i + sizeof(ntfschar), GFP_ATOMIC);
if (!ni-name)
return -ENOMEM;
memcpy(ni-name, na-name, i);
-   ni-name[i] = 0;
}
return 0;
}



And please look the failed kernel message:

*** SLUB kmalloc-8: Redzone [EMAIL PROTECTED] slab 0xc1052b20
   offset=3640 flags=0x40c2 inuse=73 freelist=0x
 Bytes b4 0xc2959e28:  00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a
5a 
   Object 0xc2959e38:  24 00 51 00 00 00 6b a5
$.Q...k¥
  Redzone 0xc2959e40:  00 00 cc cc
..ÌÌ
FreePointer 0xc2959e44 - 0x
Last alloc: ntfs_init_locked_inode+0x9e/0x110 jiffies_ago=5140 cpu=0 pid=1604
Last free : __vunmap+0xb2/0xe0 jiffies_ago=30727 cpu=0 pid=1491
   Filler 0xc2959e68:  5a 5a 5a 5a 5a 5a 5a 5a

[c0163141] check_object+0x71/0x250
[c04432e0] preempt_schedule+0x50/0x70
[c01639a1] free_debug_processing+0xc1/0x1a0
[c011e587] vprintk+0x227/0x250
[c0164419] __slab_free+0x79/0xe0
[c02216da] __ntfs_clear_inode+0x11a/0x1b0
[c0164ee3] kfree+0x63/0x70
[c02216da] __ntfs_clear_inode+0x11a/0x1b0
[c02216da] __ntfs_clear_inode+0x11a/0x1b0
[c0221839] ntfs_clear_big_inode+0x59/0x120
[c019f690] dquot_drop+0x0/0x50
[c017d411] clear_inode+0xc1/0x150
[c017e3c7] generic_forget_inode+0x107/0x180
[c017e4b3] iput+0x53/0x60
[c0230b85] ntfs_put_super+0x6c5/0x8e0
[c016a61a] generic_shutdown_super+0xea/0x100
[c016b11c] kill_block_super+0xc/0x20
[c016a35e] deactivate_super+0x4e/0xa0
[c0180de5] sys_umount+0x35/0x80
[c0115274] do_page_fault+0x434/0x5c0
[c0180e45] sys_oldumount+0x15/0x20
[c0104098] syscall_call+0x7/0xb
===
@@@ SLUB kmalloc-8: Restoring redzone (0xcc) from 0xc2959e40-0xc2959e43
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,

I have one problem about this:  after the srvTcp->tsk is set to NULL
(maybe the thread is  still there, isn't it?), is the kthread still
needed to be stopped by calling kthread_stop()? If it is true, then
the task_struct should be saved before send_sig like my patch:

   if (srvTcp->tsk) {
+   struct task_struct * tsk = srvTcp->tsk;
  send_sig(SIGKILL,srvTcp->tsk,1);
-   kthread_stop(srvTcp->tsk);
+   kthread_stop(tsk);

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,
Sorry for the wrong patch in my last post.

How about save the tsk then call kthread_stop like this:

diff -udr linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 16:33:54.0 +
@@ -2069,8 +2069,9 @@
   srvTcp->tcpStatus = CifsExiting;
   spin_unlock(_Lock);
   if (srvTcp->tsk) {
+   struct task_struct * tsk = srvTcp->tsk;
   send_sig(SIGKILL,srvTcp->tsk,1);
-   kthread_stop(srvTcp->tsk);
+   kthread_stop(tsk);
   }
   }
/* If find_unc succeeded then rc == 0 so we can not end */

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,


Yeah, that's racy: once we've sent the signal, the kernel thread can write
NULL to srvTcp->tsk at any time.


Yes, here is another patch :

diff -ur linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 15:16:11.0 +
@@ -650,6 +650,7 @@

   spin_lock(_Lock);
   server->tcpStatus = CifsExiting;
+   kthread_stop(server->tsk);
   server->tsk = NULL;
   /* check if we have blocked requests that need to free */
   /* Note that cifs_max_pending is normally 50, but
@@ -2070,7 +2071,6 @@
   spin_unlock(_Lock);
   if (srvTcp->tsk) {
   send_sig(SIGKILL,srvTcp->tsk,1);
-   kthread_stop(srvTcp->tsk);
   }
   }
/* If find_unc succeeded then rc == 0 so we can not end */

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,


Yeah, that's racy: once we've sent the signal, the kernel thread can write
NULL to srvTcp-tsk at any time.


Yes, here is another patch :

diff -ur linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 15:16:11.0 +
@@ -650,6 +650,7 @@

   spin_lock(GlobalMid_Lock);
   server-tcpStatus = CifsExiting;
+   kthread_stop(server-tsk);
   server-tsk = NULL;
   /* check if we have blocked requests that need to free */
   /* Note that cifs_max_pending is normally 50, but
@@ -2070,7 +2071,6 @@
   spin_unlock(GlobalMid_Lock);
   if (srvTcp-tsk) {
   send_sig(SIGKILL,srvTcp-tsk,1);
-   kthread_stop(srvTcp-tsk);
   }
   }
/* If find_unc succeeded then rc == 0 so we can not end */

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,
Sorry for the wrong patch in my last post.

How about save the tsk then call kthread_stop like this:

diff -udr linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 16:33:54.0 +
@@ -2069,8 +2069,9 @@
   srvTcp-tcpStatus = CifsExiting;
   spin_unlock(GlobalMid_Lock);
   if (srvTcp-tsk) {
+   struct task_struct * tsk = srvTcp-tsk;
   send_sig(SIGKILL,srvTcp-tsk,1);
-   kthread_stop(srvTcp-tsk);
+   kthread_stop(tsk);
   }
   }
/* If find_unc succeeded then rc == 0 so we can not end */

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-23 Thread young dave

Hi,

I have one problem about this:  after the srvTcp-tsk is set to NULL
(maybe the thread is  still there, isn't it?), is the kthread still
needed to be stopped by calling kthread_stop()? If it is true, then
the task_struct should be saved before send_sig like my patch:

   if (srvTcp-tsk) {
+   struct task_struct * tsk = srvTcp-tsk;
  send_sig(SIGKILL,srvTcp-tsk,1);
-   kthread_stop(srvTcp-tsk);
+   kthread_stop(tsk);

Regards
dave
-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-22 Thread young dave

Hi,
maybe we can add if sentence before kthread_stop.

diff -ur linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 10:58:39.0 +
@@ -2070,7 +2070,8 @@
   spin_unlock(_Lock);
   if (srvTcp->tsk) {
   send_sig(SIGKILL,srvTcp->tsk,1);
-   kthread_stop(srvTcp->tsk);
+   if(srvTcp->tsk)
+   kthread_stop(srvTcp->tsk);
   }
   }


Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-22 Thread young dave

Hi,
I have tried the patch, it works.
could you explain it for me? thanks very much.

Regards
dave

2007/5/22, H. Peter Anvin <[EMAIL PROTECTED]>:

Could you try the attached patch for me?

-hpa

diff --git a/arch/i386/boot/edd.c b/arch/i386/boot/edd.c
index 84a0302..9697a56 100644
--- a/arch/i386/boot/edd.c
+++ b/arch/i386/boot/edd.c
@@ -47,8 +47,9 @@ static int read_sector(u8 devno, u64 lba, void *buf)
si = (size_t)
dx = devno;
asm("pushfl; stc; int $0x13; setc %%al; popfl"
-   : "+a" (ax), "+S" (si), "+d" (devno)
-   : : "ebx", "ecx", "edi");
+   : "+a" (ax), "+S" (si), "+d" (dx)
+   : "m" (dapa)
+   : "ebx", "ecx", "edi", "memory");

if (!(u8)ax)
return 0;   /* OK */
@@ -59,7 +60,7 @@ static int read_sector(u8 devno, u64 lba, void *buf)
bx = (size_t)buf;
asm("pushfl; stc; int $0x13; setc %%al; popfl"
: "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx)
-   : : "esi", "edi");
+   : : "esi", "edi", "memory");

return -(u8)ax; /* 0 or -1 */
 }



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


2.6.22-rc1-mm1 cifs_mount oops

2007-05-22 Thread young dave

Hi,
when I use mount -t cifs , the kernel oops, seems break at
kthread_stop, I'm not sure.

But if I add the CONFIG_CIFS_DEBUG2=y to config file, rebuild kernel,
then the oops disappeared.

Below is the oops message:

BUG: unable to handle kernel NULL pointer dereference at virtual
address 0008
printing eip:
c012e910
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in: cifs smbfs radeon drm ipv6 snd_seq_dummy
snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss
snd_mixer_oss capability commoncap e100 mii psmouse sg evdev serio_raw
snd_hda_intel snd_pcm snd_timer snd soundcore snd_page_alloc intel_agp
agpgart i2c_i801 pcspkr
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00210246   (2.6.22-rc1-mm1 #3)
EIP is at kthread_stop+0x10/0x90
eax: c051bde0   ebx:    ecx: c1fba000   edx: c1fef040
esi:    edi: 0064   ebp: c2a36c80   esp: c1fbbd58
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process mount.cifs (pid: 3955, ti=c1fba000 task=c2b38540 task.ti=c1fba000)
Stack: c1fef040 ff90 ff90 f8a7a328 c285a504 f8a9a9fb 0083 00cf
  00dc 000b c2b38540 c2af5740 c292c540   c285a4c0
   c411b400 c3a4f500 c3cec200 c1fef052 c291c1e0 c1fef037 c291c940
Call Trace:
[] cifs_mount+0xbe8/0xf10 [cifs]
[] idr_get_new_above_int+0x3e/0x50
[] cifs_read_super+0x4e/0x160 [cifs]
[] set_anon_super+0x0/0xd0
[] cifs_get_sb+0x60/0xd0 [cifs]
[] vfs_kern_mount+0x91/0x130
[] permit_mount+0x28/0xa0
[] do_new_mount+0x8a/0x140
[] do_mount+0x25e/0x280
[] schedule+0x2e0/0x680
[] exact_copy_from_user+0x32/0x70
[] copy_mount_options+0x5a/0xc0
[] sys_mount+0x79/0xc0
[] syscall_call+0x7/0xb
===
Code: 88 d1 d3 e0 89 43 5c 83 c4 18 5b c3 eb 0d 90 90 90 90 90 90 90
90 90 90 90 90 90 53 83 ec 08 89 c3 b8 e0 bd 51 c0 e8 90 26 31 00 
43 08 31 c9 b8 f0 c1 58 c0 89 0d ec c1 58 c0 e8 3b 01 00 00
EIP: [] kthread_stop+0x10/0x90 SS:ESP 0068:c1fbbd58

Regards
dave
-
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/


2.6.22-rc1-mm1 cifs_mount oops

2007-05-22 Thread young dave

Hi,
when I use mount -t cifs , the kernel oops, seems break at
kthread_stop, I'm not sure.

But if I add the CONFIG_CIFS_DEBUG2=y to config file, rebuild kernel,
then the oops disappeared.

Below is the oops message:

BUG: unable to handle kernel NULL pointer dereference at virtual
address 0008
printing eip:
c012e910
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in: cifs smbfs radeon drm ipv6 snd_seq_dummy
snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss
snd_mixer_oss capability commoncap e100 mii psmouse sg evdev serio_raw
snd_hda_intel snd_pcm snd_timer snd soundcore snd_page_alloc intel_agp
agpgart i2c_i801 pcspkr
CPU:0
EIP:0060:[c012e910]Not tainted VLI
EFLAGS: 00210246   (2.6.22-rc1-mm1 #3)
EIP is at kthread_stop+0x10/0x90
eax: c051bde0   ebx:    ecx: c1fba000   edx: c1fef040
esi:    edi: 0064   ebp: c2a36c80   esp: c1fbbd58
ds: 007b   es: 007b   fs:   gs: 0033  ss: 0068
Process mount.cifs (pid: 3955, ti=c1fba000 task=c2b38540 task.ti=c1fba000)
Stack: c1fef040 ff90 ff90 f8a7a328 c285a504 f8a9a9fb 0083 00cf
  00dc 000b c2b38540 c2af5740 c292c540   c285a4c0
   c411b400 c3a4f500 c3cec200 c1fef052 c291c1e0 c1fef037 c291c940
Call Trace:
[f8a7a328] cifs_mount+0xbe8/0xf10 [cifs]
[c02633fe] idr_get_new_above_int+0x3e/0x50
[f8a6d04e] cifs_read_super+0x4e/0x160 [cifs]
[c0166fc0] set_anon_super+0x0/0xd0
[f8a6d6c0] cifs_get_sb+0x60/0xd0 [cifs]
[c0167491] vfs_kern_mount+0x91/0x130
[c017d648] permit_mount+0x28/0xa0
[c017e09a] do_new_mount+0x8a/0x140
[c017e95e] do_mount+0x25e/0x280
[c044] schedule+0x2e0/0x680
[c017e602] exact_copy_from_user+0x32/0x70
[c017e69a] copy_mount_options+0x5a/0xc0
[c017ec19] sys_mount+0x79/0xc0
[c01040bc] syscall_call+0x7/0xb
===
Code: 88 d1 d3 e0 89 43 5c 83 c4 18 5b c3 eb 0d 90 90 90 90 90 90 90
90 90 90 90 90 90 53 83 ec 08 89 c3 b8 e0 bd 51 c0 e8 90 26 31 00 ff
43 08 31 c9 b8 f0 c1 58 c0 89 0d ec c1 58 c0 e8 3b 01 00 00
EIP: [c012e910] kthread_stop+0x10/0x90 SS:ESP 0068:c1fbbd58

Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-22 Thread young dave

Hi,
I have tried the patch, it works.
could you explain it for me? thanks very much.

Regards
dave

2007/5/22, H. Peter Anvin [EMAIL PROTECTED]:

Could you try the attached patch for me?

-hpa

diff --git a/arch/i386/boot/edd.c b/arch/i386/boot/edd.c
index 84a0302..9697a56 100644
--- a/arch/i386/boot/edd.c
+++ b/arch/i386/boot/edd.c
@@ -47,8 +47,9 @@ static int read_sector(u8 devno, u64 lba, void *buf)
si = (size_t)dapa;
dx = devno;
asm(pushfl; stc; int $0x13; setc %%al; popfl
-   : +a (ax), +S (si), +d (devno)
-   : : ebx, ecx, edi);
+   : +a (ax), +S (si), +d (dx)
+   : m (dapa)
+   : ebx, ecx, edi, memory);

if (!(u8)ax)
return 0;   /* OK */
@@ -59,7 +60,7 @@ static int read_sector(u8 devno, u64 lba, void *buf)
bx = (size_t)buf;
asm(pushfl; stc; int $0x13; setc %%al; popfl
: +a (ax), +c (cx), +d (dx), +b (bx)
-   : : esi, edi);
+   : : esi, edi, memory);

return -(u8)ax; /* 0 or -1 */
 }



-
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: 2.6.22-rc1-mm1 cifs_mount oops

2007-05-22 Thread young dave

Hi,
maybe we can add if sentence before kthread_stop.

diff -ur linux/fs/cifs/connect.c linux.new/fs/cifs/connect.c
--- linux/fs/cifs/connect.c 2007-05-23 10:59:13.0 +
+++ linux.new/fs/cifs/connect.c 2007-05-23 10:58:39.0 +
@@ -2070,7 +2070,8 @@
   spin_unlock(GlobalMid_Lock);
   if (srvTcp-tsk) {
   send_sig(SIGKILL,srvTcp-tsk,1);
-   kthread_stop(srvTcp-tsk);
+   if(srvTcp-tsk)
+   kthread_stop(srvTcp-tsk);
   }
   }


Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-21 Thread young dave

Hi,

This implies a miscompile somewhere, *or* that your bios stomps on
registers that gcc expect preserved, and adding printf's disturbs the
register allocation sufficiently.


I think maybe it's caused by gcc optimize, so I add volatile to
read_sector inline assemblly, then kernel can boot successfully.

please check this patch :

diff -ur linux/arch/i386/boot/edd.c linux.new/arch/i386/boot/edd.c
--- linux/arch/i386/boot/edd.c  2007-05-22 10:08:59.0 +
+++ linux.new/arch/i386/boot/edd.c  2007-05-22 10:06:24.0 +
@@ -47,7 +47,7 @@
   ax = 0x4200;/* Extended Read */
   si = (size_t)
   dx = devno;
-   asm ("pushfl; stc; int $0x13; setc %%al; popfl"
+   asm volatile("pushfl; stc; int $0x13; setc %%al; popfl"
   : "+a" (ax), "+S" (si), "+d" (devno)
   : : "ebx", "ecx", "edi");

@@ -58,7 +58,7 @@
   cx = 0x0001;/* Sector 0-0-1 */
   dx = devno;
   bx = (size_t)buf;
-   asm ("pushfl; stc; int $0x13; setc %%al; popfl"
+   asm volatile("pushfl; stc; int $0x13; setc %%al; popfl"
   : "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx)
   : : "esi", "edi");

Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-21 Thread young dave

Hi,

kernel booting and stopped in edd.c:read_sector.

I add debug messages around the two inline assemblly sentence, recompile kernel,
now strange thing happend, the kernel booting directly, but the printf
messages can't be seen because it's too rapid.

can we use printk in boot code?

the change of edd.c:
--- edd.c.bak   2007-05-21 14:38:34.0 +
+++ edd.c   2007-05-21 15:58:02.0 +
@@ -47,9 +47,11 @@ static int read_sector(u8 devno, u64 lba
   ax = 0x4200;/* Extended Read */
   si = (size_t)
   dx = devno;
+   printf("before first inline\n");
   asm("pushfl; stc; int $0x13; setc %%al; popfl"
   : "+a" (ax), "+S" (si), "+d" (devno)
   : : "ebx", "ecx", "edi");
+   printf("after first inline\n");

   if (!(u8)ax)
   return 0;   /* OK */
@@ -58,9 +60,11 @@ static int read_sector(u8 devno, u64 lba
   cx = 0x0001;/* Sector 0-0-1 */
   dx = devno;
   bx = (size_t)buf;
+   printf("before second inline\n");
   asm("pushfl; stc; int $0x13; setc %%al; popfl"
   : "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx)
   : : "esi", "edi");
+   printf("after second inline\n");

   return -(u8)ax; /* 0 or -1 */
}



Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-21 Thread young dave

Hi,

kernel booting and stopped in edd.c:read_sector.

I add debug messages around the two inline assemblly sentence, recompile kernel,
now strange thing happend, the kernel booting directly, but the printf
messages can't be seen because it's too rapid.

can we use printk in boot code?

the change of edd.c:
--- edd.c.bak   2007-05-21 14:38:34.0 +
+++ edd.c   2007-05-21 15:58:02.0 +
@@ -47,9 +47,11 @@ static int read_sector(u8 devno, u64 lba
   ax = 0x4200;/* Extended Read */
   si = (size_t)dapa;
   dx = devno;
+   printf(before first inline\n);
   asm(pushfl; stc; int $0x13; setc %%al; popfl
   : +a (ax), +S (si), +d (devno)
   : : ebx, ecx, edi);
+   printf(after first inline\n);

   if (!(u8)ax)
   return 0;   /* OK */
@@ -58,9 +60,11 @@ static int read_sector(u8 devno, u64 lba
   cx = 0x0001;/* Sector 0-0-1 */
   dx = devno;
   bx = (size_t)buf;
+   printf(before second inline\n);
   asm(pushfl; stc; int $0x13; setc %%al; popfl
   : +a (ax), +c (cx), +d (dx), +b (bx)
   : : esi, edi);
+   printf(after second inline\n);

   return -(u8)ax; /* 0 or -1 */
}



Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-21 Thread young dave

Hi,

This implies a miscompile somewhere, *or* that your bios stomps on
registers that gcc expect preserved, and adding printf's disturbs the
register allocation sufficiently.


I think maybe it's caused by gcc optimize, so I add volatile to
read_sector inline assemblly, then kernel can boot successfully.

please check this patch :

diff -ur linux/arch/i386/boot/edd.c linux.new/arch/i386/boot/edd.c
--- linux/arch/i386/boot/edd.c  2007-05-22 10:08:59.0 +
+++ linux.new/arch/i386/boot/edd.c  2007-05-22 10:06:24.0 +
@@ -47,7 +47,7 @@
   ax = 0x4200;/* Extended Read */
   si = (size_t)dapa;
   dx = devno;
-   asm (pushfl; stc; int $0x13; setc %%al; popfl
+   asm volatile(pushfl; stc; int $0x13; setc %%al; popfl
   : +a (ax), +S (si), +d (devno)
   : : ebx, ecx, edi);

@@ -58,7 +58,7 @@
   cx = 0x0001;/* Sector 0-0-1 */
   dx = devno;
   bx = (size_t)buf;
-   asm (pushfl; stc; int $0x13; setc %%al; popfl
+   asm volatile(pushfl; stc; int $0x13; setc %%al; popfl
   : +a (ax), +c (cx), +d (dx), +b (bx)
   : : esi, edi);

Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-20 Thread young dave

Hi,

Could you put printf's in the setup code (especially
arch/i386/boot/main.c) to see how far it runs before it dies?

-hpa


I add some debug info to main.c, the result is that the kernel stopped
in query_edd();

Then I use kernel argument edd=off, the kernel booted happilly.

I will read the edd.c to see what happened. do you have some suggestion?
-
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: 2.6.22-rc1-mm1

2007-05-20 Thread young dave

Hi,

I tried the vga option , and the selection menu appeared, then I
select 0(80x25) and nothing happened.

2007/5/21, H. Peter Anvin <[EMAIL PROTECTED]>:

young dave wrote:
> Hi,
> My cpu is Intel(R) Pentium(R) D CPU 2.80GHz, below are the lspci
> output and kernel

Could you please try booting with "vga=ask", and see if you get the
video mode selection menu?

-hpa


-
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: 2.6.22-rc1-mm1

2007-05-20 Thread young dave

Hi,

I tried the vga option , and the selection menu appeared, then I
select 0(80x25) and nothing happened.

2007/5/21, H. Peter Anvin [EMAIL PROTECTED]:

young dave wrote:
 Hi,
 My cpu is Intel(R) Pentium(R) D CPU 2.80GHz, below are the lspci
 output and kernel

Could you please try booting with vga=ask, and see if you get the
video mode selection menu?

-hpa


-
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: 2.6.22-rc1-mm1

2007-05-20 Thread young dave

Hi,

Could you put printf's in the setup code (especially
arch/i386/boot/main.c) to see how far it runs before it dies?

-hpa


I add some debug info to main.c, the result is that the kernel stopped
in query_edd();

Then I use kernel argument edd=off, the kernel booted happilly.

I will read the edd.c to see what happened. do you have some suggestion?
-
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: 2.6.22-rc1-mm1

2007-05-18 Thread young dave

Hi,

After installation the new mm1 kernel, My system can not boot, the rc1
kernel works ok.

The cursor just blinks after appearing "Bios data check successful" message.

what do you think about this?
-
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: 2.6.22-rc1-mm1

2007-05-18 Thread young dave

Hi,
I have the same problem, your patch fixed it.
My gcc version is 3.4.6


2007/5/16, H. Peter Anvin <[EMAIL PROTECTED]>:
Andy Whitcroft wrote:
> Getting this on both x86 and x86_64 boxes, they are the older boxen so
> likely older compilers:

Please give the gcc version number.

>   CC  arch/x86_64/boot/memory.o
> arch/i386/boot/memory.c: In function `detect_memory':
> arch/i386/boot/memory.c:32: error: can't find a register in class `DREG'
> while reloading `asm'
>
> Seems to come from git-netsetup, but that tree isn't pulled into your
> git version of -mm so I can't be more specific.

Does the following patch work for you?

-hpa


diff --git a/arch/i386/boot/memory.c b/arch/i386/boot/memory.c
index 8a82aa9..d7b250b 100644
--- a/arch/i386/boot/memory.c
+++ b/arch/i386/boot/memory.c
@@ -30,7 +30,7 @@ static int detect_memory_e820(void)
size = sizeof(struct e820entry);
id = SMAP;
asm("int $0x15; setc %0"
-   : "=dm" (err), "+b" (next), "+d" (id), "+c" (size),
+   : "=am" (err), "+b" (next), "+d" (id), "+c" (size),
  "=m" (*desc)
: "D" (desc), "a" (0xe820));



Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-18 Thread young dave

Hi,
I have the same problem, your patch fixed it.
My gcc version is 3.4.6


2007/5/16, H. Peter Anvin [EMAIL PROTECTED]:
Andy Whitcroft wrote:
 Getting this on both x86 and x86_64 boxes, they are the older boxen so
 likely older compilers:

Please give the gcc version number.

   CC  arch/x86_64/boot/memory.o
 arch/i386/boot/memory.c: In function `detect_memory':
 arch/i386/boot/memory.c:32: error: can't find a register in class `DREG'
 while reloading `asm'

 Seems to come from git-netsetup, but that tree isn't pulled into your
 git version of -mm so I can't be more specific.

Does the following patch work for you?

-hpa


diff --git a/arch/i386/boot/memory.c b/arch/i386/boot/memory.c
index 8a82aa9..d7b250b 100644
--- a/arch/i386/boot/memory.c
+++ b/arch/i386/boot/memory.c
@@ -30,7 +30,7 @@ static int detect_memory_e820(void)
size = sizeof(struct e820entry);
id = SMAP;
asm(int $0x15; setc %0
-   : =dm (err), +b (next), +d (id), +c (size),
+   : =am (err), +b (next), +d (id), +c (size),
  =m (*desc)
: D (desc), a (0xe820));



Regards
dave
-
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: 2.6.22-rc1-mm1

2007-05-18 Thread young dave

Hi,

After installation the new mm1 kernel, My system can not boot, the rc1
kernel works ok.

The cursor just blinks after appearing Bios data check successful message.

what do you think about this?
-
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: Lockup after logging out of X

2007-05-08 Thread young dave

Hi,
Seems I have the same problem. Sometimes whole system is locked,
sometimes keyboard is still active but others dead.

It does not happen till now since I run a silly script on background
to log the kernel messages:
-
#!/bin/sh
while true; do
sleep 3
dmesg >/tmp/dmesg.txt
sync
done
-


My video card is radeon x600 , fglrx driver is not used.
-
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: Lockup after logging out of X

2007-05-08 Thread young dave

Hi,
Seems I have the same problem. Sometimes whole system is locked,
sometimes keyboard is still active but others dead.

It does not happen till now since I run a silly script on background
to log the kernel messages:
-
#!/bin/sh
while true; do
sleep 3
dmesg /tmp/dmesg.txt
sync
done
-


My video card is radeon x600 , fglrx driver is not used.
-
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: Warning: unable to open an initial console.

2007-04-03 Thread young dave

Hi;
The errno "-6" is defined as:
#define ENXIO6  /* No such device or address*/

You can try to retrieve the rootfs and add the necessary device file
to it, then reflash the rootfs.

I'm Sorry, I  have no embedded environment to test.

Regards
dave


2007/4/3, Tom Strader <[EMAIL PROTECTED]>:

Hi Dave,
I'm not sure if I follow.  How do I use mknod with no console to use it
from?  Can this be done in the init scripts or from u-boot?  Still
learning so any help would be appreciated.

I was able to trace the console opening to __dentry_open() in fs/open.c
It does open(inode, f) but returns error -6 if this is any help.  I will
try to trace it further to see what is wrong.

Thanks,
Tom






-
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: Warning: unable to open an initial console.

2007-04-03 Thread young dave

Hi;
The errno -6 is defined as:
#define ENXIO6  /* No such device or address*/

You can try to retrieve the rootfs and add the necessary device file
to it, then reflash the rootfs.

I'm Sorry, I  have no embedded environment to test.

Regards
dave


2007/4/3, Tom Strader [EMAIL PROTECTED]:

Hi Dave,
I'm not sure if I follow.  How do I use mknod with no console to use it
from?  Can this be done in the init scripts or from u-boot?  Still
learning so any help would be appreciated.

I was able to trace the console opening to __dentry_open() in fs/open.c
It does open(inode, f) but returns error -6 if this is any help.  I will
try to trace it further to see what is wrong.

Thanks,
Tom






-
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: Warning: unable to open an initial console.

2007-04-02 Thread young dave

Hi,
Check if your U-boot enabled the udev, try diable the udev, then using
mknod to create the /dev/console.

Regards
dave


2007/4/2, Tom Strader <[EMAIL PROTECTED]>:

I checked /dev/ with U-boot and it shows the existence of /dev/console.

From U-boot prompt:

$ ls /dev
 crw---0 Mon Apr 02 17:52:27 2007 console
 crw-r--r--0 Mon Apr 02 17:52:27 2007 null
 crw-r--r--0 Mon Apr 02 17:52:27 2007 zero


Also, I added a printk in the jffs2_add_fd_to_list() routine in
fs/jffs2/nodelist.c to print out the dirent adds and it shows console
being added as follows:

...
add dirent "var", ino #14
add dirent "usr", ino #13
add dirent "tmp", ino #12
add dirent "sys", ino #11
add dirent "sbin", ino #10
add dirent "proc", ino #9
add dirent "mnt", ino #8
add dirent "linuxrc", ino #7
add dirent "lib", ino #6
add dirent "home", ino #5
add dirent "etc", ino #4
add dirent "dev", ino #3
add dirent "bin", ino #2
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 76K
add dirent "zero", ino #70
add dirent "null", ino #69
add dirent "console", ino #68
Warning: unable to open an initial console.
add dirent "watchdog", ino #262
add dirent "udevstart", ino #261
add dirent "udevsend", ino #260
...

Any other ideas?
Thanks,
Tom


-Original Message-
From: Chris Wedgwood [mailto:[EMAIL PROTECTED]
Sent: Monday, April 02, 2007 3:49 PM
To: Tom Strader
Cc: linux-kernel@vger.kernel.org
Subject: Re: Warning: unable to open an initial console.

On Mon, Apr 02, 2007 at 12:04:56PM -0700, Tom Strader wrote:

> I have seen quite a few posts regarding unable to open an initial
> console, but my system seems to have the necessary things in place
> so I come looking for help.

your rootfs/initramfs/initrd is missing a valid working /dev/console

> VFS: Mounted root (jffs2 filesystem).

check /dev/ on this filesystem


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


-
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: Warning: unable to open an initial console.

2007-04-02 Thread young dave

Hi,
Check if your U-boot enabled the udev, try diable the udev, then using
mknod to create the /dev/console.

Regards
dave


2007/4/2, Tom Strader [EMAIL PROTECTED]:

I checked /dev/ with U-boot and it shows the existence of /dev/console.

From U-boot prompt:

$ ls /dev
 crw---0 Mon Apr 02 17:52:27 2007 console
 crw-r--r--0 Mon Apr 02 17:52:27 2007 null
 crw-r--r--0 Mon Apr 02 17:52:27 2007 zero


Also, I added a printk in the jffs2_add_fd_to_list() routine in
fs/jffs2/nodelist.c to print out the dirent adds and it shows console
being added as follows:

...
add dirent var, ino #14
add dirent usr, ino #13
add dirent tmp, ino #12
add dirent sys, ino #11
add dirent sbin, ino #10
add dirent proc, ino #9
add dirent mnt, ino #8
add dirent linuxrc, ino #7
add dirent lib, ino #6
add dirent home, ino #5
add dirent etc, ino #4
add dirent dev, ino #3
add dirent bin, ino #2
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 76K
add dirent zero, ino #70
add dirent null, ino #69
add dirent console, ino #68
Warning: unable to open an initial console.
add dirent watchdog, ino #262
add dirent udevstart, ino #261
add dirent udevsend, ino #260
...

Any other ideas?
Thanks,
Tom


-Original Message-
From: Chris Wedgwood [mailto:[EMAIL PROTECTED]
Sent: Monday, April 02, 2007 3:49 PM
To: Tom Strader
Cc: linux-kernel@vger.kernel.org
Subject: Re: Warning: unable to open an initial console.

On Mon, Apr 02, 2007 at 12:04:56PM -0700, Tom Strader wrote:

 I have seen quite a few posts regarding unable to open an initial
 console, but my system seems to have the necessary things in place
 so I come looking for help.

your rootfs/initramfs/initrd is missing a valid working /dev/console

 VFS: Mounted root (jffs2 filesystem).

check /dev/ on this filesystem


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


-
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: PROBLEM: 2.6.20-1 not working on ibook g4 (BUG/Oops)

2007-03-14 Thread young dave

2007/3/13, Benjamin Herrenschmidt <[EMAIL PROTECTED]>:
On Tue, 2007-03-13 at 01:49 +, young dave wrote:
> Hi,
> I have tested on my mac mini g4.
>
> The 2.6.21-rc2 will cause oops like the above post.
>
> And for the new 2.6.21-rc3-git7 , the kernel load ok,  penguin pixmap
> appears, but then it stopped, there's no error messages also.

-rc3 should have the bug fixed... it might be something else wrong. Have
you use a pmac32_defconfig ?

Ben.


Hi,
I have tested the pmac32_defconfig, make menuconfig , and there's some warnings:

.config:380:warning: trying to assign nonexistent symbol IP_NF_TARGET_TCPMSS
.config:808:warning: trying to assign nonexistent symbol IEEE1394_OUI_DB
.config:811:warning: trying to assign nonexistent symbol IEEE1394_EXPORT_FULL_AP
I
.config:1308:warning: trying to assign nonexistent symbol BACKLIGHT_DEVICE
.config:1310:warning: trying to assign nonexistent symbol LCD_DEVICE
.config:1461:warning: trying to assign nonexistent symbol USB_BANDWIDTH
.config:1464:warning: trying to assign nonexistent symbol USB_MULTITHREAD_PROBE
.config:1476:warning: trying to assign nonexistent symbol USB_OHCI_BIG_ENDIAN
.config:1734:warning: trying to assign nonexistent symbol ZISOFS_FS
.config:1894:warning: trying to assign nonexistent symbol IOMAP_COPY
.config:1920:warning: trying to assign nonexistent symbol DEBUG_RWSEMS

Then I modified the config file, But still can't boot , just stopped,
and the keyboard is active,  it seems the kernel is running, but
there's no init messages.

I don't know why, the distribution I used is Yellowdog 4.0. the
original 2.6.17 is just ok.

Could you please help to check the configs?

Thanks.


config
Description: Binary data


Re: PROBLEM: 2.6.20-1 not working on ibook g4 (BUG/Oops)

2007-03-14 Thread young dave

2007/3/13, Benjamin Herrenschmidt [EMAIL PROTECTED]:
On Tue, 2007-03-13 at 01:49 +, young dave wrote:
 Hi,
 I have tested on my mac mini g4.

 The 2.6.21-rc2 will cause oops like the above post.

 And for the new 2.6.21-rc3-git7 , the kernel load ok,  penguin pixmap
 appears, but then it stopped, there's no error messages also.

-rc3 should have the bug fixed... it might be something else wrong. Have
you use a pmac32_defconfig ?

Ben.


Hi,
I have tested the pmac32_defconfig, make menuconfig , and there's some warnings:

.config:380:warning: trying to assign nonexistent symbol IP_NF_TARGET_TCPMSS
.config:808:warning: trying to assign nonexistent symbol IEEE1394_OUI_DB
.config:811:warning: trying to assign nonexistent symbol IEEE1394_EXPORT_FULL_AP
I
.config:1308:warning: trying to assign nonexistent symbol BACKLIGHT_DEVICE
.config:1310:warning: trying to assign nonexistent symbol LCD_DEVICE
.config:1461:warning: trying to assign nonexistent symbol USB_BANDWIDTH
.config:1464:warning: trying to assign nonexistent symbol USB_MULTITHREAD_PROBE
.config:1476:warning: trying to assign nonexistent symbol USB_OHCI_BIG_ENDIAN
.config:1734:warning: trying to assign nonexistent symbol ZISOFS_FS
.config:1894:warning: trying to assign nonexistent symbol IOMAP_COPY
.config:1920:warning: trying to assign nonexistent symbol DEBUG_RWSEMS

Then I modified the config file, But still can't boot , just stopped,
and the keyboard is active,  it seems the kernel is running, but
there's no init messages.

I don't know why, the distribution I used is Yellowdog 4.0. the
original 2.6.17 is just ok.

Could you please help to check the configs?

Thanks.


config
Description: Binary data


Fwd: PROBLEM: 2.6.20-1 not working on ibook g4 (BUG/Oops)

2007-03-12 Thread young dave

-- Forwarded message --
Hi,
I have tested on my mac mini g4.

The 2.6.21-rc2 will cause oops like the above post.

And for the new 2.6.21-rc3-git7 , the kernel load ok,  penguin pixmap
appears, but then it stopped, there's no error messages also.

Regards
dave


2007/3/7, Benjamin Herrenschmidt <[EMAIL PROTECTED]>:

On Wed, 2007-03-07 at 17:53 +1300, Paul Collins wrote:
> David Woodhouse <[EMAIL PROTECTED]> writes:
>
> > On Tue, 2007-03-06 at 14:53 +1300, Paul Collins wrote:
> >> In case it's of interest, 2.6.20 has been running fine on my
> >> PowerBook5,4.
> >
> > How much memory? What if you boot with mem=512M or mem=256M?
>
> 1GB.  Also works fine when booted with those options.

Can you try 2.6.21-rc3 ? We just fixed a nasty bug causing memory
corruption.

Ben.


___
Linuxppc-dev mailing list
[EMAIL PROTECTED]
https://ozlabs.org/mailman/listinfo/linuxppc-dev


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


Fwd: PROBLEM: 2.6.20-1 not working on ibook g4 (BUG/Oops)

2007-03-12 Thread young dave

-- Forwarded message --
Hi,
I have tested on my mac mini g4.

The 2.6.21-rc2 will cause oops like the above post.

And for the new 2.6.21-rc3-git7 , the kernel load ok,  penguin pixmap
appears, but then it stopped, there's no error messages also.

Regards
dave


2007/3/7, Benjamin Herrenschmidt [EMAIL PROTECTED]:

On Wed, 2007-03-07 at 17:53 +1300, Paul Collins wrote:
 David Woodhouse [EMAIL PROTECTED] writes:

  On Tue, 2007-03-06 at 14:53 +1300, Paul Collins wrote:
  In case it's of interest, 2.6.20 has been running fine on my
  PowerBook5,4.
 
  How much memory? What if you boot with mem=512M or mem=256M?

 1GB.  Also works fine when booted with those options.

Can you try 2.6.21-rc3 ? We just fixed a nasty bug causing memory
corruption.

Ben.


___
Linuxppc-dev mailing list
[EMAIL PROTECTED]
https://ozlabs.org/mailman/listinfo/linuxppc-dev


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


linux-2.6.21-rc2 compile warnings

2007-03-05 Thread young dave

Hi,
As I compile the linux-2.6.21-rc2  (gcc version 3.4.6), there's some
warning  messages:

drivers/video/Kconfig:1622:warning: 'select' used by config symbol
'FB_PS3' refer to undefined symbol 'PS3_PS3AV'

fs/partitions/check.c: In function `add_partition':
fs/partitions/check.c:388: warning: ignoring return value of
`kobject_add', declared with attribute warn_unused_result
fs/partitions/check.c:391: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
fs/partitions/check.c:399: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result

drivers/ata/libata-sff.c: In function `ata_pci_init_one':
drivers/ata/libata-sff.c:820: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result
drivers/ata/libata-sff.c:822: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result
drivers/ata/libata-sff.c:824: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result

drivers/base/core.c: In function `device_add':
drivers/base/core.c:580: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:585: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:589: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:594: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c: In function `device_rename':
drivers/base/core.c:1039: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:1049: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result

drivers/block/floppy.c: In function `floppy_init':
drivers/block/floppy.c:4337: warning: ignoring return value of
`device_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c: In function `cpufreq_add_dev':
drivers/cpufreq/cpufreq.c:826: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c:830: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c:832: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result

drivers/ide/pci/cs5530.c: In function `init_chipset_cs5530':
drivers/ide/pci/cs5530.c:244: warning: ignoring return value of
`pci_set_mwi', declared with attribute warn_unused_result

drivers/ide/pci/sc1200.c: In function `sc1200_resume':
drivers/ide/pci/sc1200.c:397: warning: ignoring return value of
`pci_enable_device', declared with attribute warn_unused_result

drivers/ide/setup-pci.c: In function `ide_scan_pcibus':
drivers/ide/setup-pci.c:866: warning: ignoring return value of
`__pci_register_driver', declared with attribute warn_unused_result

drivers/input/mousedev.c: In function `mousedev_connect':
drivers/input/mousedev.c:664: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result

drivers/input/joydev.c: In function `joydev_connect':
drivers/input/joydev.c:542: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result


drivers/input/evdev.c: In function `evdev_connect':
drivers/input/evdev.c:653: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c: In function `i2o_device_add':
drivers/message/i2o/device.c:247: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:254: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:260: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:267: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
 CC  drivers/message/i2o/debug.

drivers/net/sk98lin/skge.c: In function `skge_resume':
drivers/net/sk98lin/skge.c:5128: warning: ignoring return value of
`pci_enable_device', declared with attribute warn_unused_result
drivers/net/tulip/xircom_tulip_cb.c: In function `outl_CSR6':
drivers/net/tulip/xircom_tulip_cb.c:348: warning: `save_flags' is
deprecated (declared at include/linux/interrupt.h:214)
drivers/net/tulip/xircom_tulip_cb.c:349: warning: `cli' is deprecated
(declared at include/linux/interrupt.h:206)
drivers/net/tulip/xircom_tulip_cb.c:358: warning: `restore_flags' is
deprecated (declared at include/linux/interrupt.h:219)
drivers/net/tulip/xircom_tulip_cb.c:376: warning: `restore_flags' is
deprecated (declared at include/linux/interrupt.h:219)

linux-2.6.21-rc2 compile warnings

2007-03-05 Thread young dave

Hi,
As I compile the linux-2.6.21-rc2  (gcc version 3.4.6), there's some
warning  messages:

drivers/video/Kconfig:1622:warning: 'select' used by config symbol
'FB_PS3' refer to undefined symbol 'PS3_PS3AV'

fs/partitions/check.c: In function `add_partition':
fs/partitions/check.c:388: warning: ignoring return value of
`kobject_add', declared with attribute warn_unused_result
fs/partitions/check.c:391: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
fs/partitions/check.c:399: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result

drivers/ata/libata-sff.c: In function `ata_pci_init_one':
drivers/ata/libata-sff.c:820: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result
drivers/ata/libata-sff.c:822: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result
drivers/ata/libata-sff.c:824: warning: ignoring return value of
`pci_request_region', declared with attribute warn_unused_result

drivers/base/core.c: In function `device_add':
drivers/base/core.c:580: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:585: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:589: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:594: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c: In function `device_rename':
drivers/base/core.c:1039: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/base/core.c:1049: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result

drivers/block/floppy.c: In function `floppy_init':
drivers/block/floppy.c:4337: warning: ignoring return value of
`device_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c: In function `cpufreq_add_dev':
drivers/cpufreq/cpufreq.c:826: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c:830: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result
drivers/cpufreq/cpufreq.c:832: warning: ignoring return value of
`sysfs_create_file', declared with attribute warn_unused_result

drivers/ide/pci/cs5530.c: In function `init_chipset_cs5530':
drivers/ide/pci/cs5530.c:244: warning: ignoring return value of
`pci_set_mwi', declared with attribute warn_unused_result

drivers/ide/pci/sc1200.c: In function `sc1200_resume':
drivers/ide/pci/sc1200.c:397: warning: ignoring return value of
`pci_enable_device', declared with attribute warn_unused_result

drivers/ide/setup-pci.c: In function `ide_scan_pcibus':
drivers/ide/setup-pci.c:866: warning: ignoring return value of
`__pci_register_driver', declared with attribute warn_unused_result

drivers/input/mousedev.c: In function `mousedev_connect':
drivers/input/mousedev.c:664: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result

drivers/input/joydev.c: In function `joydev_connect':
drivers/input/joydev.c:542: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result


drivers/input/evdev.c: In function `evdev_connect':
drivers/input/evdev.c:653: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c: In function `i2o_device_add':
drivers/message/i2o/device.c:247: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:254: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:260: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
drivers/message/i2o/device.c:267: warning: ignoring return value of
`sysfs_create_link', declared with attribute warn_unused_result
 CC  drivers/message/i2o/debug.

drivers/net/sk98lin/skge.c: In function `skge_resume':
drivers/net/sk98lin/skge.c:5128: warning: ignoring return value of
`pci_enable_device', declared with attribute warn_unused_result
drivers/net/tulip/xircom_tulip_cb.c: In function `outl_CSR6':
drivers/net/tulip/xircom_tulip_cb.c:348: warning: `save_flags' is
deprecated (declared at include/linux/interrupt.h:214)
drivers/net/tulip/xircom_tulip_cb.c:349: warning: `cli' is deprecated
(declared at include/linux/interrupt.h:206)
drivers/net/tulip/xircom_tulip_cb.c:358: warning: `restore_flags' is
deprecated (declared at include/linux/interrupt.h:219)
drivers/net/tulip/xircom_tulip_cb.c:376: warning: `restore_flags' is
deprecated (declared at include/linux/interrupt.h:219)