Re: [PATCH 158/190] Revert "ALSA: sb: fix a missing check of snd_ctl_add"

Takashi Iwai
2021-04-21T16:26:28Z

On Wed, 21 Apr 2021 15:00:33 +0200,
Greg Kroah-Hartman wrote:
>
> This reverts commit beae77170c60aa786f3e4599c18ead2854d8694d.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: Aditya Pakki <pakki001@umn.edu>
> Cc: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

The original code change is fine, it's just adding an error return.
OTOH, it would be safe even if we ignore the error, too (the mixer
element is optional), and the driver is quite legacy.
That said, feel free to revert it.

thanks,

Takashi

> ---
> sound/isa/sb/sb16_main.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c
> index 38dc1fde25f3..aa4870531023 100644
> --- a/sound/isa/sb/sb16_main.c
> +++ b/sound/isa/sb/sb16_main.c
> @@ -846,14 +846,10 @@ int snd_sb16dsp_pcm(struct snd_sb *chip, int device)
> snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb16_playback_ops);
> snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops);
>
> - if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) {
> - err = snd_ctl_add(card, snd_ctl_new1(
> - &snd_sb16_dma_control, chip));
> - if (err)
> - return err;
> - } else {
> + if (chip->dma16 >= 0 && chip->dma8 != chip->dma16)
> + snd_ctl_add(card, snd_ctl_new1(&snd_sb16_dma_control, chip));
> + else
> pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX;
> - }
>
> snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
> card->dev, 64*1024, 128*1024);
> --
> 2.31.1
>