Re: IMQ patch for iptables-1.2.9 and kernel 2.6.2 final !

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Thursday 19 February 2004 17:19, The Codrinus wrote:
> > Hi,
> > I have successfully applied the IMQ patch for kernel-2.6.2 (final
> > release) from http://www.linuximq.net, and now I have support for 4 IMQ
> > devices loaded in kernel. But I don't know how to patch the iptables-1.2.9
> > to support the -j IMQ target. I tried the patch-o-matic for 2.4.x kernels,
> > but it doesn't work for 2.6.x kernels. I also tried the patch-o-matic-ng
> > for 2.6.x kernels, but when I give the batch script commands it says it's
> > not implemented yet. I don't know how to manually apply the IMQ patches.
> >
> > ./runme --batch userspace/IMQ.patch  
> >
> > Could anyone help me how to do this final step and append IMQ support to
> > iptables?
> I'm not sure, but I think you don't need iptables for the latest imq.  All
> traffic is also flowing thru the imq devices.  But I'm not sure.
>
> Stef
>

Well, iptables need in the extensions dir the following IMQ patch files:
".IMQ-test"
".IMQ-test6"
"libipt_IMQ.c" and 
"libip6t_IMQ.c"  
in order to support the -j IMQ --todev <device> option.

I manually added these files because the patch-o-matic-ng doesn't know how 
to apply --batch option. (not implemented yet)
The problem is after all, when I try to give an iptables command like:

iptables .... -j IMQ --todev eth0 when running the patched kernel-2.6.2

i get segmentation fault and dmesg says the following coredump error:


Unable to handle kernel NULL pointer dereference at virtual address 
00000001
 printing eip:
c0372908
*pde = 18ddc067
Oops: 0000 [#1]
CPU:    0
EIP:    0060:[<c0372908>]    Not tainted
EFLAGS: 00010202
EIP is at imq_target+0x8/0x30
eax: 00000001   ebx: c045f820   ecx: d8db7c04   edx: c045f820
esi: e08170f0   edi: e0817080   ebp: 00000001   esp: d8db7b64
ds: 007b   es: 007b   ss: 0068
Process iptables (pid: 1648, threadinfo=d8db6000 task=d9e69900)
Stack: c03695ee d8db7c04 e0817080 e0817110 00000004 00000001 e0817080
d8db7ba8
       d8db6000 deff9420 deff9480 00000070 00000000 00000000 00000000
00000163
       00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Call Trace:
 [<c03695ee>] translate_table+0x4be/0x760
 [<c0369e13>] do_replace+0x193/0x6e0
 [<c0150087>] vfree+0x27/0x40
 [<c036a5bd>] do_ipt_set_ctl+0x6d/0x70
 [<c03079df>] nf_sockopt+0x12f/0x140
 [<c0307a27>] nf_setsockopt+0x37/0x40
 [<c032d317>] ip_setsockopt+0x4a7/0xd90
 [<c0307964>] nf_sockopt+0xb4/0x140
 [<c0307a67>] nf_getsockopt+0x37/0x40
 [<c032e281>] ip_getsockopt+0x681/0x7c0
 [<c01a2c01>] journal_stop+0x201/0x360
 [<c0195d98>] ext3_mark_iloc_dirty+0x28/0x40
 [<c0195ed0>] ext3_mark_inode_dirty+0x50/0x60
 [<c019a5c4>] __ext3_journal_stop+0x24/0x50
 [<c0195f49>] ext3_dirty_inode+0x69/0xd0
 [<c0175d1e>] __mark_inode_dirty+0xde/0xf0
 [<c013d0f1>] buffered_rmqueue+0xd1/0x170
 [<c013d0f1>] buffered_rmqueue+0xd1/0x170
 [<c013d22f>] __alloc_pages+0x9f/0x330
 [<c013d22f>] __alloc_pages+0x9f/0x330
 [<c013939c>] find_get_page+0x2c/0x60
 [<c014726a>] do_anonymous_page+0x17a/0x260
 [<c01473b5>] do_no_page+0x65/0x3a0
 [<c014558b>] pte_alloc_map+0x9b/0xc0
 [<c01478f4>] handle_mm_fault+0xd4/0x180
 [<c011afec>] do_page_fault+0x2fc/0x4dc
 [<c034fce6>] inet_setsockopt+0x36/0x40
 [<c02f69e2>] sys_setsockopt+0x82/0xd0
 [<c02f7240>] sys_socketcall+0x220/0x2a0
 [<c010aa35>] sysenter_past_esp+0x52/0x71

Code: 0f b6 00 8b 11 83 c8 80 88 82 94 00 00 00 8b 01 81 88 84 00


I really don't know why it crashes and how can I handle this mess,
Codrin.
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux