lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wiTwX5mzzEcw3jk3QdW600Hntt=Ehgoyz8K-VU8zbEmBg@mail.gmail.com>
Date:   Fri, 2 Jul 2021 18:36:38 -0700
From:   Linus Torvalds <torvalds@...ux-foundation.org>
To:     Takashi Iwai <tiwai@...e.de>
Cc:     Mark Brown <broonie@...nel.org>,
        Liam Girdwood <lgirdwood@...il.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL] sound updates for 5.14-rc1

On Fri, Jul 2, 2021 at 1:29 AM Takashi Iwai <tiwai@...e.de> wrote:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.14-rc1

After incorrectly suspecting Andrew's -mm tree (because the kernel
hung with a watchdog on TLB flushing, and so I suspected mm problems),
I've now bisected my hung machine into the sound tree.

And in fact, I have a couple of NMI backtraces that point very
directly at the sound code, and a couple of the hung cores had stack
traces like this:

  Call Trace:
   _raw_spin_lock_irqsave+0x35/0x40
   snd_pcm_period_elapsed+0x1b/0xa0 [snd_pcm]
   snd_complete_urb+0x119/0x580 [snd_usb_audio]
   __usb_hcd_giveback_urb+0xb2/0x100
   usb_giveback_urb_bh+0xaf/0xd0
   tasklet_action_common+0xe0/0x160
   __do_softirq+0x142/0x296
   __irq_exit_rcu+0xc5/0xf0
   common_interrupt+0x78/0x90

  Call Trace:
   _raw_spin_lock_irqsave+0x35/0x40
   snd_pcm_period_elapsed+0x1b/0xa0 [snd_pcm]
   snd_usb_endpoint_start+0x1a0/0x3c0 [snd_usb_audio]
   start_endpoints+0x23/0x90 [snd_usb_audio]
   snd_usb_substream_playback_trigger+0x7b/0x1a0 [snd_usb_audio]
   snd_pcm_common_ioctl+0x1c44/0x2360 [snd_pcm]
   snd_pcm_ioctl+0x2e/0x40 [snd_pcm]
   __se_sys_ioctl+0x72/0xc0
   do_syscall_64+0x4c/0xa0
   entry_SYSCALL_64_after_hwframe+0x44/0xae

so it looks like it's that

        snd_pcm_stream_lock_irqsave(substream, flags);

that hangs. Presumably somebody has forgotten to unlock a spinlock they took.

I'll continue bisecting, but this is on my AMD Gigabyte TRX30 Aorus
Master board, which has that internal USB-Audio too, but what I
actually use is that external USB Audioengine 2

 0 [Headphone      ]: USB-Audio - Aorus Master Front Headphone
                      Gigabyte-Aorus-Master-Front-Headphone
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfa200000 irq 156
 2 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xe1c60000 irq 158
 3 [A2             ]: USB-Audio - Audioengine 2
                      Audioengine Ltd. Audioengine 2  at
usb-0000:03:00.3-2.3, full speed
 4 [Audio          ]: USB-Audio - Aorus Master Main Audio
                      Gigabyte-Aorus-Master-Main-Audio

does a hung spinlock make anybody go "Oh, I know!"

My bisect will hopefully have it narrowed down more soon enough. Knock wood.

               Linus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ