Re: bug in init_i82365 wrt sysfs

From: Arnaldo Carvalho de Melo
Date: Thu Oct 09 2003 - 22:56:32 EST


Em Fri, Oct 10, 2003 at 12:59:40AM -0300, Arnaldo C. Melo escreveu:
> Unable to handle kernel NULL pointer dereference at virtual address 00000010
> printing eip:
> c0192fc9
> *pde = 00000000
> Oops: 0000 [#1]
> CPU: 1
> EIP: 0060:[<c0192fc9>] Not tainted
> EFLAGS: 00010282
> EIP is at sysfs_add_file+0x9/0xa0
> eax: 00000000 ebx: 0000023c ecx: 00000001 edx: c2817ff0
> esi: 00000001 edi: 00000000 ebp: c0d89f70 esp: c0d89f64
> ds: 007b es: 007b ss: 0068
> Process modprobe (pid: 481, threadinfo=c0d88000 task=c0e759b0)
> Stack: 0000023c 00000001 c2817fe8 c0d89f80 c01dbf4c 00000000 c2817154 c0d89fa0
> c2805188 c2817fe8 c2817154 00000000 c029e8b8 c0d88000 c28172e0 c0d89fbc
> c0139cff 0804e738 0804e738 0804e738 0804e0e0 00000000 c0d88000 c0109897
> Call Trace:
> [<c01dbf4c>] class_device_create_file+0x1c/0x30
> [<c2805188>] init_i82365+0xe8/0x1e8 [i82365]
> [<c0139cff>] sys_init_module+0x15f/0x2f0
> [<c0109897>] syscall_call+0x7/0xb
>
> Code: 8b 77 10 6a 77 68 ab 88 27 c0 e8 e8 a2 f8 ff 8d 5e 70 58 89

Sorry, hit the send key too fast, here is what I researched:

We should use the same approach net/core/net-sysfs.c is using, i.e:

static struct class net_class = {
.name = "net",
.release = netdev_release,
#ifdef CONFIG_HOTPLUG
.hotplug = netdev_hotplug,
#endif
};

.
.
.

class_dev->class = &net_class;
class_dev->class_data = net;

Adjusted to pcmcia, of course, its late here, going to bed, tomorrow I'll
try to fix this one, if nobody beats me to it, I'll be happy to test patches
done while I'm asleep 8)

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