One more thing to add to this, when working with another bpf filter which is 
relatively similar to this simple one (although has some more innocuous looking 
code like map lookups and read-only operations on the skb) sometimes the 
attached is suddenly and repeatedly sent to both syslog and kern.log until the 
disk fills up...

Aug 12 09:57:25 ubuntu kernel: [ 2408.152975] WARNING: CPU: 3 PID: 2304 at 
/home/a/src/sch_cake/sch_cake.c:2094 cake_dequeue+0x791/0xc70 [sch_cake]
Aug 12 09:57:25 ubuntu kernel: [ 2408.152975] Modules linked in: sch_cake(OE) 
nf_conntrack cls_bpf algif_hash af_alg binfmt_misc vmw_balloon btusb btrtl 
btbcm btintel bluetooth uvcvideo joydev input_leds videobuf2_vmalloc 
videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media ecdh_generic 
intel_rapl_perf snd_ens1371 serio_raw snd_ac97_codec gameport snd_rawmidi 
snd_seq_device ac97_bus snd_pcm snd_timer snd soundcore shpchp mac_hid 
sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp 
libiscsi scsi_transport_iscsi vmw_vsock_vmci_transport vsock vmw_vmci ip_tables 
x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov 
async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 
multipath linear hid_generic usbhid hid crct10dif_pclmul crc32_pclmul 
ghash_clmulni_intel pcbc aesni_intel
Aug 12 09:57:25 ubuntu kernel: [ 2408.152997]  aes_x86_64 crypto_simd 
glue_helper cryptd vmwgfx ttm psmouse drm_kms_helper syscopyarea sysfillrect 
sysimgblt e1000 fb_sys_fops ahci mptspi drm mptscsih libahci mptbase 
scsi_transport_spi i2c_piix4 pata_acpi
Aug 12 09:57:25 ubuntu kernel: [ 2408.153004] CPU: 3 PID: 2304 Comm: sshd 
Tainted: G        W  OE    4.15.0-30-generic #32-Ubuntu
Aug 12 09:57:25 ubuntu kernel: [ 2408.153004] Hardware name: VMware, Inc. 
VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/19/2017
Aug 12 09:57:25 ubuntu kernel: [ 2408.153006] RIP: 
0010:cake_dequeue+0x791/0xc70 [sch_cake]
Aug 12 09:57:25 ubuntu kernel: [ 2408.153006] RSP: 0018:ffffadf9c11df8a0 
EFLAGS: 00010282
Aug 12 09:57:25 ubuntu kernel: [ 2408.153007] RAX: 000000000000fffd RBX: 
ffff94c0747331b0 RCX: 000000000000fffd
Aug 12 09:57:25 ubuntu kernel: [ 2408.153008] RDX: 0000000000000000 RSI: 
000000000000fffd RDI: ffff94c1796df9b0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153008] RBP: ffffadf9c11df8f8 R08: 
0000000054bc4e6d R09: 0000000000000000
Aug 12 09:57:25 ubuntu kernel: [ 2408.153009] R10: 0000000000000000 R11: 
0000000000000001 R12: 00000227839cc5b1
Aug 12 09:57:25 ubuntu kernel: [ 2408.153009] R13: ffff94c0747331c0 R14: 
ffff94c1718b0000 R15: 0000000000000000
Aug 12 09:57:25 ubuntu kernel: [ 2408.153010] FS:  00007faa37446900(0000) 
GS:ffff94c1796c0000(0000) knlGS:0000000000000000
Aug 12 09:57:25 ubuntu kernel: [ 2408.153011] CS:  0010 DS: 0000 ES: 0000 CR0: 
0000000080050033
Aug 12 09:57:25 ubuntu kernel: [ 2408.153012] CR2: 00007fff85e71058 CR3: 
00000000b1436002 CR4: 00000000000606e0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153015] Call Trace:
Aug 12 09:57:25 ubuntu kernel: [ 2408.153016]  __qdisc_run+0x61/0x320
Aug 12 09:57:25 ubuntu kernel: [ 2408.153018]  __dev_queue_xmit+0x2ab/0x7d0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153019]  dev_queue_xmit+0x10/0x20
Aug 12 09:57:25 ubuntu kernel: [ 2408.153021]  ? dev_queue_xmit+0x10/0x20
Aug 12 09:57:25 ubuntu kernel: [ 2408.153022]  ip_finish_output2+0x263/0x3c0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153024]  ip_finish_output+0x198/0x260
Aug 12 09:57:25 ubuntu kernel: [ 2408.153025]  ? ip_finish_output+0x198/0x260
Aug 12 09:57:25 ubuntu kernel: [ 2408.153027]  ip_output+0x70/0xe0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153028]  ip_local_out+0x3b/0x50
Aug 12 09:57:25 ubuntu kernel: [ 2408.153030]  ip_queue_xmit+0x160/0x3e0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153031]  ? memcg_kmem_charge+0x7e/0xe0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153033]  tcp_transmit_skb+0x56a/0xa70
Aug 12 09:57:25 ubuntu kernel: [ 2408.153034]  tcp_write_xmit+0x1c7/0xf40
Aug 12 09:57:25 ubuntu kernel: [ 2408.153036]  ? __alloc_skb+0x9b/0x1e0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153037]  
__tcp_push_pending_frames+0x35/0xd0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153038]  tcp_push+0xe4/0x110
Aug 12 09:57:25 ubuntu kernel: [ 2408.153039]  tcp_sendmsg_locked+0xb6e/0xe70
Aug 12 09:57:25 ubuntu kernel: [ 2408.153041]  tcp_sendmsg+0x2c/0x50
Aug 12 09:57:25 ubuntu kernel: [ 2408.153042]  inet_sendmsg+0x2e/0xb0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153043]  sock_sendmsg+0x3e/0x50
Aug 12 09:57:25 ubuntu kernel: [ 2408.153045]  sock_write_iter+0x8c/0xf0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153046]  new_sync_write+0xe7/0x140
Aug 12 09:57:25 ubuntu kernel: [ 2408.153048]  __vfs_write+0x29/0x40
Aug 12 09:57:25 ubuntu kernel: [ 2408.153050]  vfs_write+0xb1/0x1a0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153051]  SyS_write+0x55/0xc0
Aug 12 09:57:25 ubuntu kernel: [ 2408.153052]  do_syscall_64+0x73/0x130
Aug 12 09:57:25 ubuntu kernel: [ 2408.153054]  
entry_SYSCALL_64_after_hwframe+0x3d/0xa2
Aug 12 09:57:25 ubuntu kernel: [ 2408.153054] RIP: 0033:0x7faa352a9154
Aug 12 09:57:25 ubuntu kernel: [ 2408.153055] RSP: 002b:00007fff85e75188 
EFLAGS: 00000246 ORIG_RAX: 0000000000000001
Aug 12 09:57:25 ubuntu kernel: [ 2408.153056] RAX: ffffffffffffffda RBX: 
000000000000006c RCX: 00007faa352a9154
Aug 12 09:57:25 ubuntu kernel: [ 2408.153056] RDX: 000000000000006c RSI: 
000055a21c87a290 RDI: 0000000000000003
Aug 12 09:57:25 ubuntu kernel: [ 2408.153057] RBP: 000055a21c87d560 R08: 
0000000000000000 R09: 0000000000000100
Aug 12 09:57:25 ubuntu kernel: [ 2408.153057] R10: 00007fff85e75100 R11: 
0000000000000246 R12: 0000000000000000
Aug 12 09:57:25 ubuntu kernel: [ 2408.153058] R13: 000055a21c866ad0 R14: 
0000000000000003 R15: 00007fff85e7520f
Aug 12 09:57:25 ubuntu kernel: [ 2408.153059] Code: ff 80 fa 06 75 1b 48 63 55 
a8 0f b7 c8 48 8d 14 52 0f b7 b4 93 0a 68 01 00 66 39 c6 0f 43 ce 89 c8 66 3d 
00 04 0f 86 70 fb ff ff <0f> 0b 41 8b 7d 10 85 ff 0f 8f 6e fb ff ff 0f b7 c0 44 
0f b7 bb 
Aug 12 09:57:25 ubuntu kernel: [ 2408.153079] ---[ end trace 9274605666353433 
]---


> On Aug 12, 2018, at 10:17 AM, Pete Heist <[email protected]> wrote:
> 
> I’m seeing a panic (or infinite loop, not sure) when using Cake (not fq_codel 
> or sfq) with a simple bpf filter that just sets skb->tc_classid to a fixed 
> value. I haven’t investigated further yet, but since I’m away from the 
> computer more these days I thought it better to post what I have so far in 
> case someone wants to look at it.
> 
> The attached contains the code and setup script I’m using and a README.txt 
> with instructions on how to reproduce it and some more notes. Be prepared 
> that it’s something I’m doing wrong. :) However, I also probably shouldn’t be 
> able to cause this to happen this easily either, regardless of where the 
> actual issue is...
> 
> Pete
> <simple-bpf.tgz>

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to