* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
@ 2020-05-15 10:39 Richard Palethorpe
2020-05-15 11:48 ` Cyril Hrubis
2020-05-15 11:56 ` Petr Vorel
0 siblings, 2 replies; 8+ messages in thread
From: Richard Palethorpe @ 2020-05-15 10:39 UTC (permalink / raw)
To: ltp
Raw sockets receive all packets from all interfaces as soon as they are
created. They don't need to be bound to one or more interfaces like I thought.
This creates the socket with a NULL packet type which appears to be unused in
the Linux kernel and receives no packets. The protocol is then changed to
ETH_P_ALL when binding to the netdevice we are interested in.
I assume it is impossible for a packet to have zero for its packet type. Most
likely using ETH_P_LOOP would have been OK too, but I suppose that is really
used by some hardware.
This also fixes various other problems that have been observed with this
test. Such as memory allocation failures.
Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
Cc: Jan Stancek <jstancek@redhat.com>
---
Another day, another patch for pty04.
testcases/kernel/pty/pty04.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testcases/kernel/pty/pty04.c b/testcases/kernel/pty/pty04.c
index d574d8b2c..4adf2cbb7 100644
--- a/testcases/kernel/pty/pty04.c
+++ b/testcases/kernel/pty/pty04.c
@@ -206,7 +206,7 @@ static void open_netdev(const struct ldisc_info *ldisc)
SAFE_IOCTL(pts, SIOCGIFNAME, ifreq.ifr_name);
tst_res(TINFO, "Netdev is %s", ifreq.ifr_name);
- sk = SAFE_SOCKET(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
+ sk = SAFE_SOCKET(PF_PACKET, SOCK_RAW, 0);
ifreq.ifr_mtu = ldisc->mtu;
if (ioctl(sk, SIOCSIFMTU, &ifreq))
--
2.26.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 10:39 [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces Richard Palethorpe
@ 2020-05-15 11:48 ` Cyril Hrubis
2020-05-15 12:18 ` Jan Stancek
2020-05-15 11:56 ` Petr Vorel
1 sibling, 1 reply; 8+ messages in thread
From: Cyril Hrubis @ 2020-05-15 11:48 UTC (permalink / raw)
To: ltp
Hi!
Sounds reasonable, also hope it's the last patch. :-)
@Jan do you want to test this as well, or should I apply and proceed
with the release?
--
Cyril Hrubis
chrubis@suse.cz
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 10:39 [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces Richard Palethorpe
2020-05-15 11:48 ` Cyril Hrubis
@ 2020-05-15 11:56 ` Petr Vorel
1 sibling, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15 11:56 UTC (permalink / raw)
To: ltp
Hi,
> Raw sockets receive all packets from all interfaces as soon as they are
> created. They don't need to be bound to one or more interfaces like I thought.
> This creates the socket with a NULL packet type which appears to be unused in
> the Linux kernel and receives no packets. The protocol is then changed to
> ETH_P_ALL when binding to the netdevice we are interested in.
> I assume it is impossible for a packet to have zero for its packet type. Most
> likely using ETH_P_LOOP would have been OK too, but I suppose that is really
> used by some hardware.
> This also fixes various other problems that have been observed with this
> test. Such as memory allocation failures.
So we have lost a potential CVE reproducer :).
Thanks for the fix.
Kind regards,
Petr
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 11:48 ` Cyril Hrubis
@ 2020-05-15 12:18 ` Jan Stancek
2020-05-15 12:37 ` Jan Stancek
2020-05-15 13:00 ` Petr Vorel
0 siblings, 2 replies; 8+ messages in thread
From: Jan Stancek @ 2020-05-15 12:18 UTC (permalink / raw)
To: ltp
----- Original Message -----
> Hi!
> Sounds reasonable, also hope it's the last patch. :-)
>
> @Jan do you want to test this as well, or should I apply and proceed
> with the release?
I haven't spotted potential issue while looking at kernel code,
will test the patch just to be sure.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 12:18 ` Jan Stancek
@ 2020-05-15 12:37 ` Jan Stancek
2020-05-15 13:27 ` Richard Palethorpe
2020-05-15 13:00 ` Petr Vorel
1 sibling, 1 reply; 8+ messages in thread
From: Jan Stancek @ 2020-05-15 12:37 UTC (permalink / raw)
To: ltp
----- Original Message -----
>
>
> ----- Original Message -----
> > Hi!
> > Sounds reasonable, also hope it's the last patch. :-)
> >
> > @Jan do you want to test this as well, or should I apply and proceed
> > with the release?
>
> I haven't spotted potential issue while looking at kernel code,
> will test the patch just to be sure.
It still gets occasionally stuck on 5.7.0-rc4, but the chance to hit
it appears lower. I think merge the patch and we'll see how frequently
it happens with single iteration. We can always disable it later in
runtest file.
# ./pty04 -i 10
tst_test.c:1246: INFO: Timeout per run is 0h 05m 00s
pty04.c:130: INFO: PTS path is /dev/pts/2
pty04.c:207: INFO: Netdev is sl0
pty04.c:216: INFO: Netdev MTU is 8192 (we set 8192)
pty04.c:233: INFO: Bound netdev 245 to socket 5
tst_buffers.c:55: INFO: Test is using guarded buffers
pty04.c:324: INFO: Reading from socket 5
tst_buffers.c:55: INFO: Test is using guarded buffers
pty04.c:180: PASS: Wrote PTY N_SLIP 3 (1)
pty04.c:191: PASS: Wrote PTY N_SLIP 3 (2)
pty04.c:328: PASS: Read netdev N_SLIP 5 (1)
tst_checkpoint.c:149: BROK: pty04.c:364: tst_checkpoint_wait(0, 100000): ETIMEDOUT (110)
tst_test.c:373: BROK: Reported by child (2990)
pty04.c:306: BROK: Read 0 of 8191 bytes: ENETDOWN (100)
pty04.c:196: PASS: Writing to PTY interrupted by hangup
tst_test.c:373: WARN: Reported by child (2987)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 12:18 ` Jan Stancek
2020-05-15 12:37 ` Jan Stancek
@ 2020-05-15 13:00 ` Petr Vorel
2020-05-15 13:55 ` Richard Palethorpe
1 sibling, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2020-05-15 13:00 UTC (permalink / raw)
To: ltp
Hi,
> > Sounds reasonable, also hope it's the last patch. :-)
> > @Jan do you want to test this as well, or should I apply and proceed
> > with the release?
> I haven't spotted potential issue while looking at kernel code,
> will test the patch just to be sure.
+1 reproduced kernel oops on 5.7.0-rc5-1.g298ea3d from openSUSE Tumbleweed, but
when running with -i100 (=> this fix greatly reduces the problem, but still
possible to reproduce)
Kind regards,
Petr
[27048.459612] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [kworker/u16:10:10487]
[27048.459615] Modules linked in: slcan slip slhc uas usb_storage vhost_net vhost tap vhost_iotlb ccm rfcomm fuse xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp ip6table_mangle ip6table_nat iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter ip_tables x_tables bpfilter tun bridge stp llc af_packet cmac algif_hash algif_skcipher af_alg bnep dmi_sysfs msr xfs dm_crypt cdc_ether usbnet snd_usb_audio r8152 snd_usbmidi_lib snd_rawmidi snd_seq_device mii uvcvideo btusb videobuf2_vmalloc x86_pkg_temp_thermal intel_powerclamp videobuf2_memops btrtl videobuf2_v4l2 btbcm coretemp videobuf2_common btintel btrfs bluetooth videodev kvm_intel blake2b_generic xor snd_hda_codec_hdmi ecdh_generic ecc mc joydev kvm iwlmvm raid6_pq irqbypass iTCO_wdt libcrc32c iTCO_vendor_support snd_hda_codec_realtek hid_multitouch mac80211 mei_hdcp mei_wdt intel_rapl_msr dell_rbtn crct10dif_pclmul
[27048.459667] snd_hda_codec_generic crc32_pclmul dell_laptop ledtrig_audio intel_hid snd_hda_intel ghash_clmulni_intel dell_smm_hwmon libarc4 snd_intel_dspcfg aesni_intel snd_hda_codec crypto_simd cryptd glue_helper snd_hda_core iwlwifi snd_hwdep snd_pcm dell_wmi dell_smbios dcdbas snd_timer snd pcspkr sparse_keymap dell_wmi_descriptor wmi_bmof intel_wmi_thunderbolt cfg80211 i2c_i801 soundcore mei_me rfkill mei processor_thermal_device intel_lpss_pci intel_rapl_common intel_lpss idma64 intel_pch_thermal intel_soc_dts_iosf thermal fan int3403_thermal dell_smo8800 acpi_pad int3402_thermal int3400_thermal int340x_thermal_zone acpi_thermal_rel ac tiny_power_button nfsd auth_rpcgss nfs_acl lockd grace sunrpc hid_logitech_hidpp hid_logitech_dj hid_generic usbhid i915 nouveau rtsx_pci_sdmmc mmc_core ttm i2c_algo_bit drm_kms_helper xhci_pci xhci_hcd syscopyarea sysfillrect sysimgblt fb_sys_fops mxm_wmi cec rc_core crc32c_intel drm usbcore serio_raw rtsx_pci battery i2c_hid video wmi button
[27048.459695] dm_mirror dm_region_hash dm_log sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua
[27048.459700] CPU: 1 PID: 10487 Comm: kworker/u16:10 Kdump: loaded Tainted: G I 5.7.0-rc5-1.g298ea3d-default #1 openSUSE Tumbleweed (unreleased)
[27048.459701] Hardware name: Dell Inc. Precision 5510/0N8J4R, BIOS 1.2.13 08/08/2016
[27048.459705] Workqueue: events_unbound flush_to_ldisc
[27048.459709] RIP: 0010:slip_receive_buf+0xfc/0x2a0 [slip]
[27048.459710] Code: 10 48 83 80 60 01 00 00 01 f0 80 8b 88 00 00 00 04 41 83 ec 01 41 83 fc ff 0f 85 5f ff ff ff 48 83 c4 08 5b 5d 41 5c 41 5e c3 <3c> dc 0f 84 44 01 00 00 77 24 3c c0 0f 84 f3 00 00 00 3c db 75 2e
[27048.459711] RSP: 0018:ffffb7f022757de0 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
[27048.459713] RAX: 000000000000005f RBX: ffff90a8d8e4d900 RCX: 0000000000000e00
[27048.459713] RDX: 0000000000000004 RSI: ffff90a8d959a4b0 RDI: ffff90a902d76400
[27048.459714] RBP: 0000000000000000 R08: ffffffffc1a9c000 R09: ffffffffb4871d01
[27048.459715] R10: ffff90a8d959f000 R11: 0000000000000001 R12: 0000000000000970
[27048.459716] R13: 0000000000000000 R14: 00000000ffffffc0 R15: ffff90a8d959a020
[27048.459717] FS: 0000000000000000(0000) GS:ffff90affdc40000(0000) knlGS:0000000000000000
[27048.459718] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[27048.459718] CR2: 000034ca2fb92400 CR3: 000000067380a001 CR4: 00000000003626e0
[27048.459719] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[27048.459720] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[27048.459720] Call Trace:
[27048.459725] tty_ldisc_receive_buf+0x41/0x50
[27048.459727] tty_port_default_receive_buf+0x3d/0x60
[27048.459729] flush_to_ldisc+0x8a/0xd0
[27048.459732] process_one_work+0x1e3/0x3b0
[27048.459735] worker_thread+0x4d/0x3f0
[27048.459739] kthread+0xf9/0x130
[27048.459741] ? process_one_work+0x3b0/0x3b0
[27048.459742] ? kthread_park+0x90/0x90
[27048.459744] ret_from_fork+0x35/0x40
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 12:37 ` Jan Stancek
@ 2020-05-15 13:27 ` Richard Palethorpe
0 siblings, 0 replies; 8+ messages in thread
From: Richard Palethorpe @ 2020-05-15 13:27 UTC (permalink / raw)
To: ltp
Hello,
Jan Stancek <jstancek@redhat.com> writes:
> ----- Original Message -----
>>
>>
>> ----- Original Message -----
>> > Hi!
>> > Sounds reasonable, also hope it's the last patch. :-)
>> >
>> > @Jan do you want to test this as well, or should I apply and proceed
>> > with the release?
>>
>> I haven't spotted potential issue while looking at kernel code,
>> will test the patch just to be sure.
>
> It still gets occasionally stuck on 5.7.0-rc4, but the chance to hit
> it appears lower. I think merge the patch and we'll see how frequently
> it happens with single iteration. We can always disable it later in
> runtest file.
>
> # ./pty04 -i 10
> tst_test.c:1246: INFO: Timeout per run is 0h 05m 00s
> pty04.c:130: INFO: PTS path is /dev/pts/2
> pty04.c:207: INFO: Netdev is sl0
> pty04.c:216: INFO: Netdev MTU is 8192 (we set 8192)
> pty04.c:233: INFO: Bound netdev 245 to socket 5
> tst_buffers.c:55: INFO: Test is using guarded buffers
> pty04.c:324: INFO: Reading from socket 5
> tst_buffers.c:55: INFO: Test is using guarded buffers
> pty04.c:180: PASS: Wrote PTY N_SLIP 3 (1)
> pty04.c:191: PASS: Wrote PTY N_SLIP 3 (2)
> pty04.c:328: PASS: Read netdev N_SLIP 5 (1)
>
>
> tst_checkpoint.c:149: BROK: pty04.c:364: tst_checkpoint_wait(0, 100000): ETIMEDOUT (110)
> tst_test.c:373: BROK: Reported by child (2990)
> pty04.c:306: BROK: Read 0 of 8191 bytes: ENETDOWN (100)
> pty04.c:196: PASS: Writing to PTY interrupted by hangup
> tst_test.c:373: WARN: Reported by child (2987)
Thanks for testing. I guess if the timeout is set long enough and you
have RCU stall detection enabled(?) or SLUB debug, then you will get
some stack trace. Probably related to memory allocation.
I tried again running it in parallel and still got the following stack
traces, but the system is able to recover afterwards. It seems like the
PTYs and line disciplines are a bit fragile. Which I suspect could be
fixed by using different memory pools , but I'm not sure it is very
important.
[ 58.454313] rcu: INFO: rcu_sched self-detected stall on CPU
[ 58.455115] rcu: 2-....: (26000 ticks this GP) idle=bea/1/0x4000000000000002 softirq=2439/2439 fqs
[ 58.456405] (t=26003 jiffies g=4233 q=26)
[ 58.456949] NMI backtrace for cpu 2
[ 58.457405] CPU: 2 PID: 280 Comm: kworker/u8:6 Not tainted 5.7.0-rc4+ #49
[ 58.458286] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt4
[ 58.459766] Workqueue: events_unbound flush_to_ldisc
[ 58.460438] Call Trace:
[ 58.460777] <IRQ>
[ 58.461063] dump_stack+0x97/0xe0
[ 58.461518] nmi_cpu_backtrace.cold+0x46/0x80
[ 58.462103] ? lapic_can_unplug_cpu.cold+0x46/0x46
[ 58.462741] nmi_trigger_cpumask_backtrace+0x125/0x154
[ 58.463438] rcu_dump_cpu_stacks+0x1a0/0x1ea
[ 58.464041] rcu_sched_clock_irq.cold+0x518/0x978
[ 58.464683] update_process_times+0x24/0x50
[ 58.465248] tick_sched_handle+0xf7/0x160
[ 58.465792] tick_sched_timer+0x38/0xf0
[ 58.466315] __hrtimer_run_queues+0x4ae/0xa90
[ 58.466902] ? tick_sched_do_timer+0x150/0x150
[ 58.467523] ? enqueue_hrtimer+0x2d0/0x2d0
[ 58.468092] hrtimer_interrupt+0x2bf/0x740
[ 58.468668] smp_apic_timer_interrupt+0x109/0x4e0
[ 58.469303] apic_timer_interrupt+0xf/0x20
[ 58.469852] </IRQ>
[ 58.470150] RIP: 0010:enqueue_to_backlog+0x156/0xb40
[ 58.470821] Code: 74 08 3c 03 0f 8e 90 05 00 00 83 83 30 01 00 00 01 4c 89 ef e8 5b f4 7a 00 41 f7 c4 f
[ 58.473235] RSP: 0018:ffffc900005479b0 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13
[ 58.474225] RAX: 0000000000000007 RBX: ffff88806b535d80 RCX: 1ffffffff1e2bffa
[ 58.475155] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffffffff8d42ee73
[ 58.476090] RBP: ffff888048188c80 R08: 0000000000000001 R09: ffffed100d6a6bdb
[ 58.477068] R10: ffff88806b535ed3 R11: ffffed100d6a6bda R12: 0000000000000282
[ 58.478003] R13: ffff88806b535ed0 R14: ffff888048188c90 R15: 00000000000003e9
[ 58.479059] ? enqueue_to_backlog+0x153/0xb40
[ 58.479674] netif_rx_internal+0xc6/0x450
[ 58.480265] ? enqueue_to_backlog+0xb40/0xb40
[ 58.480985] netif_rx_ni+0x4b/0x3a0
[ 58.481545] slcan_receive_buf+0x970/0xbb0 [slcan]
[ 58.482295] ? slcan_transmit+0x3e0/0x3e0 [slcan]
[ 58.483047] ? slcan_transmit+0x3e0/0x3e0 [slcan]
[ 58.483793] ? slcan_transmit+0x3e0/0x3e0 [slcan]
[ 58.484544] tty_ldisc_receive_buf+0x100/0x1d0
[ 58.485246] ? tty_ldisc_receive_buf+0x5/0x1d0
[ 58.485970] tty_port_default_receive_buf+0x61/0x90
[ 58.486576] flush_to_ldisc+0x1a7/0x3e0
[ 58.487046] process_one_work+0x926/0x16d0
[ 58.487550] ? pwq_dec_nr_in_flight+0x290/0x290
[ 58.488077] ? ftrace_graph_caller+0x6b/0xa0
[ 58.488584] ? rwlock_bug.part.0+0x90/0x90
[ 58.489081] worker_thread+0x92/0xfa0
[ 58.489535] ? process_one_work+0x16d0/0x16d0
[ 58.490048] kthread+0x2ba/0x3b0
[ 58.490433] ? kthread_create_on_node+0xd0/0xd0
[ 58.490966] ret_from_fork+0x3a/0x50
[ 59.114357] rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 2-... } 26468 jiffies s: 2.
[ 59.115656] rcu: blocking rcu_node structures:
[ 59.116176] Task dump for CPU 2:
[ 59.116580] kworker/u8:6 R running task 28768 280 2 0x80004008
[ 59.117488] Workqueue: events_unbound flush_to_ldisc
[ 59.118068] Call Trace:
[ 59.118409] ? pwq_dec_nr_in_flight+0x290/0x290
[ 59.118936] ? ftrace_graph_caller+0x6b/0xa0
[ 59.119476] ? rwlock_bug.part.0+0x90/0x90
[ 59.119976] ? worker_thread+0x92/0xfa0
[ 59.120472] ? process_one_work+0x16d0/0x16d0
[ 59.120987] ? kthread+0x2ba/0x3b0
[ 59.121415] ? kthread_create_on_node+0xd0/0xd0
[ 59.121948] ? ret_from_fork+0x3a/0x50
[ 63.805607] warn_alloc: 1915 callbacks suppressed
[ 26.819715] reproducer: page allocation failure: order:1, mode:0x40a20(GFP_ATOMIC|__GFP_COMP), nodemas0
[ 26.820140] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.821191] CPU: 1 PID: 456 Comm: reproducer Not tainted 5.7.0-rc4+ #49
[ 26.822013] cache: skbuff_head_cache, object size: 224, buffer size: 320, default order: 1, min orde0
[ 26.822583] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822590] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822596] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822604] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822712] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822719] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822724] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822732] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822760] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822767] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822772] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822780] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822807] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt4
[ 26.822813] Call Trace:
[ 26.822818] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822823] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822828] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822834] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822870] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822876] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822882] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822890] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822932] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.822939] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.822946] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.822953] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.822995] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.823002] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.823007] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.823015] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.823057] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.823064] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.823069] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.823076] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.823116] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
[ 26.823121] cache: kmalloc-4k, object size: 4096, buffer size: 8192, default order: 3, min order: 1
[ 26.823128] kmalloc-4k debugging increased min order, use slub_debug=O to disable.
[ 26.823134] node 0: slabs: 44294, objs: 177164, free: 0
[ 26.824222] node 0: slabs: 12353, objs: 308825, free: 0
[ 26.825031] dump_stack+0x97/0xe0
[ 26.859539] warn_alloc.cold+0x87/0x18d
pty04.c:328: 26.860015] ? zone_watermark_ok_safe+0x270/0x270
;32mPASS: Re[ 26.860709] ? zone_watermark_ok_safe+0x270/0x270
ad netdev N_SLCA[ 26.861611] ? __alloc_pages_slowpath.constprop.0+0x1cf3/0x2180
N 26 (1)[ 26.862395] ? prepare_ftrace_return+0xa1/0xf0
[ 26.863008] ? wakeup_kcompactd+0x18a/0x3e0
[ 26.863526] ? __isolate_free_page+0x4e0/0x4e0
[ 26.864070] __alloc_pages_slowpath.constprop.0+0x1cf3/0x2180
[ 26.864739] ? get_page_from_freelist+0x753/0x3920
pty04.c:332: 26.865300] ? __isolate_free_page+0x4e0/0x4e0
;32mPASS: Re[ 26.865989] ? __alloc_pages_nodemask+0x277/0x6e0
ad netdev N_SLCA[ 26.866675] ? warn_alloc+0x120/0x120
N 26 (2)
[ 26.867260] ? ftrace_graph_caller+0x6b/0xa0
[ 26.867867] ? function_graph_enter+0x34b/0x520
[ 26.868396] ? __isolate_free_page+0x4e0/0x4e0
[ 26.868914] ? ftrace_graph_stop+0x10/0x10
[ 26.869409] __alloc_pages_nodemask+0x517/0x6e0
[ 26.869942] ? __alloc_pages_slowpath.constprop.0+0x2180/0x2180
[ 26.870618] ? ftrace_graph_caller+0x6b/0xa0
[ 26.871141] new_slab+0x28b/0x340
[ 26.871547] ___slab_alloc+0x370/0x5d0
[ 26.871995] ? __tty_buffer_request_room+0x1c0/0x560
[ 26.872577] ? __tty_buffer_request_room+0x1c0/0x560
[ 26.873150] ? ftrace_graph_caller+0x6b/0xa0
[ 26.873645] ? prepare_ftrace_return+0xa1/0xf0
[ 26.874172] ? __tty_buffer_request_room+0x1c0/0x560
[ 26.874747] ? __slab_alloc+0x38/0x70
[ 26.875176] __slab_alloc+0x38/0x70
[ 26.875648] ? __tty_buffer_request_room+0x1c0/0x560
[ 26.876403] __kmalloc+0x25e/0x2c0
[ 26.876814] __tty_buffer_request_room+0x1c0/0x560
[ 26.877380] tty_insert_flip_string_fixed_flag+0x7d/0x1f0
[ 26.878181] pty_write+0x103/0x1d0
[ 26.878684] n_tty_write+0x753/0xf90
[ 26.879108] ? ftrace_graph_stop+0x10/0x10
[ 26.879585] ? n_tty_read+0x16e0/0x16e0
[ 26.880053] ? tty_write+0x3c0/0x700
[ 26.880472] ? prepare_ftrace_return+0xa1/0xf0
[ 26.880989] ? n_tty_read+0x16e0/0x16e0
[ 26.881435] ? ftrace_graph_caller+0x6b/0xa0
[ 26.881934] ? prepare_to_wait_exclusive+0x200/0x200
[ 26.882509] ? n_tty_read+0x16e0/0x16e0
[ 26.882973] tty_write+0x3c0/0x700
[ 26.883379] ? n_tty_read+0x16e0/0x16e0
[ 26.883857] vfs_write+0x154/0x450
[ 26.884324] ksys_write+0xf9/0x1d0
[ 26.884783] ? __ia32_sys_read+0xb0/0xb0
[ 26.885324] do_syscall_64+0x95/0x4a0
[ 26.885819] entry_SYSCALL_64_after_hwframe+0x49/0xb3
[ 26.886485] RIP: 0033:0x7f56ae533563
[ 26.886961] Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 64 8b 04 25 18 8
[ 26.889355] RSP: 002b:00007ffc3026c138 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 26.890335] RAX: ffffffffffffffda RBX: 0000000000422600 RCX: 00007f56ae533563
[ 26.891258] RDX: 0000000000002000 RSI: 00007f56ae42a000 RDI: 0000000000000015
[ 26.892206] RBP: 00007f56ae60a580 R08: 0000000000000000 R09: 00007ffc3026ba80
[ 26.893231] R10: 00000000000003cb R11: 0000000000000246 R12: 0000000000002000
[ 26.894077] R13: 00007f56ae42a000 R14: 0000000000000015 R15: 0000000000000001
[ 26.895141] Mem-Info:
[ 26.895441] active_anon:3997 inactive_anon:4284 isolated_anon:0
[ 26.895441] active_file:0 inactive_file:0 isolated_file:0
[ 26.895441] unevictable:0 dirty:0 writeback:0 unstable:0
[ 26.895441] slab_reclaimable:4267 slab_unreclaimable:385849
[ 26.895441] mapped:913 shmem:7230 pagetables:205 bounce:0
[ 26.895441] free:5770 free_pcp:737 free_cma:0
[ 26.899022] Node 0 active_anon:15988kB inactive_anon:17136kB active_file:0kB inactive_file:0kB unevicts
[ 26.902008] Node 0 DMA free:6340kB min:444kB low:552kB high:660kB reserved_highatomic:2048KB active_anB
[ 26.905162] lowmem_reserve[]: 0 1548 1548 1548 1548
[ 26.905737] Node 0 DMA32 free:16612kB min:44608kB low:55760kB high:66912kB reserved_highatomic:18432KBB
[ 26.909330] lowmem_reserve[]: 0 0 0 0 0
[ 26.909856] Node 0 DMA: 1*4kB (U) 0*8kB 0*16kB 0*32kB 1*64kB (H) 1*128kB (H) 0*256kB 0*512kB 0*1024kB B
[ 26.911422] Node 0 DMA32: 45*4kB (ME) 18*8kB (UME) 4*16kB (UME) 11*32kB (UM) 3*64kB (M) 2*128kB (UM) 1B
[ 26.913285] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[ 26.914279] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[ 26.915231] 7230 total pagecache pages
[ 26.915672] 0 pages in swap cache
[ 26.916068] Swap cache stats: add 0, delete 0, find 0/0
[ 26.916666] Free swap = 0kB
[ 26.917006] Total swap = 0kB
[ 26.917345] 524156 pages RAM
[ 26.917686] 0 pages HighMem/MovableOnly
[ 26.918130] 115119 pages reserved
--
Thank you,
Richard.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces
2020-05-15 13:00 ` Petr Vorel
@ 2020-05-15 13:55 ` Richard Palethorpe
0 siblings, 0 replies; 8+ messages in thread
From: Richard Palethorpe @ 2020-05-15 13:55 UTC (permalink / raw)
To: ltp
Hi,
Petr Vorel <pvorel@suse.cz> writes:
> Hi,
>
>> > Sounds reasonable, also hope it's the last patch. :-)
>
>> > @Jan do you want to test this as well, or should I apply and proceed
>> > with the release?
>
>> I haven't spotted potential issue while looking at kernel code,
>> will test the patch just to be sure.
> +1 reproduced kernel oops on 5.7.0-rc5-1.g298ea3d from openSUSE Tumbleweed, but
> when running with -i100 (=> this fix greatly reduces the problem, but still
> possible to reproduce)
>
> Kind regards,
> Petr
>
> [27048.459612] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [kworker/u16:10:10487]
> [27048.459615] Modules linked in: slcan slip slhc uas usb_storage vhost_net vhost tap vhost_iotlb ccm rfcomm fuse xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp ip6table_mangle ip6table_nat iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter ip_tables x_tables bpfilter tun bridge stp llc af_packet cmac algif_hash algif_skcipher af_alg bnep dmi_sysfs msr xfs dm_crypt cdc_ether usbnet snd_usb_audio r8152 snd_usbmidi_lib snd_rawmidi snd_seq_device mii uvcvideo btusb videobuf2_vmalloc x86_pkg_temp_thermal intel_powerclamp videobuf2_memops btrtl videobuf2_v4l2 btbcm coretemp videobuf2_common btintel btrfs bluetooth videodev kvm_intel blake2b_generic xor snd_hda_codec_hdmi ecdh_generic ecc mc joydev kvm iwlmvm raid6_pq irqbypass iTCO_wdt libcrc32c iTCO_vendor_support snd_hda_codec_realtek hid_multitouch mac80211 mei_hdcp mei_wdt intel_rapl_msr dell_rbtn crct10dif_pclmul
> [27048.459667] snd_hda_codec_generic crc32_pclmul dell_laptop ledtrig_audio intel_hid snd_hda_intel ghash_clmulni_intel dell_smm_hwmon libarc4 snd_intel_dspcfg aesni_intel snd_hda_codec crypto_simd cryptd glue_helper snd_hda_core iwlwifi snd_hwdep snd_pcm dell_wmi dell_smbios dcdbas snd_timer snd pcspkr sparse_keymap dell_wmi_descriptor wmi_bmof intel_wmi_thunderbolt cfg80211 i2c_i801 soundcore mei_me rfkill mei processor_thermal_device intel_lpss_pci intel_rapl_common intel_lpss idma64 intel_pch_thermal intel_soc_dts_iosf thermal fan int3403_thermal dell_smo8800 acpi_pad int3402_thermal int3400_thermal int340x_thermal_zone acpi_thermal_rel ac tiny_power_button nfsd auth_rpcgss nfs_acl lockd grace sunrpc hid_logitech_hidpp hid_logitech_dj hid_generic usbhid i915 nouveau rtsx_pci_sdmmc mmc_core ttm i2c_algo_bit drm_kms_helper xhci_pci xhci_hcd syscopyarea sysfillrect sysimgblt fb_sys_fops mxm_wmi cec rc_core crc32c_intel drm usbcore serio_raw rtsx_pci battery i2c_hid video wmi butt
on
> [27048.459695] dm_mirror dm_region_hash dm_log sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua
> [27048.459700] CPU: 1 PID: 10487 Comm: kworker/u16:10 Kdump: loaded Tainted: G I 5.7.0-rc5-1.g298ea3d-default #1 openSUSE Tumbleweed (unreleased)
> [27048.459701] Hardware name: Dell Inc. Precision 5510/0N8J4R, BIOS 1.2.13 08/08/2016
> [27048.459705] Workqueue: events_unbound flush_to_ldisc
> [27048.459709] RIP: 0010:slip_receive_buf+0xfc/0x2a0 [slip]
> [27048.459710] Code: 10 48 83 80 60 01 00 00 01 f0 80 8b 88 00 00 00 04 41 83 ec 01 41 83 fc ff 0f 85 5f ff ff ff 48 83 c4 08 5b 5d 41 5c 41 5e c3 <3c> dc 0f 84 44 01 00 00 77 24 3c c0 0f 84 f3 00 00 00 3c db 75 2e
> [27048.459711] RSP: 0018:ffffb7f022757de0 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
> [27048.459713] RAX: 000000000000005f RBX: ffff90a8d8e4d900 RCX: 0000000000000e00
> [27048.459713] RDX: 0000000000000004 RSI: ffff90a8d959a4b0 RDI: ffff90a902d76400
> [27048.459714] RBP: 0000000000000000 R08: ffffffffc1a9c000 R09: ffffffffb4871d01
> [27048.459715] R10: ffff90a8d959f000 R11: 0000000000000001 R12: 0000000000000970
> [27048.459716] R13: 0000000000000000 R14: 00000000ffffffc0 R15: ffff90a8d959a020
> [27048.459717] FS: 0000000000000000(0000) GS:ffff90affdc40000(0000) knlGS:0000000000000000
> [27048.459718] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [27048.459718] CR2: 000034ca2fb92400 CR3: 000000067380a001 CR4: 00000000003626e0
> [27048.459719] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [27048.459720] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> [27048.459720] Call Trace:
> [27048.459725] tty_ldisc_receive_buf+0x41/0x50
> [27048.459727] tty_port_default_receive_buf+0x3d/0x60
> [27048.459729] flush_to_ldisc+0x8a/0xd0
> [27048.459732] process_one_work+0x1e3/0x3b0
> [27048.459735] worker_thread+0x4d/0x3f0
> [27048.459739] kthread+0xf9/0x130
> [27048.459741] ? process_one_work+0x3b0/0x3b0
> [27048.459742] ? kthread_park+0x90/0x90
> [27048.459744] ret_from_fork+0x35/0x40
Is there more to this? Do you get allocation failures as well? (no
problem if not, I'm just curious, I don't think this is an issue unless
it happens with N=1).
--
Thank you,
Richard.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-05-15 13:55 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-15 10:39 [LTP] [PATCH] pty04: Avoid receiving packets from all interfaces Richard Palethorpe
2020-05-15 11:48 ` Cyril Hrubis
2020-05-15 12:18 ` Jan Stancek
2020-05-15 12:37 ` Jan Stancek
2020-05-15 13:27 ` Richard Palethorpe
2020-05-15 13:00 ` Petr Vorel
2020-05-15 13:55 ` Richard Palethorpe
2020-05-15 11:56 ` Petr Vorel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.