Re: [PATCH] decnet: addr module param can't be __initdata
From: Alexey Dobriyan [EMAIL PROTECTED] Date: Thu, 1 Nov 2007 18:36:29 +0300 sysfs keeps references to module parameters via /sys/module/*/parameters, so marking them as __initdata can't work. Steps to reproduce: modprobe decnet cat /sys/module/decnet/parameters/addr BUG: unable to handle kernel paging request at virtual address f88cd410 ... Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED] Applied, thanks! - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] decnet: addr module param can't be __initdata
sysfs keeps references to module parameters via /sys/module/*/parameters, so marking them as __initdata can't work. Steps to reproduce: modprobe decnet cat /sys/module/decnet/parameters/addr BUG: unable to handle kernel paging request at virtual address f88cd410 printing eip: c043dfd1 *pdpt = 4001 *pde = 04408067 *pte = Oops: [#1] PREEMPT SMP Modules linked in: decnet sunrpc af_packet ipv6 binfmt_misc dm_mirror dm_multipath dm_mod sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos serio_raw rtc_core rtc_lib button amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2099, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #6) EIP: 0060:[c043dfd1] EFLAGS: 00210286 CPU: 1 EIP is at param_get_int+0x6/0x20 EAX: c5c87000 EBX: ECX: 80d0 EDX: f88cd410 ESI: f8a108f8 EDI: c5c87000 EBP: ESP: c5c97f00 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2099, ti=c5c97000 task=c641ee10 task.ti=c5c97000) Stack: f8a108f8 c5c87000 c043db6b f8a108f1 0124 c043de1a c043db2f f88cd410 c5c87000 f8a16bc8 f8a16bc8 c043dd69 c043dd54 c5dd5078 c043dbc8 c5cc7580 c06ee64c c5d679f8 c04c431f c641f480 c641f484 1000 Call Trace: [c043db6b] param_array_get+0x3c/0x62 [c043de1a] param_array_set+0x0/0xdf [c043db2f] param_array_get+0x0/0x62 [c043dd69] param_attr_show+0x15/0x2d [c043dd54] param_attr_show+0x0/0x2d [c043dbc8] module_attr_show+0x1a/0x1e [c04c431f] sysfs_read_file+0x7c/0xd9 [c04c42a3] sysfs_read_file+0x0/0xd9 [c048d4b2] vfs_read+0x88/0x134 [c042090b] do_page_fault+0x0/0x7d5 [c048d920] sys_read+0x41/0x67 [c04080fa] sysenter_past_esp+0x6b/0xc1 === Code: 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 27 dd 6c c0 89 04 24 89 54 24 08 e8 ea 01 0c 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 58 8c 6a c0 89 04 24 89 54 24 08 e8 ca 01 0c EIP: [c043dfd1] param_get_int+0x6/0x20 SS:ESP 0068:c5c97f00 Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED] --- net/decnet/dn_dev.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -1439,7 +1439,7 @@ static const struct file_operations dn_dev_seq_fops = { #endif /* CONFIG_PROC_FS */ -static int __initdata addr[2]; +static int addr[2]; module_param_array(addr, int, NULL, 0444); MODULE_PARM_DESC(addr, The DECnet address of this machine: area,node); - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] decnet: addr module param can't be __initdata
Hi, Looks good, Feel free to add: Acked-by: Steven Whitehouse [EMAIL PROTECTED] Steve. On Thu, Nov 01, 2007 at 06:36:29PM +0300, Alexey Dobriyan wrote: sysfs keeps references to module parameters via /sys/module/*/parameters, so marking them as __initdata can't work. Steps to reproduce: modprobe decnet cat /sys/module/decnet/parameters/addr BUG: unable to handle kernel paging request at virtual address f88cd410 printing eip: c043dfd1 *pdpt = 4001 *pde = 04408067 *pte = Oops: [#1] PREEMPT SMP Modules linked in: decnet sunrpc af_packet ipv6 binfmt_misc dm_mirror dm_multipath dm_mod sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos serio_raw rtc_core rtc_lib button amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2099, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #6) EIP: 0060:[c043dfd1] EFLAGS: 00210286 CPU: 1 EIP is at param_get_int+0x6/0x20 EAX: c5c87000 EBX: ECX: 80d0 EDX: f88cd410 ESI: f8a108f8 EDI: c5c87000 EBP: ESP: c5c97f00 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2099, ti=c5c97000 task=c641ee10 task.ti=c5c97000) Stack: f8a108f8 c5c87000 c043db6b f8a108f1 0124 c043de1a c043db2f f88cd410 c5c87000 f8a16bc8 f8a16bc8 c043dd69 c043dd54 c5dd5078 c043dbc8 c5cc7580 c06ee64c c5d679f8 c04c431f c641f480 c641f484 1000 Call Trace: [c043db6b] param_array_get+0x3c/0x62 [c043de1a] param_array_set+0x0/0xdf [c043db2f] param_array_get+0x0/0x62 [c043dd69] param_attr_show+0x15/0x2d [c043dd54] param_attr_show+0x0/0x2d [c043dbc8] module_attr_show+0x1a/0x1e [c04c431f] sysfs_read_file+0x7c/0xd9 [c04c42a3] sysfs_read_file+0x0/0xd9 [c048d4b2] vfs_read+0x88/0x134 [c042090b] do_page_fault+0x0/0x7d5 [c048d920] sys_read+0x41/0x67 [c04080fa] sysenter_past_esp+0x6b/0xc1 === Code: 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 27 dd 6c c0 89 04 24 89 54 24 08 e8 ea 01 0c 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 58 8c 6a c0 89 04 24 89 54 24 08 e8 ca 01 0c EIP: [c043dfd1] param_get_int+0x6/0x20 SS:ESP 0068:c5c97f00 Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED] --- net/decnet/dn_dev.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -1439,7 +1439,7 @@ static const struct file_operations dn_dev_seq_fops = { #endif /* CONFIG_PROC_FS */ -static int __initdata addr[2]; +static int addr[2]; module_param_array(addr, int, NULL, 0444); MODULE_PARM_DESC(addr, The DECnet address of this machine: area,node); - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html