Re: [PATCH v2 1/1] xfrm : lock input tasklet skb queue

From: Joerg Vehlow
Date: Fri Oct 25 2019 - 06:15:05 EST


Now that I look back at my mail, you are right, I did not say anything
about rt, my bad. But maybe you could add too the rt patches website, that
an RT tag has to be added.

@Tom Rix, will you resend the patch? You may also add the information,
that I found the bug running the ipsec_stress ltp tests. Generating any
ipsec traffic (maybe concurrent) should be sufficient.

Here is one of the oops logs I still have:

[Â 139.717259] BUG: unable to handle kernel NULL pointer dereference at 0000000000000518
[Â 139.717260] PGD 0 P4D 0
[Â 139.717262] Oops: 0000 [#1] PREEMPT SMP PTI
[Â 139.717273] CPU: 2 PID: 11987 Comm: netstress Not tainted 4.19.59-rt24-preemt-rt #1
[Â 139.717274] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org 04/01/2014
[Â 139.717306] RIP: 0010:xfrm_trans_reinject+0x97/0xd0
[Â 139.717307] Code: 42 eb 45 83 6d b0 01 31 f6 48 8b 42 08 48 c7 42 08 00 00 00 00 48 8b 0a 48 c7 02 00 00 00 00 48 89 41 08 48 89 08 48 8b 42 10 <48> 8b b8 18 05 00 00 48 8b 42 40 e8 d9 e1 4b 00 48 8b 55 a0 48 39
[Â 139.717307] RSP: 0018:ffffc900007b37e8 EFLAGS: 00010246
[Â 139.717308] RAX: 0000000000000000 RBX: ffffc900007b37e8 RCX: ffff88807db206a8
[Â 139.717309] RDX: ffff88807db206a8 RSI: 0000000000000000 RDI: 0000000000000000
[Â 139.717309] RBP: ffffc900007b3848 R08: 0000000000000001 R09: ffffc900007b35c8
[Â 139.717309] R10: ffffea0001dcfc00 R11: 00000000000890c4 R12: ffff88807db20680
[Â 139.717310] R13: 00000000000f4240 R14: 0000000000000000 R15: 0000000000000000
[Â 139.717310] FS:Â 00007f4643034700(0000) GS:ffff88807db00000(0000) knlGS:0000000000000000
[Â 139.717311] CS:Â 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Â 139.717337] CR2: 0000000000000518 CR3: 00000000769c6000 CR4: 00000000000006e0
[Â 139.717350] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[Â 139.717350] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[Â 139.717350] Call Trace:
[Â 139.717387]Â tasklet_action_common.isra.18+0x6d/0xd0
[Â 139.717388]Â tasklet_action+0x1d/0x20
[Â 139.717389]Â do_current_softirqs+0x196/0x360
[Â 139.717390]Â __local_bh_enable+0x51/0x60
[Â 139.717397]Â ip_finish_output2+0x18b/0x3f0
[Â 139.717408]Â ? task_rq_lock+0x53/0xe0
[Â 139.717415]Â ip_finish_output+0xbe/0x1b0
[Â 139.717416]Â ip_output+0x72/0x100
[Â 139.717422]Â ? ipcomp_output+0x5e/0x280
[Â 139.717424]Â xfrm_output_resume+0x4b5/0x540
[Â 139.717436]Â ? refcount_dec_and_test_checked+0x11/0x20
[Â 139.717443]Â ? kfree_skbmem+0x33/0x80
[Â 139.717444]Â xfrm_output+0xd7/0x110
[Â 139.717451]Â xfrm4_output_finish+0x2b/0x30
[Â 139.717452]Â __xfrm4_output+0x3a/0x50
[Â 139.717453]Â xfrm4_output+0x40/0xe0
[Â 139.717454]Â ? xfrm_dst_check+0x174/0x250
[Â 139.717455]Â ? xfrm4_output+0x40/0xe0
[Â 139.717456]Â ? xfrm_dst_check+0x174/0x250
[Â 139.717457]Â ip_local_out+0x3b/0x50
[Â 139.717458]Â __ip_queue_xmit+0x16b/0x420
[Â 139.717464]Â ip_queue_xmit+0x10/0x20
[Â 139.717466]Â __tcp_transmit_skb+0x566/0xad0
[Â 139.717467]Â tcp_write_xmit+0x3a4/0x1050
[Â 139.717468]Â __tcp_push_pending_frames+0x35/0xe0
[Â 139.717469]Â tcp_push+0xdb/0x100
[Â 139.717469]Â tcp_sendmsg_locked+0x491/0xd70
[Â 139.717470]Â tcp_sendmsg+0x2c/0x50
[Â 139.717476]Â inet_sendmsg+0x3e/0xf0
[Â 139.717483]Â sock_sendmsg+0x3e/0x50
[Â 139.717484]Â __sys_sendto+0x114/0x1a0
[Â 139.717491]Â ? __rt_mutex_unlock+0xe/0x10
[Â 139.717492]Â ? _mutex_unlock+0xe/0x10
[Â 139.717500]Â ? ksys_write+0xc5/0xe0
[Â 139.717501]Â __x64_sys_sendto+0x28/0x30
[Â 139.717503]Â do_syscall_64+0x4d/0x110
[Â 139.717504]Â entry_SYSCALL_64_after_hwframe+0x44/0xa9

Am 25.10.2019 um 11:47 schrieb Sebastian Andrzej Siewior:
On 2019-10-25 11:37:59 [+0200], Joerg Vehlow wrote:
Hi,

I always expected this to be applied to the RT patches. That's why
I originally send my patch to to Sebastian, Thomas and Steven (I added
them again now. The website of the rt patches says patches for the
CONFIG_REEMPT_RT patchset should be send to lkml.

I hope one of the rt patch maintainers will reply here.
I've seen the first patch and it was not mentioned that it was RT
related so I did not pay any attention to it.
Please repost your v2, please add RT next to patch, please state the RT
version and the actual problem and I take a look.

JÃrg
Sebastian