Control: found -1 4.19.118-1
Control: tags -1 + upstream

Hi Steve,

On Mon, Jun 22, 2020 at 12:58:35PM +0100, Steve McIntyre wrote:
> Source: linux
> Version: 4.19.118-2+deb10u1
> Severity: serious
> 
> Hi folks,
> 
> Trying to reproduce #963462 on my Thinkpad T470, I'm repeatedly
> getting a hard lockup running the strace testsuite. I've done this 4
> times to be sure. Each time it seems to have failed in a slightly
> different place in the testsuite (suggesting it's not one particular
> syscall test that's triggering the failure). Only one of the 4 lockups
> left eny evidence in the logs (reproduced below), so I'm not sure if
> the error here is actually the root of the problem or not. :-/
> 
> The machine is not noticeably running hot or anything while doing
> these tests.
> 
> Rebooting back to 4.19.0-8-amd64 (aka 4.9.98+1+deb10u1), I've just run
> the same testsuite twice in a row and it ran to completion with no
> lockup.
> 
> Here's the one bit of log that I did get, in case it's useful.
> 
> Jun 22 11:36:49 tack kernel: [  318.195906] futex_wake_op: futex tries to 
> shift op by -849; fix this program
> Jun 22 11:36:49 tack kernel: [  318.195910] futex_wake_op: futex tries to 
> shift op by -849; fix this program
> Jun 22 11:36:49 tack kernel: [  318.195971] futex_wake_op: futex tries to 
> shift op by -518; fix this program
> Jun 22 11:36:49 tack kernel: [  318.195974] futex_wake_op: futex tries to 
> shift op by -518; fix this program
> Jun 22 11:36:49 tack kernel: [  318.195977] futex_wake_op: futex tries to 
> shift op by -1; fix this program
> Jun 22 11:36:49 tack kernel: [  318.195979] futex_wake_op: futex tries to 
> shift op by -1; fix this program
> Jun 22 11:36:49 tack kernel: [  318.199661] futex_wake_op: futex tries to 
> shift op by -849; fix this program
> Jun 22 11:36:49 tack kernel: [  318.199674] futex_wake_op: futex tries to 
> shift op by -849; fix this program
> Jun 22 11:36:49 tack kernel: [  318.199917] futex_wake_op: futex tries to 
> shift op by -518; fix this program
> Jun 22 11:36:49 tack kernel: [  318.199982] futex_wake_op: futex tries to 
> shift op by -518; fix this program
> Jun 22 11:36:49 tack kernel: [  318.398755] L1TF CPU bug present and SMT on, 
> data leak possible. See CVE-2018-3646 and 
> https://www.kernel.org/doc/html/latest/admin-gui
> de/hw-vuln/l1tf.html for details.
> Jun 22 11:36:49 tack kernel: [  318.587324] WARNING: CPU: 2 PID: 32174 at 
> mm/page_alloc.c:4385 __alloc_pages_nodemask+0x241/0x2b0
> Jun 22 11:36:49 tack kernel: [  318.587326] Modules linked in: acpi_call(OE) 
> ipt_MASQUERADE nf_conntrack_netlink xfrm_user xfrm_algo nft_counter 
> nft_chain_nat_ipv4 nf_
> nat_ipv4 xt_addrtype nft_compat xt_conntrack nf_nat nf_conntrack 
> nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp overlay devlink 
> cpufreq_userspace cpufreq_conser
> vative cpufreq_powersave ipmi_devintf ipmi_msghandler nf_tables nfnetlink 
> appletalk psnap llc ax25 pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) 
> vboxdrv(OE) cmac 
> bnep fuse binfmt_misc pktcdvd snd_hda_codec_hdmi btusb btrtl btbcm btintel 
> bluetooth uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 
> videobuf2_common snd_hd
> a_codec_realtek snd_hda_codec_generic videodev media drbg ansi_cprng 
> ecdh_generic nls_ascii nls_cp437 vfat fat arc4 intel_rapl snd_soc_skl msr 
> snd_soc_skl_ipc snd_soc_
> sst_ipc
> Jun 22 11:36:49 tack kernel: [  318.587344]  snd_soc_sst_dsp 
> x86_pkg_temp_thermal intel_powerclamp snd_hda_ext_core coretemp 
> snd_soc_acpi_intel_match iwlmvm snd_soc_ac
> pi kvm_intel snd_soc_core mac80211 snd_compress wmi_bmof i915 snd_hda_intel 
> iwlwifi kvm snd_hda_codec snd_h
> da_core irqbypass snd_hwdep evdev intel_cstate joydev snd_pcm_oss 
> drm_kms_helper intel_uncore serio_raw intel_rapl_perf mei_me snd_mixer_oss 
> cfg80211 sg efi_pstore drm pcspkr mei efivars snd_pcm ucsi_acpi snd_timer 
> typec_ucsi i2c_algo_bit iTCO_wdt iTCO_vendor_support intel_pch_thermal typec 
> thinkpad_acpi tpm_crb wmi nvram snd soundcore tpm_tis rfkill video 
> tpm_tis_core battery pcc_cpufreq ac tpm rng_core acpi_pad button parport_pc 
> nfsd ppdev auth_rpcgss lp nfs_acl lockd grace sunrpc parport efivarfs 
> ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 crc32c_generic
> Jun 22 11:36:49 tack kernel: [  318.587362]  fscrypto ecb btrfs 
> zstd_decompress zstd_compress xxhash algif_skcipher af_alg sr_mod cdrom uas 
> usb_storage dm_crypt dm_mod raid10 raid456 async_raid6_recov async_memcpy 
> async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath 
> linear md_mod sd_mod crct10dif_pclmul crc32_pclmul crc32c_intel 
> ghash_clmulni_intel pcbc ahci aesni_intel libahci aes_x86_64 crypto_simd 
> libata cryptd xhci_pci glue_helper xhci_hcd e1000e psmouse scsi_mod usbcore 
> i2c_i801 thermal usb_common
> Jun 22 11:36:49 tack kernel: [  318.587375] CPU: 2 PID: 32174 Comm: keyctl 
> Tainted: G           OE     4.19.0-9-amd64 #1 Debian 4.19.118-2+deb10u1
> Jun 22 11:36:49 tack kernel: [  318.587376] Hardware name: LENOVO 
> 20HD000EUK/20HD000EUK, BIOS N1QET67W (1.42 ) 10/03/2017
> Jun 22 11:36:49 tack kernel: [  318.587377] RIP: 
> 0010:__alloc_pages_nodemask+0x241/0x2b0
> Jun 22 11:36:49 tack kernel: [  318.587379] Code: 89 f7 89 ee 45 31 f6 e8 4d 
> d5 ff ff e9 fb fe ff ff e8 73 ae 01 00 e9 cb fe ff ff 45 31 f6 81 e7 00 02 00 
> 00 0f 85 e7 fe ff ff <0f> 0b e9 e0 fe ff ff 31 c0 e9 6a fe ff ff 65 48 8b 04 
> 25 40 5c 01
> Jun 22 11:36:49 tack kernel: [  318.587379] RSP: 0018:ffffb7e68ac2fe70 
> EFLAGS: 00010246
> Jun 22 11:36:49 tack kernel: [  318.587381] RAX: 0000000000000000 RBX: 
> fffffffffffffff4 RCX: 0000000000000000
> Jun 22 11:36:49 tack kernel: [  318.587381] RDX: 0000000000000000 RSI: 
> 0000000000000034 RDI: 0000000000000000
> Jun 22 11:36:49 tack kernel: [  318.587382] RBP: fffffffffffffffc R08: 
> 0000000000000000 R09: 0000000000000000
> Jun 22 11:36:49 tack kernel: [  318.587383] R10: 0000000000000000 R11: 
> 0000000000000000 R12: 00000000006000c0
> Jun 22 11:36:49 tack kernel: [  318.587383] R13: 00007efdd17ecf00 R14: 
> 0000000000000000 R15: 0000000000000000
> Jun 22 11:36:49 tack kernel: [  318.587385] FS:  00007efdd19fc580(0000) 
> GS:ffff9dc6a2500000(0000) knlGS:0000000000000000
> Jun 22 11:36:49 tack kernel: [  318.587386] CS:  0010 DS: 0000 ES: 0000 CR0: 
> 0000000080050033
> Jun 22 11:36:49 tack kernel: [  318.587386] CR2: 00007efdd1829000 CR3: 
> 0000000816ce8001 CR4: 00000000003606e0
> Jun 22 11:36:49 tack kernel: [  318.587387] Call Trace:
> Jun 22 11:36:49 tack kernel: [  318.587391]  kmalloc_order+0x14/0x30
> Jun 22 11:36:49 tack kernel: [  318.587393]  kmalloc_order_trace+0x1d/0xa0
> Jun 22 11:36:49 tack kernel: [  318.587395]  keyctl_read_key+0xb3/0x130
> Jun 22 11:36:49 tack kernel: [  318.587397]  do_syscall_64+0x53/0x110
> Jun 22 11:36:49 tack kernel: [  318.587399]  
> entry_SYSCALL_64_after_hwframe+0x44/0xa9
> Jun 22 11:36:49 tack kernel: [  318.587401] RIP: 0033:0x7efdd192ff79
> Jun 22 11:36:49 tack kernel: [  318.587402] Code: 00 c3 66 2e 0f 1f 84 00 00 
> 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 
> 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e7 3e 0c 00 f7 d8 
> 64 89 01 48
> Jun 22 11:36:49 tack kernel: [  318.587403] RSP: 002b:00007ffe112d1798 
> EFLAGS: 00000246 ORIG_RAX: 00000000000000fa
> Jun 22 11:36:49 tack kernel: [  318.587404] RAX: ffffffffffffffda RBX: 
> 00007ffe112d17f0 RCX: 00007efdd192ff79
> Jun 22 11:36:49 tack kernel: [  318.587404] RDX: 00007efdd17ecf00 RSI: 
> 00000000ffffffff RDI: 000000000000000b
> Jun 22 11:36:49 tack kernel: [  318.587405] RBP: 00007ffe112d17d0 R08: 
> deadfee4badc0de8 R09: 00005612c7c8c141
> Jun 22 11:36:49 tack kernel: [  318.587406] R10: fffffffffffffffc R11: 
> 0000000000000246 R12: 0000000000000003
> Jun 22 11:36:49 tack kernel: [  318.587407] R13: 00007ffe112d1830 R14: 
> 0000000000000001 R15: 00005612c7c8c116
> Jun 22 11:36:49 tack kernel: [  318.587408] ---[ end trace e512ea2af2666eea 
> ]---
> 
> As I can reproduce this quite easily, I'm happy to help with whatever
> debugging might be useful.

This sounds familiar to
https://lore.kernel.org/stable/7231ea1a-70b2-c156-1724-2357ed10b...@intel.com/

d3ec10aa9581 ("KEYS: Don't write out to userspace while holding key
semaphore") was backported to v4.19.y in 4.19.118. The issue seems to
be fixed with 4f0882491a14 ("KEYS: Avoid false positive ENOMEM error
on key read") which was backported to 4.19.119.

Can you check if cherry-picking the above commit
(e4a281c7daa07814748179ee8b4b483124bb94ea in the linux-4.19.y) fixes
the issue?

Regards,
Salvatore

Reply via email to