tempesta-tech / tempesta

All-in-one solution for high performance web content delivery and advanced protection against DDoS and web attacks
https://tempesta-tech.com/
GNU General Public License v2.0
617 stars 103 forks source link

Warnings during h2 message exchanges #1387

Closed vankoven closed 1 year ago

vankoven commented 4 years ago

Caught a few warnings during testing h2 with h2spec:

vankoven commented 4 years ago
vankoven commented 4 years ago
[78406.287899] ------------[ cut here ]------------
[78406.289256] WARNING: CPU: 1 PID: 584 at /home/user/qtc/release/tempesta/tempesta_fw/hpack.c:2391 tfw_hpack_encode+0x127f/0x12a0 [tempesta_fw]
[78406.291874] Modules linked in: tempesta_fw(O) tempesta_db(O) tempesta_tls(O) tempesta_lib(O) sha256_ssse3 sha512_ssse3 sha512_generic ccm iTCO_wdt iTCO_vendor_support kvm_intel snd_hda_codec_generic binfmt_misc kvm irqbypass crct10dif_pclmul crc32_pclmul snd_hda_intel snd_hda_codec snd_hda_core ghash_clmulni_intel snd_hwdep snd_pcm snd_timer evdev serio_raw pcspkr snd soundcore virtio_balloon sg virtio_gpu virtio_console ttm lpc_ich mfd_core drm_kms_helper drm shpchp button ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 fscrypto ecb aesni_intel crypto_simd cryptd glue_helper aes_x86_64 crc32c_generic sr_mod cdrom virtio_blk virtio_net crc32c_intel psmouse ahci libahci sym53c8xx scsi_transport_spi uhci_hcd ehci_pci ehci_hcd libata i2c_i801 scsi_mod usbcore virtio_pci usb_common virtio_ring virtio
[78406.317135]  [last unloaded: tempesta_lib]
[78406.319725] CPU: 1 PID: 584 Comm: nginx Tainted: G    B   W  O    4.14.0-tempesta-kmemleak-amd64 #1 Debian 4.14.32-tfw7-1
[78406.327777] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS ?-20191223_100556-anatol 04/01/2014
[78406.330875] task: ffff9c40fcd9e900 task.stack: ffffbab680db8000
[78406.332466] RIP: 0010:tfw_hpack_encode+0x127f/0x12a0 [tempesta_fw]
[78406.336057] RSP: 0018:ffff9c41655037b0 EFLAGS: 00010293
[78406.337360] RAX: 000000000000001f RBX: 0000000000000000 RCX: 0000000000000029
[78406.339593] RDX: ffff9c41655240bf RSI: 0000000000000029 RDI: 000000000000002e
[78406.341660] RBP: 0000000000000000 R08: 0000000000000003 R09: ffff9c41655038f0
[78406.346238] R10: 000000000000001f R11: ffff9c413e1f61ee R12: 0000000000002e30
[78406.348124] R13: 0000000000002e00 R14: 0000000000000002 R15: ffff9c4165503890
[78406.351018] FS:  00007fde01a1c740(0000) GS:ffff9c4165500000(0000) knlGS:0000000000000000
[78406.356923] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[78406.363536] CR2: 000055aa84341ec8 CR3: 000000007cee8002 CR4: 00000000003606e0
[78406.369647] Call Trace:
[78406.371385]  <IRQ>
[78406.372800]  tfw_h2_add_hdr_via+0xef/0x140 [tempesta_fw]
[78406.374991]  tfw_http_resp_cache_cb+0x4ac/0x5f0 [tempesta_fw]
[78406.376532]  ? __tfw_http_msg_add_str_data+0x5e/0x100 [tempesta_fw]
[78406.378624]  ? tfw_http_conn_drop+0x280/0x280 [tempesta_fw]
[78406.380504]  tfw_cache_process+0x72/0x2a0 [tempesta_fw]
[78406.385721]  ? tfw_gfsm_move+0x14b/0x180 [tempesta_fw]
[78406.393488]  ? kvm_clock_get_cycles+0x1a/0x20
[78406.397727]  tfw_http_resp_cache+0xe1/0x150 [tempesta_fw]
[78406.401197]  tfw_http_msg_process_generic+0x893/0xd10 [tempesta_fw]
[78406.406241]  ? ip_finish_output2+0x2be/0x3b0
[78406.408679]  ? pg_skb_alloc+0x253/0x470
[78406.410788]  tfw_http_msg_process+0x84/0xc0 [tempesta_fw]
[78406.413430]  __gfsm_fsm_exec+0x56/0x90 [tempesta_fw]
[78406.415835]  ? consume_skb+0x27/0x80
[78406.418778]  tfw_connection_recv+0x41/0x60 [tempesta_fw]
[78406.424415]  ? tfw_connection_send+0x30/0x30 [tempesta_fw]
[78406.428091]  ss_tcp_process_data+0x1ea/0x480 [tempesta_fw]
[78406.440355]  ? mod_timer+0xb0/0x3b0
[78406.441168]  ss_tcp_data_ready+0x43/0x90 [tempesta_fw]
[78406.442478]  tcp_rcv_established+0x4d2/0x570
[78406.443676]  tcp_v4_do_rcv+0x129/0x1d0
[78406.444619]  tcp_v4_rcv+0x947/0xa50
[78406.446035]  ip_local_deliver_finish+0x9a/0x1c0
[78406.447149]  ip_local_deliver+0x6b/0xe0
[78406.448230]  ? nf_hook_slow+0x43/0xc0
[78406.449447]  ip_rcv+0x289/0x3c0
[78406.450441]  ? inet_del_offload+0x40/0x40
[78406.451605]  __netif_receive_skb_core+0x84f/0xb30
[78406.453209]  ? tfw_wq_pop_ticket+0x7e/0xf0 [tempesta_fw]
[78406.456620]  ? process_backlog+0xa3/0x160
[78406.464121]  process_backlog+0xa3/0x160
[78406.467997]  net_rx_action+0x28e/0x3f0
[78406.471433]  __do_softirq+0x10f/0x2a8
[78406.473576]  do_softirq_own_stack+0x2a/0x40
[78406.476495]  </IRQ>
[78406.477463]  do_softirq.part.17+0x3d/0x50
[78406.479665]  __local_bh_enable_ip+0x55/0x60
[78406.480820]  ip_finish_output2+0x1b3/0x3b0
[78406.483415]  ? ip_output+0x71/0xe0
[78406.484672]  ip_output+0x71/0xe0
[78406.486736]  ? ip_queue_xmit+0x5c/0x3b0
[78406.489085]  tcp_transmit_skb+0x535/0x9c0
[78406.490854]  tcp_write_xmit+0x223/0x11c0
[78406.492331]  ? _copy_from_iter_full+0x93/0x230
[78406.493030]  __tcp_push_pending_frames+0x2d/0xd0
[78406.494068]  tcp_sendmsg_locked+0x68e/0xe60
[78406.495932]  tcp_sendmsg+0x27/0x40
[78406.497243]  sock_sendmsg+0x36/0x40
[78406.498259]  sock_write_iter+0x87/0x100
[78406.499226]  do_iter_readv_writev+0x11b/0x190
[78406.501233]  do_iter_write+0x80/0x190
[78406.502836]  vfs_writev+0x98/0x110
[78406.504009]  ? do_writev+0x5e/0xf0
[78406.505266]  do_writev+0x5e/0xf0
[78406.507133]  ? SyS_pread64+0x90/0xb0
[78406.509205]  do_syscall_64+0x8d/0x120
[78406.510761]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[78406.512833] RIP: 0033:0x7fde00354fe4
[78406.513707] RSP: 002b:00007ffcac2496f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000014
[78406.517015] RAX: ffffffffffffffda RBX: 00007fde019f02c8 RCX: 00007fde00354fe4
[78406.520071] RDX: 0000000000000001 RSI: 00007ffcac2497b0 RDI: 000000000000000b
[78406.526661] RBP: 000055bf73ed0cb8 R08: 000055bf73f4e460 R09: 00007ffcac2497b0
[78406.530225] R10: 000055bf73eb2d50 R11: 0000000000000246 R12: 00007ffcac249790
[78406.536453] R13: 000055bf7221548c R14: 000000007fffefff R15: 0000000000005db7
[78406.538593] Code: fb 7f 48 8d 42 05 0f 86 7b ff ff ff 89 de 48 c1 eb 07 48 83 c0 01 83 ce 80 83 c1 01 48 83 fb 7f 40 88 70 ff 77 e6 e9 5c ff ff ff <0f> 0b 48 8b 44 24 58 e9 08 f7 ff ff 41 89 dc e9 9a f0 ff ff 0f 
[78406.546574] ---[ end trace d2f49a8c8d368827 ]---
krizhanovsky commented 3 years ago

Tempesta config:

listen 192.168.100.4:443 proto=h2;
listen 192.168.100.4:80;

frang_limits {
    client_header_timeout 20;
    client_body_timeout 10;
    http_header_chunk_cnt 10;
    http_body_chunk_cnt 0;
    http_methods GET;
    http_uri_len 512;
    http_resp_code_block 400 403 404 3 10;
}

# Allow only following characters in URI (no '%'): /a-zA-Z0-9&?:-._=
http_uri_brange 0x2f 0x41-0x5a 0x61-0x7a 0x30-0x39 0x26 0x3f 0x3a 0x2d 0x2e 0x5f 0x3d;

block_action attack reply;
block_action error reply;

srv_group default {
    server 127.0.0.1:8080 conns_n=4;
}

vhost debian {
    tls_certificate /root/tempesta/etc/tfw-root.crt;
    tls_certificate_key /root/tempesta/etc/tfw-root.key;

    resp_hdr_set Strict-Transport-Security "max-age=31536000; includeSubDomains";

    proxy_pass default;
}

cache 0;
#cache_fulfill * *;

http_chain {
    -> debian;
}
krizhanovsky commented 2 years ago

Warnings on tfw_http_msg_process_generic() and tfw_http_msg_hdr_close() warnings raised in https://github.com/tempesta-tech/tempesta-test/pull/254

krizhanovsky commented 2 years ago

Warnings for tfw_http_msg_process_generic are covered by the disabled test https://github.com/tempesta-tech/tempesta-test/pull/296/files

s0nx commented 2 years ago

Found some more:

s0nx commented 2 years ago

I can't reproduce this one, but with the same config i've caught another warning.

[tempesta tls] Warning: [::ffff:192.168.122.1] ClientHello: bad extension size 281 (remaining extensions size 285)                                             
------------[ cut here ]------------                                                                                                                                                                                                                                                                                           
WARNING: CPU: 2 PID: 0 at /root/host/tempesta/tls/tls_srv.c:916 ttls_parse_client_hello.cold+0xeec/0x1012 [tempesta_tls]                                                                                                                                                                                                       
Modules linked in: tempesta_fw(OE) tempesta_db(OE) tempesta_tls(OE) tempesta_lib(OE) sha256_ssse3 sha512_ssse3 xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 ip6table_mangle ip6table_nat ip6table_filter ip6_tables iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_filter bridge stp llc qrtr ns rfkill sunrpc vfat fat kvm_intel kvm iTCO_wdt intel_pmc_bxt iTCO_vendor_support input_leds led_class irqbypass i2c_i801 i2c_smbus pcspkr virtiofs lpc_ich virtio_balloon fuse zram ip_tables crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel virtio_scsi serio_raw virtio_net virtio_
blk net_failover virtio_console failover qemu_fw_cfg ipmi_devintf ipmi_msghandler [last unloaded: tempesta_lib]                                                
CPU: 2 PID: 0 Comm: swapper/2 Tainted: G    B   W  OE     5.10.35+ #1                                                                                                                                                                                                                                                          
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015                                                                                      
RIP: 0010:ttls_parse_client_hello.cold+0xeec/0x1012 [tempesta_tls]                                                                                                                                                                                                                                                             
Code: 0f 0b e9 b7 f9 ff ff 89 14 24 e8 6a ea e8 c0 8b 14 24 e9 70 f8 ff ff 48 8d 75 38 44 89 e1 48 c7 c7 80 07 9a c0 e8 68 1a b0 c2 <0f> 0b e9 77 f1 ff ff 49 8d 74 24 38 48 c7 c7 20 26 9a c0 e8 50 1a
RSP: 0018:ffffc900001f7c40 EFLAGS: 00010286                                                                                                                    
RAX: 0000000000000072 RBX: 0000000000000119 RCX: 0000000000000000                                                                                              
RDX: 0000000000000027 RSI: 0000000000000004 RDI: fffff5200003ef7f                                                                                              
RBP: ffff88817eb60a00 R08: 0000000000000072 R09: ffff888149720a8b                                                                                              
R10: ffffed10292e4151 R11: 0000000000000001 R12: 000000000000011d                                                                                              
R13: ffff888037ad5bbf R14: 000000000000014c R15: ffff888128b014f0                                                                                              
FS:  0000000000000000(0000) GS:ffff888149700000(0000) knlGS:0000000000000000                                                                                   
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033                                                                                                              
CR2: 00007fc687e84660 CR3: 000000012c71e006 CR4: 0000000000770ee0                                                                                                                                                                                                                                                              
PKRU: 55555554                                                                                                                                                                                                                                                                                                                 
Call Trace:                                                                                                                                                                                                                                                                                                                    
 <IRQ>                                                                                                                                                                                                                                                                                                                         
 ? rgb_background+0xe2/0x140                                                                                                                                                                                                                                                                                                   
 ? desc_read_finalized_seq+0x100/0x100                                                                                                                         
 ? atomic_notifier_call_chain+0xa8/0xe0                                                                                                                        
 ttls_handshake_server_step+0xc19/0x41d0 [tempesta_tls]                                                                                                        
 ? prb_read_valid+0x56/0x70                                                                                                                                                                                                                                                                                                    
 ? ttls_write_server_key_exchange+0xf70/0xf70 [tempesta_tls]                                                                                                   
 ? up+0x17/0xc0                                                                                                                                                
 ? vprintk_store+0x1d3/0x420                                                                                                                                                                                                                                                                                                   
 ? _raw_spin_lock+0x6a/0xb0                                                                                                                                    
 ? irq_work_claim+0x16/0x60                                                                                                                                    
 ? irq_work_queue+0xb/0x30                                                                                                                                     
 ? vprintk_emit+0x1c6/0x310                                                                                                                                    
 ? printk+0x96/0xb2                                                                                                                                            
 ? record_print_text.cold+0x11/0x11                                                                                                                            
 ? hex_dump_to_buffer+0xa90/0xa90                                                                                                                                                                                                                                                                                              
 ? __dynamic_pr_debug+0xeb/0x130                                                                                                                               
 ? __dynamic_pr_debug+0xeb/0x130                                                                                                                               
 ? dynamic_emit_prefix+0x350/0x350                                                                                                                             
 ? nowork+0xc/0xc [sha512_ssse3]                                                                                                                               
 ? memcpy+0x39/0x60                                                                                                                                            
 ? sha512_update+0xcc/0x1c0 [sha512_ssse3]                                                                                                                                                                                                                                                                                     
 ? ttls_update_checksum+0x1b6/0x430 [tempesta_tls]                                                                                                             
 ttls_recv+0xb08/0x1e40 [tempesta_tls]                                                                                                                         
 ss_skb_process+0x393/0x570 [tempesta_fw]                                                                                                                      
 ? ttls_handle_alert+0x1b0/0x1b0 [tempesta_tls]                                                                                                                                                                                                                                                                                
 ? tfw_sock_srv_exit+0x30/0x30 [tempesta_fw]                                                                                                                                                                                                                                                                                   
 ? _raw_spin_lock+0x6a/0xb0                                                                                                                                    
 ? _raw_write_lock_irqsave+0xc0/0xc0                                                                                                                           
 ? _raw_write_unlock_bh+0x60/0x60                                                                                                                                                                                                                                                                                              
 tfw_tls_connection_recv+0x175/0xaa0 [tempesta_fw]                                                                                                                                                                                                                                                                             
 ? tfw_tls_connection_lost+0x30/0x30 [tempesta_fw]                                                                                                             
 ss_tcp_process_data+0x5ef/0xd80 [tempesta_fw]                                                                                                                 
 ? ss_conn_drop_guard_exit+0xd0/0xd0 [tempesta_fw]                                                                                                                                                                                                                                                                             
 ? tcp_grow_window+0xcb/0x700                                                                                                                                  
 ss_tcp_data_ready+0x141/0x280 [tempesta_fw]                                                                                                                   
 tcp_data_queue+0x1669/0x4cb0                                                                                                                                                                                                                                                                                                  
 ? tcp_data_ready+0x450/0x450                                                                                                                                                                                                                                                                                                  
 ? tcp_try_keep_open+0x2b0/0x2b0                                                                                                                               
 ? kvm_clock_get_cycles+0xd/0x10                                                                                                                               
 ? ktime_get+0x55/0xd0                                                                                                                                                                                                                                                                                                         
 ? tempesta_sock_tcp_rcv+0x8d/0xc0                                                                                                                                                                                                                                                                                             
 tcp_rcv_established+0x6ae/0x1d10                                                                                                                              
 ? tcp_data_queue+0x4cb0/0x4cb0                                                                                                                                
 tcp_v4_do_rcv+0x4fa/0x750                                                                                                                                     
 tcp_v4_rcv+0x2588/0x3530                                                                                                                                      
 ? nf_ct_deliver_cached_events+0xe4/0x410 [nf_conntrack]                                                                                                       
 ? tcp_v4_early_demux+0x790/0x790                                                                                                                                                                                                                                                                                              
 ip_protocol_deliver_rcu+0x6a/0x550                                                                                                                            
 ? nf_confirm+0x340/0x340 [nf_conntrack]                                                                                                                       
 ip_local_deliver_finish+0x1a4/0x250                                                                                                                           
 ip_local_deliver+0x246/0x2a0                                                                                                                                  
 ? ip_local_deliver_finish+0x250/0x250                                                                                                                                                                                                                                                                                         
 ? ip_protocol_deliver_rcu+0x550/0x550                                                                                                                         
 ip_sublist_rcv_finish+0x11f/0x1b0                                                                                                                                                                                                                                                                                             
 ip_sublist_rcv+0x3e5/0x630                                                                                                                                    
 ? ip_rcv_core+0xa70/0xa70                                                                                                                                                                                                                                                                                                     
 ? ip_rcv_finish_core.constprop.0+0x18a0/0x18a0                                                                                                                
 ip_list_rcv+0x293/0x3b0                                                                                                                                       
 ? ip_rcv+0x180/0x180                                                                                                                                          
 ? memset+0x20/0x40                                                                                                                                                                                                                                                                                                            
 __netif_receive_skb_list_core+0x61d/0x8b0                                                                                                                                                                                                                                                                                     
 ? page_to_skb+0x6c6/0x9f0 [virtio_net]                                                                                                                                                                                                                                                                                        
 ? __netif_receive_skb_core.constprop.0+0x3050/0x3050                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 ? gro_normal_one+0x56/0x220                                                                                                                                   
 ? napi_gro_receive+0x23c/0x2a0                                                                                                                                
 ? receive_buf+0xb68/0x57f0 [virtio_net]                                                                                                                       
 netif_receive_skb_list_internal+0x5d7/0xc10                                                                                                                   
 ? __netif_receive_skb_list_core+0x8b0/0x8b0                                                                                                                   
 ? page_to_skb+0x9f0/0x9f0 [virtio_net]                                                                                                                        
 napi_complete_done+0x188/0x5d0                                                                                                                                                                                                                                                                                                
 virtqueue_napi_complete+0x2b/0x80 [virtio_net]                                                                                                                                                                                                                                                                                
 virtnet_poll+0x90c/0xc81 [virtio_net]                                                                                                                                                                                                                                                                                         
 ? receive_buf+0x57f0/0x57f0 [virtio_net]                                                                                                                      
 ? kvm_sched_clock_read+0xd/0x20                                                                                                                                                                                                                                                                                               
 ? sched_clock+0x5/0x10                                                                                                                                        
 ? sched_clock_cpu+0x18/0x160                                                                                                                                                                                                                                                                                                  
 net_rx_action+0x37c/0xbc0                                                                                                                                     
 ? rcu_accelerate_cbs+0x61/0x510                                                                                                                               
 ? napi_complete_done+0x5d0/0x5d0                                                                                                                              
 __do_softirq+0x1a6/0x5ab                                                                                                                                      
 asm_call_irq_on_stack+0xf/0x20                                                                                                                                
 </IRQ>                                                                                                                                                        
 do_softirq_own_stack+0x37/0x40                                                                                                                                
 irq_exit_rcu+0x1ad/0x260                                                                                                                                      
 sysvec_apic_timer_interrupt+0x33/0x80                                                                                                                         
 asm_sysvec_apic_timer_interrupt+0x12/0x20                                                                                                                                                                                                                                                                                     
RIP: 0010:native_safe_halt+0xe/0x10                                                                                                                                                                                                                                                                                            
Code: ff ff ff 4c 89 e7 e8 b1 29 2b fe e9 ed fe ff ff 48 89 ef e8 a4 29 2b fe eb a3 cc cc e9 07 00 00 00 0f 00 2d c4 f7 4d 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d b4 f7 4d 00 f4 c3 cc cc 0f 1f 44 00
RSP: 0018:ffffc90000127e28 EFLAGS: 00000206                                                                                                                                                                                                                                                                                    
RAX: ffffffff835702f0 RBX: ffff888120ab5080 RCX: ffffffff8354ee5d                                                                                                                                                                                                                                                              
RDX: 0000000000000002 RSI: 0000000000000004 RDI: ffff888149732f80                                                                                              
RBP: ffffed1024156a10 R08: 0000000000000001 R09: ffff888149732f83                                                                                              
R10: ffffed10292e65f0 R11: 0000000000000001 R12: 0000000000000002                                                                                              
R13: ffffffff84ce0e20 R14: 0000000000000000 R15: dffffc0000000000                                                                                                                                                                                                                                                              
 ? __sched_text_end+0x7/0x7                                                                                                                                    
 ? rcu_eqs_enter.constprop.0+0x7d/0xa0                                                                                                                         
 default_idle+0xa/0x10                                                                                                                                                                                                                                                                                                         
 default_idle_call+0x74/0x1f0                                                                                                                                  
 do_idle+0x3bd/0x550                                                                                                                                           
 ? arch_cpu_idle_exit+0x40/0x40                                                                                                                                
 cpu_startup_entry+0x19/0x20                                                                                                                                   
 start_secondary+0x22b/0x2d0                                                                                                                                   
 ? set_cpu_sibling_map+0x21e0/0x21e0                                                                                                                           
 ? start_cpu0+0xc/0xc                                                                                                                                                                                                                                                                                                          
 secondary_startup_64_no_verify+0xc2/0xcb                                                                                                                      
---[ end trace 321d13b12076d1c7 ]---                                                                                                                           
[tempesta tls]   send alert level=2 message=50          
s0nx commented 2 years ago

Created the separate issue #1713 for it.

s0nx commented 2 years ago
[  362.596229] [tempesta fw]   tfw_h2_parse_req_hdr: fin=1, len=15, data="6331593c-3cd1", req=[00000000529c3f7d]
[  362.596236] [tempesta fw]       enter FSM at state 0000000000000000
[  362.596245] [tempesta fw]       parser at Req_HdrIf_None_MatchV: c=0x22("), p_off=0
[  362.596256] [tempesta fw]       enter FSM at state 000000000884cb17
[  362.596263] [tempesta fw]       parser at I_GMT: c=0x20( ), p_off=-81543651
[  362.596278] BUG: kernel NULL pointer dereference, address: 000000000000000f
[  362.596288] #PF: supervisor instruction fetch in kernel mode
[  362.596293] #PF: error_code(0x0010) - not-present page
[  362.596297] PGD 0 P4D 0
[  362.596304] Oops: 0010 [#1] SMP KASAN NOPTI
[  362.596309] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G           OE     5.10.35+ #1
[  362.596313] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[  362.596319] RIP: 0010:0xf
[  362.596325] Code: Unable to access opcode bytes at RIP 0xffffffffffffffe5.
[  362.596329] RSP: 0018:ffffc9000024fad0 EFLAGS: 00010282
[  362.596334] RAX: 00000000fffffffe RBX: 0000000000000022 RCX: 0000000000000000
[  362.596337] RDX: 0000000000000020 RSI: 0000000000000000 RDI: ffff88812a302798
[  362.596341] RBP: ffff88812a302778 R08: 0000000000000001 R09: ffff88812a302778
[  362.596344] R10: ffffed10254604f2 R11: 0000000000000001 R12: 0000000000000000
[  362.596348] R13: ffff88812fa3e203 R14: ffffffffc0bd8e5a R15: ffff88812ac7a020
[  362.596352] FS:  0000000000000000(0000) GS:ffff888149780000(0000) knlGS:0000000000000000
[  362.596357] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  362.596360] CR2: ffffffffffffffe5 CR3: 000000017f016004 CR4: 0000000000770ee0
[  362.596374] PKRU: 55555554
[  362.596377] Call Trace:
[  362.596380]  <IRQ>
[  362.596424]  ? tfw_hpack_decode+0x17f6/0x7850 [tempesta_fw]
[  362.596462]  ? tfw_h2_parse_req+0x448/0x8a0 [tempesta_fw]
[  362.596499]  ? ss_skb_process+0x393/0x570 [tempesta_fw]
[  362.596534]  ? tfw_http_parse_req+0x398a0/0x398a0 [tempesta_fw]
[  362.596542]  ? irq_work_queue+0x1a/0x30
[  362.596578]  ? tfw_sock_srv_exit+0x30/0x30 [tempesta_fw]
[  362.596612]  ? tfw_http_req_process+0x1da/0x15a0 [tempesta_fw]
[  362.596646]  ? tfw_http_req_cache_cb+0x17e0/0x17e0 [tempesta_fw]
[  362.596652]  ? dynamic_emit_prefix+0x350/0x350
[  362.596657]  ? alloc_pages_current+0x132/0x210
[  362.596661]  ? __get_free_pages+0x11/0xa0
[  362.596693]  ? __tfw_pool_new+0x25/0x180 [tempesta_fw]
[  362.596725]  ? tfw_http_msg_process_generic+0x883/0x1380 [tempesta_fw]
[  362.596757]  ? tfw_h2_frame_local_resp+0x90/0x90 [tempesta_fw]
[  362.596790]  ? ss_skb_chop_head_tail+0x34e/0x790 [tempesta_fw]
[  362.596824]  ? ss_skb_expand_head_tail+0x2e0/0x2e0 [tempesta_fw]
[  362.596857]  ? ss_skb_split+0x32f/0x480 [tempesta_fw]
[  362.596888]  ? tfw_h2_frame_process+0x3d1/0x12a0 [tempesta_fw]
[  362.596919]  ? tfw_h2_stream_id_close+0x3a0/0x3a0 [tempesta_fw]
[  362.596950]  ? tfw_connection_recv+0x102/0x1e0 [tempesta_fw]
[  362.596983]  ? tfw_tls_connection_recv+0x4d9/0xa30 [tempesta_fw]
[  362.597015]  ? ss_skb_unroll+0x9bd/0xeb0 [tempesta_fw]
[  362.597048]  ? tfw_tls_connection_lost+0x30/0x30 [tempesta_fw]
[  362.597081]  ? ss_tcp_process_data+0x5ef/0xd80 [tempesta_fw]
[  362.597087]  ? deref_stack_reg+0xcf/0x170
[  362.597119]  ? ss_conn_drop_guard_exit+0xd0/0xd0 [tempesta_fw]
[  362.597125]  ? secondary_startup_64_no_verify+0xc2/0xcb
[  362.597158]  ? ss_tcp_data_ready+0x141/0x280 [tempesta_fw]
[  362.597164]  ? tcp_data_queue+0x1669/0x4cb0
[  362.597167]  ? tcp_reset+0x1d0/0x1d0
[  362.597171]  ? tcp_data_ready+0x450/0x450
[  362.597174]  ? tcp_try_keep_open+0x2b0/0x2b0
[  362.597178]  ? kvm_clock_get_cycles+0xd/0x10
[  362.597183]  ? ktime_get+0x55/0xd0
[  362.597187]  ? tempesta_sock_tcp_rcv+0x8d/0xc0
[  362.597191]  ? tcp_rcv_established+0x6ae/0x1d10
[  362.597196]  ? sk_filter_trim_cap+0x2cb/0x710
[  362.597200]  ? tcp_data_queue+0x4cb0/0x4cb0
[  362.597204]  ? tcp_v4_do_rcv+0x4fa/0x750
[  362.597207]  ? tcp_v4_rcv+0x2588/0x3530
[  362.597220]  ? nf_ct_deliver_cached_events+0xe4/0x410 [nf_conntrack]
[  362.597225]  ? __inet_lookup_established+0x27e/0x4d0
[  362.597229]  ? tcp_v4_early_demux+0x790/0x790
[  362.597233]  ? ip_protocol_deliver_rcu+0x6a/0x550
[  362.597242]  ? nf_confirm+0x340/0x340 [nf_conntrack]
[  362.597246]  ? ip_local_deliver_finish+0x1a4/0x250
[  362.597251]  ? ip_local_deliver+0x246/0x2a0
[  362.597254]  ? ip_local_deliver_finish+0x250/0x250
[  362.597258]  ? ip_rcv_finish_core.constprop.0+0x2e9/0x18a0
[  362.597262]  ? ip_protocol_deliver_rcu+0x550/0x550
[  362.597266]  ? ip_rcv+0x15a/0x180
[  362.597270]  ? ip_local_deliver+0x2a0/0x2a0
[  362.597273]  ? secondary_startup_64_no_verify+0xc2/0xcb
[  362.597277]  ? ip_rcv_finish_core.constprop.0+0x18a0/0x18a0
[  362.597282]  ? get_stack_info+0x30/0x90
[  362.597287]  ? __netif_receive_skb_core.constprop.0+0xdd9/0x3050
[  362.597291]  ? deref_stack_reg+0xcf/0x170
[  362.597295]  ? generic_xdp_tx+0x410/0x410
[  362.597300]  ? update_sd_lb_stats.constprop.0+0x375/0x2cc0
[  362.597306]  ? inet_gro_receive+0x9fb/0x11d0
[  362.597310]  ? memset+0x20/0x40
[  362.597313]  ? __netif_receive_skb_list_core+0x2cf/0x8b0
[  362.597320]  ? page_to_skb+0x69b/0x9f0 [virtio_net]
[  362.597324]  ? __netif_receive_skb_core.constprop.0+0x3050/0x3050
[  362.597328]  ? gro_normal_one+0x56/0x220
[  362.597332]  ? napi_gro_receive+0x23c/0x2a0
[  362.597336]  ? receive_buf+0xb68/0x57f0 [virtio_net]
[  362.597340]  ? netif_receive_skb_list_internal+0x5d7/0xc10
[  362.597344]  ? __netif_receive_skb_list_core+0x8b0/0x8b0
[  362.597349]  ? page_to_skb+0x9f0/0x9f0 [virtio_net]
[  362.597383]  ? tfw_apm_prcntl_tmfn+0xcc2/0x1640 [tempesta_fw]
[  362.597388]  ? napi_complete_done+0x188/0x5d0
[  362.597393]  ? virtqueue_napi_complete+0x2b/0x80 [virtio_net]
[  362.597398]  ? virtnet_poll+0x90c/0xc81 [virtio_net]
[  362.597403]  ? receive_buf+0x57f0/0x57f0 [virtio_net]
[  362.597408]  ? net_rx_action+0x37c/0xbc0
[  362.597412]  ? napi_complete_done+0x5d0/0x5d0
[  362.597416]  ? sched_clock_cpu+0x18/0x160
[  362.597421]  ? __do_softirq+0x1a6/0x5ab
[  362.597426]  ? handle_edge_irq+0x35e/0xb60
[  362.597431]  ? asm_call_irq_on_stack+0xf/0x20
[  362.597433]  </IRQ>
[  362.597437]  ? do_softirq_own_stack+0x37/0x40
[  362.597442]  ? irq_exit_rcu+0x1ad/0x260
[  362.597446]  ? common_interrupt+0x71/0x110
[  362.597450]  ? asm_common_interrupt+0x1e/0x40
[  362.597454]  ? __sched_text_end+0x7/0x7
[  362.597458]  ? rcu_eqs_enter.constprop.0+0x7d/0xa0
[  362.597462]  ? native_safe_halt+0xe/0x10
[  362.597466]  ? default_idle+0xa/0x10
[  362.597470]  ? default_idle_call+0x74/0x1f0
[  362.597474]  ? do_idle+0x3bd/0x550
[  362.597478]  ? arch_cpu_idle_exit+0x40/0x40
[  362.597481]  ? cpu_startup_entry+0x19/0x20
[  362.597485]  ? start_secondary+0x22b/0x2d0
[  362.597489]  ? set_cpu_sibling_map+0x21e0/0x21e0
[  362.597493]  ? start_cpu0+0xc/0xc
[  362.597496]  ? secondary_startup_64_no_verify+0xc2/0xcb
[  362.597500] Modules linked in: tempesta_fw(OE) tempesta_db(OE) sha256_ssse3 sha512_ssse3 tempesta_tls(OE) tempesta_lib(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 ip6tab
le_mangle ip6table_nat ip6table_filter ip6_tables iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_filter bridge stp llc qrtr ns rfkill sunrpc vfat fat kvm_intel
 kvm iTCO_wdt intel_pmc_bxt iTCO_vendor_support irqbypass virtiofs input_leds lpc_ich pcspkr i2c_i801 led_class i2c_smbus virtio_balloon fuse zram ip_tables crct10dif_pclmul crc32_pclmul crc32c_int
el virtio_net ghash_clmulni_intel serio_raw virtio_scsi net_failover failover virtio_console virtio_blk qemu_fw_cfg ipmi_devintf ipmi_msghandler
[  362.597590] CR2: 000000000000000f
[  362.597598] ---[ end trace d3e017451f69f5c6 ]---
[  362.597602] RIP: 0010:0xf
[  362.597607] Code: Unable to access opcode bytes at RIP 0xffffffffffffffe5.
[  362.597611] RSP: 0018:ffffc9000024fad0 EFLAGS: 00010282
[  362.597615] RAX: 00000000fffffffe RBX: 0000000000000022 RCX: 0000000000000000
[  362.597622] RDX: 0000000000000020 RSI: 0000000000000000 RDI: ffff88812a302798
[  362.597625] RBP: ffff88812a302778 R08: 0000000000000001 R09: ffff88812a302778
[  362.597628] R10: ffffed10254604f2 R11: 0000000000000001 R12: 0000000000000000
[  362.597632] R13: ffff88812fa3e203 R14: ffffffffc0bd8e5a R15: ffff88812ac7a020
[  362.597637] FS:  0000000000000000(0000) GS:ffff888149780000(0000) knlGS:0000000000000000
[  362.597640] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  362.597643] CR2: ffffffffffffffe5 CR3: 000000017f016004 CR4: 0000000000770ee0
[  362.597657] PKRU: 55555554
[  362.597661] Kernel panic - not syncing: Fatal exception in interrupt
[  362.597771] Kernel Offset: disabled
[  362.597780] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
gef➤
s0nx commented 2 years ago

Unfortunately, i wasn't able to reproduce the following issues: