All of lore.kernel.org
 help / color / mirror / Atom feed
* My first target module is a fiasco.
@ 2003-12-15 15:21 Emmanuel Guiton
  2003-12-15 15:36 ` KOVACS Krisztian
  0 siblings, 1 reply; 3+ messages in thread
From: Emmanuel Guiton @ 2003-12-15 15:21 UTC (permalink / raw)
  To: netfilter-devel

Hei!

After having written a first version of a new target module, I tried to 
test it. Well... I does not look promising: segmentation fault, the 
detail follows. However, what disturbs me is that I commented out 
totally my module, leaving only some printk to have some feedback and 
the backbone of the module: register, unregister, the static struct 
ipt_target, and the - empty - functions that go along with it.
To summarize: empty module; segmentation fault.

Can an enlighted and experienced mind points out my gaps?

          Emmanuel

PS: in the following logs, ipt_SYNDIS is my target, and one can notice 
at the 4th line the following: "SYNDIS: target registered." which is the 
result of a printk I inserted at the end of my static int __init 
init(void) function, just before to return.


Dec 15 16:53:34 pc104 insmod: 
/lib/modules/2.4.23/kernel/net/ipv4/netfilter/ipt_SYNDIS.o: init_module: 
Device or resource busy
Dec 15 16:53:34 pc104 insmod: Hint: insmod errors can be caused by 
incorrect module parameters, including invalid IO or IRQ 
parameters.       You may find more information in syslog or the output 
from dmesg
Dec 15 16:53:34 pc104 insmod: 
/lib/modules/2.4.23/kernel/net/ipv4/netfilter/ipt_SYNDIS.o: insmod 
ipt_SYNDIS failed
Dec 15 16:53:34 pc104 kernel: SYNDIS: target registered.<1>Unable to 
handle kernel paging request at virtual address c884c348
Dec 15 16:53:34 pc104 kernel:  printing eip:
Dec 15 16:53:34 pc104 kernel: c026f5a6
Dec 15 16:53:34 pc104 kernel: *pde = 07fbe067
Dec 15 16:53:34 pc104 kernel: *pte = 00000000
Dec 15 16:53:34 pc104 kernel: Oops: 0000
Dec 15 16:53:34 pc104 kernel: CPU:    0
Dec 15 16:53:34 pc104 kernel: EIP:    0010:[find_inlist_lock+198/368]    
Not tainted
Dec 15 16:53:34 pc104 kernel: EFLAGS: 00010216
Dec 15 16:53:34 pc104 kernel: eax: c031ea53   ebx: c88480de   ecx: 
c031ea20   edx: c884c340
Dec 15 16:53:34 pc104 kernel: esi: c88480df   edi: c884c348   ebp: 
c0b35b84   esp: c0b35b2c
Dec 15 16:53:34 pc104 kernel: ds: 0018   es: 0018   ss: 0018
Dec 15 16:53:34 pc104 kernel: Process iptables (pid: 593, 
stackpage=c0b35000)
Dec 15 16:53:34 pc104 kernel: Stack: 00000286 5f747069 444e5953 c0005349 
c02ddcfc 00000001 c7fbe128 c0135843
Dec 15 16:53:34 pc104 kernel:        00000000 c0131857 c02ddb1c c02ddcf4 
00000000 00000000 0000042c c0101c88
Dec 15 16:53:34 pc104 kernel:        0004a000 c0b35b60 00000000 c88480dc 
00000001 c8848040 0000009c c026fc8c
Dec 15 16:53:34 pc104 kernel: Call Trace:    [__alloc_pages+99/656] 
[get_vm_area+23/240] [translate_table+1116/1616] [do_replace+379/1072] 
[do_ipt_set_ctl+87/112]
Dec 15 16:53:34 pc104 kernel:   [nf_sockopt+289/304] 
[nf_setsockopt+32/48] [ip_setsockopt+1577/3696] [nf_sockopt+170/304] 
[nf_getsockopt+32/48] [ip_getsockopt+2562/3316]
Dec 15 16:53:34 pc104 kernel:   [enable_irq+97/176] 
[ide_do_request+288/832] [schedule+627/1488] [__alloc_pages+99/656] 
[lru_cache_add+110/128] [do_anonymous_page+269/288]
Dec 15 16:53:34 pc104 kernel:   [do_no_page+458/480] 
[handle_mm_fault+190/208] [vsnprintf+727/1136] [do_page_fault+786/1271] 
[inet_setsockopt+37/48] [sys_setsockopt+69/128]
Dec 15 16:53:34 pc104 kernel:   [sys_socketcall+408/496] 
[do_page_fault+0/1271] [error_code+52/60] [system_call+51/56]
Dec 15 16:53:34 pc104 kernel:
Dec 15 16:53:34 pc104 kernel: Code: ae 75 08 84 c0 75 f8 31 c0 eb 04 19 
c0 0c 01 85 c0 75 2e 89
Dec 15 16:54:14 pc104 syslog: Kernel log daemon terminating.

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

* Re: My first target module is a fiasco.
  2003-12-15 15:21 My first target module is a fiasco Emmanuel Guiton
@ 2003-12-15 15:36 ` KOVACS Krisztian
  2003-12-15 15:48   ` Emmanuel Guiton
  0 siblings, 1 reply; 3+ messages in thread
From: KOVACS Krisztian @ 2003-12-15 15:36 UTC (permalink / raw)
  To: emmanuel; +Cc: netfilter-devel


   Hi,

Emmanuel Guiton wrote:
> After having written a first version of a new target module, I tried to 
> test it. Well... I does not look promising: segmentation fault, the 
> detail follows. However, what disturbs me is that I commented out 
> totally my module, leaving only some printk to have some feedback and 
> the backbone of the module: register, unregister, the static struct 
> ipt_target, and the - empty - functions that go along with it.
> To summarize: empty module; segmentation fault.

   Could you show us the code of the init function, and the static 
structure it registers? However, it looks like the kernel thinks your 
module failed to load (its __init function did not return 0), however, it 
has successfully registered its target... This is bad, since the memory 
allocated for your module is freed when your __init function returns any 
value other than zero.

> Dec 15 16:53:34 pc104 insmod: 
> /lib/modules/2.4.23/kernel/net/ipv4/netfilter/ipt_SYNDIS.o: init_module: 
> Device or resource busy
> Dec 15 16:53:34 pc104 insmod: Hint: insmod errors can be caused by 
> incorrect module parameters, including invalid IO or IRQ 
> parameters.       You may find more information in syslog or the output 
> from dmesg
> Dec 15 16:53:34 pc104 insmod: 
> /lib/modules/2.4.23/kernel/net/ipv4/netfilter/ipt_SYNDIS.o: insmod 
> ipt_SYNDIS failed
> Dec 15 16:53:34 pc104 kernel: SYNDIS: target registered.<1>Unable to 
> handle kernel paging request at virtual address c884c348

-- 
   Regards,
     Krisztian KOVACS

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

* Re: My first target module is a fiasco.
  2003-12-15 15:36 ` KOVACS Krisztian
@ 2003-12-15 15:48   ` Emmanuel Guiton
  0 siblings, 0 replies; 3+ messages in thread
From: Emmanuel Guiton @ 2003-12-15 15:48 UTC (permalink / raw)
  To: netfilter-devel


Hi,

KOVACS Krisztian wrote:

>
>   Could you show us the code of the init function, and the static 
> structure it registers? However, it looks like the kernel thinks your 
> module failed to load (its __init function did not return 0), however, 
> it has successfully registered its target... This is bad, since the 
> memory allocated for your module is freed when your __init function 
> returns any value other than zero.

Zero... Do you mean that "return 0;" at the end of my __init function is 
more appropriate than the current "return 1;"? :)
Well, I must admit that it works better like that... :) Thanks.

           Emmanuel

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

end of thread, other threads:[~2003-12-15 15:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-15 15:21 My first target module is a fiasco Emmanuel Guiton
2003-12-15 15:36 ` KOVACS Krisztian
2003-12-15 15:48   ` Emmanuel Guiton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.