imq / linuximq

Pseudo-driver for the intermediate queue device.

Home Page:https://imq.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Any plan of kernel 4.19

panda-mute opened this issue · comments

For kernel 4.19 use patch from 4.16.

Yes this patch from kernel 4.16 work on kernel 4.19
but have problem i machine crashed if you work with pppoe server.
Need to rewrite part of imq : skb_restore_cb(skb); /* restore skb->cb */
static netdev_tx_t imq_dev_xmit.

Need to rewrite part of imq : skb_restore_cb(skb); /* restore skb->cb */
static netdev_tx_t imq_dev_xmit.

can you please explain. I am having same problems.

may be need developer to rewrite imq for new network stack in new kernel 5.x
i try imq on kernel 4.20 and have same problem machine crash after hours of work may be problem is in locking or wrong update in version of kernel.
for kernel 5.0 need to fix patch but not have any one for this.

If have any one like and have time to rewrite imq from zero or fix problem i have test machine and will support with tests.

For info latest work imq is for kernel 4.4 and 4.9 after this all my test on machine with ppp and static customer i have problem with same crash in this point : static netdev_tx_t imq_dev_xmit
For my this is a core problem in IMQ and need people who know what they are doing to rewrite.

I just patched and updated succesfuly to 5.0.3. Will wailt for crash.

I try now but have same error:

DESCEND objtool
CALL scripts/checksyscalls.sh
CC [M] drivers/net/imq.o
drivers/net/imq.c: In function 'nf_bridge_adjust_skb_data':
drivers/net/imq.c:409:11: error: 'struct sk_buff' has no member named 'nf_bridge'; did you mean 'nf_trace'?
if (skb->nf_bridge)
^~~~~~~~~
nf_trace
drivers/net/imq.c: In function 'nf_bridge_adjust_segmented_data':
drivers/net/imq.c:415:11: error: 'struct sk_buff' has no member named 'nf_bridge'; did you mean 'nf_trace'?
if (skb->nf_bridge)
^~~~~~~~~
nf_trace
scripts/Makefile.build:282: recipe for target 'drivers/net/imq.o' failed
make[5]: *** [drivers/net/imq.o] Error 1
make[5]: *** Waiting for unfinished jobs....
scripts/Makefile.build:492: recipe for target 'drivers/net' failed
make[4]: *** [drivers/net] Error 2
Makefile:1043: recipe for target 'drivers' failed
make[3]: *** [drivers] Error 2
make[3]: *** Waiting for unfinished jobs....

Any one
nf_bridge struct is remove in new kernel 5.0.x
Need to rewrite module or part of modul to work stable and fine with new kernel tree

Hi
I fix temporarily with add this in skbuff.h
#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
struct nf_bridge_info *nf_bridge;
#endif

But for my this Is not so correct.
Build finish and upload to machine for test but have same problem from last kernel 4.15-5.0

Mar 28 09:35:04 [ 130.433014] ------------[ cut here ]------------
Mar 28 09:35:04 [ 130.446773] kernel BUG at net/core/skbuff.c:2744!
Mar 28 09:35:04 [ 130.460667] invalid opcode: 0000 [#1] SMP PTI
Mar 28 09:35:04 [ 130.474672] CPU: 0 PID: 3287 Comm: mysqld Tainted: G O 5.0.5 #2
Mar 28 09:35:04 [ 130.503123] Hardware name: HP ProLiant DL160 Gen9/ProLiant DL160 Gen9, BIOS U20 05/21/2018
Mar 28 09:35:04 [ 130.532975] RIP: 0010:skb_copy_and_csum_bits+0x28f/0x2a0
Mar 28 09:35:04 [ 130.548599] Code: 24 0c 8b 44 24 0c 85 c0 75 20 48 83 c4 18 89 d8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 45 31 f6 e9 ff fd ff ff 0f 0b e9 6a ff ff ff <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 54 55 53 0f
Mar 28 09:35:04 [ 130.595044] RSP: 0018:ffffc90003653910 EFLAGS: 00010202
Mar 28 09:35:04 [ 130.610751] RAX: 00000000000005a8 RBX: 0000000000000000 RCX: 00000000000002c0
Mar 28 09:35:04 [ 130.626912] RDX: 0000000000000001 RSI: ffff8888451fd400 RDI: 00000000ffff00d1
Mar 28 09:35:04 [ 130.643011] RBP: 00000000ffff0b50 R08: 0000000000000000 R09: ffffea0020932808
Mar 28 09:35:04 [ 130.658863] R10: 0000000000000002 R11: ffff88885ae056f8 R12: 00000000ffff0c21
Mar 28 09:35:04 [ 130.674232] R13: 00000000000000d1 R14: 0000000000000000 R15: 0000000000000000
Mar 28 09:35:04 [ 130.688222] FS: 00007fb4bc3ff700(0000) GS:ffff88885fa00000(0000) knlGS:0000000000000000
Mar 28 09:35:04 [ 130.713248] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Mar 28 09:35:04 [ 130.725128] CR2: 00007fb48806c000 CR3: 000000085ae06006 CR4: 00000000001606f0
Mar 28 09:35:04 [ 130.736776] Call Trace:
Mar 28 09:35:04 [ 130.747764] skb_segment+0x348/0xd50
Mar 28 09:35:04 [ 130.758358] tcp_gso_segment+0xdb/0x4c0
Mar 28 09:35:04 [ 130.768490] ? tcp_event_new_data_sent+0x90/0x90
Mar 28 09:35:04 [ 130.778410] inet_gso_segment+0x13b/0x3d0
Mar 28 09:35:04 [ 130.788470] skb_mac_gso_segment+0xb0/0x120
Mar 28 09:35:04 [ 130.798676] __skb_gso_segment+0x79/0x180
Mar 28 09:35:04 [ 130.808554] imq_nf_queue+0xce/0x334 [imq]
Mar 28 09:35:04 [ 130.818208] nf_queue+0x18d/0x2a0
Mar 28 09:35:04 [ 130.827596] nf_hook_slow+0x5f/0xd0
Mar 28 09:35:04 [ 130.836908] ip_output+0x9f/0xd0
Mar 28 09:35:04 [ 130.846099] ? ip_fragment.constprop.5+0x80/0x80
Mar 28 09:35:04 [ 130.855324] __tcp_transmit_skb+0x534/0x9a0
Mar 28 09:35:04 [ 130.864439] tcp_write_xmit+0x37a/0x1090
Mar 28 09:35:04 [ 130.873311] __tcp_push_pending_frames+0x2d/0xb0
Mar 28 09:35:04 [ 130.882045] tcp_sendmsg_locked+0x3ca/0xd30
Mar 28 09:35:04 [ 130.890656] tcp_sendmsg+0x22/0x40
Mar 28 09:35:04 [ 130.898971] sock_sendmsg+0xb/0x20
Mar 28 09:35:04 [ 130.906955] __sys_sendto+0xe9/0x150
Mar 28 09:35:04 [ 130.914981] ? handle_mm_fault+0x4b/0xb0
Mar 28 09:35:04 [ 130.922657] ? __do_page_fault+0x1b8/0x420
Mar 28 09:35:04 [ 130.930132] __x64_sys_sendto+0x1f/0x30
Mar 28 09:35:04 [ 130.937589] do_syscall_64+0x79/0x210
Mar 28 09:35:04 [ 130.944942] entry_SYSCALL_64_after_hwframe+0x44/0xa9
Mar 28 09:35:04 [ 130.952373] RIP: 0033:0x7fb4f026b5ce
Mar 28 09:35:04 [ 130.959788] Code: 49 89 f4 55 53 89 fb 48 83 ec 10 e8 8c f8 ff ff 45 31 c9 45 31 c0 45 89 f2 89 c5 4c 89 ea 4c 89 e6 89 df b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 36 89 ef 48 89 44 24 08 e8 be f8 ff ff 48 8b
Mar 28 09:35:04 [ 130.982622] RSP: 002b:00007fb4bc3fe410 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
Mar 28 09:35:04 [ 130.997777] RAX: ffffffffffffffda RBX: 0000000000000081 RCX: 00007fb4f026b5ce
Mar 28 09:35:04 [ 131.005915] RDX: 0000000000000c55 RSI: 00007fb4880560a8 RDI: 0000000000000081
Mar 28 09:35:04 [ 131.014170] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
Mar 28 09:35:04 [ 131.022346] R10: 0000000000000040 R11: 0000000000000246 R12: 00007fb4880560a8
Mar 28 09:35:04 [ 131.030453] R13: 0000000000000c55 R14: 0000000000000040 R15: 00007fb4880221b8
Mar 28 09:35:05 [ 131.038690] Modules linked in: udp_diag unix_diag af_packet_diag sch_hfsc iptable_filter xt_IMQ iptable_mangle xt_addrtype xt_nat iptable_nat nf_nat_ipv4 ip_tables bpfilter nf_nat nf_conntrack nf_defrag_ipv4 sch_fq_codel netconsole hpsa scsi_transport_sas imq igb i2c_algo_bit ixgbe mdio libphy pppoe pptp gre sha1_ssse3 sha1_generic ppp_mppe ppp_generic
Mar 28 09:35:05 [ 131.102107] ---[ end trace 2766e934f08c6cca ]---
Mar 28 09:35:05 [ 131.111943] RIP: 0010:skb_copy_and_csum_bits+0x28f/0x2a0
Mar 28 09:35:05 [ 131.121881] Code: 24 0c 8b 44 24 0c 85 c0 75 20 48 83 c4 18 89 d8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 45 31 f6 e9 ff fd ff ff 0f 0b e9 6a ff ff ff <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 54 55 53 0f
Mar 28 09:35:05 [ 131.153148] RSP: 0018:ffffc90003653910 EFLAGS: 00010202
Mar 28 09:35:05 [ 131.164121] RAX: 00000000000005a8 RBX: 0000000000000000 RCX: 00000000000002c0
Mar 28 09:35:05 [ 131.175190] RDX: 0000000000000001 RSI: ffff8888451fd400 RDI: 00000000ffff00d1
Mar 28 09:35:05 [ 131.186326] RBP: 00000000ffff0b50 R08: 0000000000000000 R09: ffffea0020932808
Mar 28 09:35:05 [ 131.197536] R10: 0000000000000002 R11: ffff88885ae056f8 R12: 00000000ffff0c21
Mar 28 09:35:05 [ 131.208898] R13: 00000000000000d1 R14: 0000000000000000 R15: 0000000000000000
Mar 28 09:35:05 [ 131.220139] FS: 00007fb4bc3ff700(0000) GS:ffff88885fa00000(0000) knlGS:0000000000000000
Mar 28 09:35:05 [ 131.242417] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Mar 28 09:35:05 [ 131.253623] CR2: 00007fb48806c000 CR3: 000000085ae06006 CR4: 00000000001606f0
Mar 28 09:35:05 [ 131.264970] Kernel panic - not syncing: Fatal exception
Mar 28 09:35:05 [ 131.276112] Kernel Offset: disabled