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: <ZE9ngFLRqLkN6faH@ugly>
Date:   Mon, 1 May 2023 09:17:20 +0200
From:   Oswald Buddenhagen <oswald.buddenhagen@....de>
To:     Jeff Chua <jeff.chua.linux@...il.com>
Cc:     lkml <linux-kernel@...r.kernel.org>,
        Bagas Sanjaya <bagasdotme@...il.com>,
        Takashi Iwai <tiwai@...e.de>
Subject: Re: linux-6.4 alsa sound broken

On Mon, May 01, 2023 at 11:59:12AM +0800, Jeff Chua wrote:
>Latest git pull from Linus's tree ... playing a simple sound file will
>resulted in a lot of echo.
>
how _exactly_ does it sound?
have you recorded a file through loopback for us to investigate? best 
would be a short sample of a clean wave (sine or sawtooth) with some 
leading and trailing silence.

>Running on Lenovo X1 with ..
>00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High
>Definition Audio Controller (rev 01)
>
>I've bisected and reverted the following patch fixed the problem.
>
this seems weird. so my first thought is: are you _sure_ that your 
bisect isn't "contaminated" somehow? is the effect consistent across 
several reboots with the same build? does re-applying my patch 
immediately re-introduce the problem?

- this code is about silencing. getting dropouts or no playback at all 
   would be plausible, while echo (that is, repetition) seems surprising.
   theoretically, the driver may be setting a bad fill_silence() callback 
   which copies some garbage instead of zeroing, but the HDA driver 
   doesn't set one at all (i.e., uses the default one).
- this code must be explicitly enabled, which for all i know is done by 
   almost nothing. what players did you try? did you get consistent 
   results? did you try taking out audio servers from the equation?
- the affected hardware belongs to the extremely widely used HDA family, 
   which at the layer the patch is even remotely connected with is 
   completely standardized. so _a lot_ of people should be affected, and 
   we should be getting reports like yours by the dozen. are we?

of course i can't exclude the possibility that my patch is affected by 
an uninitialized variable or memory corruption (or in the worst case 
causes it), which would of course have very hard to predict effects. but 
that should be investigated properly instead of just reverting, lest we 
might be papering over a much more serious problem.

-- ossi

>commit 9f656705c5faa18afb26d922cfc64f9fd103c38d
>Author: Oswald Buddenhagen <oswald.buddenhagen@....de>
>Date:   Thu Apr 20 13:33:23 2023 +0200
>
>    ALSA: pcm: rewrite snd_pcm_playback_silence()
>
>    The auto-silencer supports two modes: "thresholded" to fill up "just
>    enough", and "top-up" to fill up "as much as possible". The two modes
>    used rather distinct code paths, which this patch unifies. The only
>    remaining distinction is how much we actually want to fill.
>
>    This fixes a bug in thresholded mode, where we failed to use new_hw_ptr,
>    resulting in under-fill.
>
>    Top-up mode is now more well-behaved and much easier to understand in
>    corner cases.
>
>    This also updates comments in the proximity of silencing-related data
>    structures.
>
>    Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@....de>
>    Reviewed-by: Jaroslav Kysela <perex@...ex.cz>
>    Link: https://lore.kernel.org/r/20230420113324.877164-1-oswald.buddenhagen@gmx.de
>    Signed-off-by: Takashi Iwai <tiwai@...e.de>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ