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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <s5hsfw7dhnu.wl-tiwai@suse.de>
Date:   Sun, 07 Nov 2021 18:01:09 +0100
From:   Takashi Iwai <tiwai@...e.de>
To:     Greg KH <gregkh@...uxfoundation.org>
Cc:     linux-kernel@...r.kernel.org, stable-commits@...r.kernel.org
Subject: Re: Patch "ALSA: pci: rme: Set up buffer type properly" has been added to the 5.14-stable tree

On Sun, 07 Nov 2021 15:59:32 +0100,
Greg KH wrote:
> 
> On Sun, Nov 07, 2021 at 03:49:17PM +0100, gregkh@...uxfoundation.org wrote:
> > 
> > This is a note to let you know that I've just added the patch titled
> > 
> >     ALSA: pci: rme: Set up buffer type properly
> > 
> > to the 5.14-stable tree which can be found at:
> >     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> > 
> > The filename of the patch is:
> >      alsa-pci-rme-set-up-buffer-type-properly.patch
> > and it can be found in the queue-5.14 subdirectory.
> > 
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@...r.kernel.org> know about it.
> > 
> > 
> > >From 0899a7a23047f106c06888769d6cd6ff43d7395f Mon Sep 17 00:00:00 2001
> > From: Takashi Iwai <tiwai@...e.de>
> > Date: Mon, 9 Aug 2021 09:18:28 +0200
> > Subject: ALSA: pci: rme: Set up buffer type properly
> > 
> > From: Takashi Iwai <tiwai@...e.de>
> > 
> > commit 0899a7a23047f106c06888769d6cd6ff43d7395f upstream.
> > 
> > Although the regression of the mmap was fixed in the recent commit
> > dc0dc8a73e8e ("ALSA: pcm: Fix mmap breakage without explicit buffer
> > setup"), RME9652 and HDSP drivers have still potential issues with
> > their mmap handling.  Namely, they use the default mmap handler
> > without the standard buffer preallocation, and PCM core wouldn't use
> > the coherent DMA mapping.  It's practically OK on x86, but on some
> > exotic architectures, it wouldn't work.
> > 
> > This patch addresses the potential breakage by replacing the buffer
> > setup with the proper macro.  It also simplifies the source code,
> > too.
> > 
> > Link: https://lore.kernel.org/r/20210809071829.22238-3-tiwai@suse.de
> > Signed-off-by: Takashi Iwai <tiwai@...e.de>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> > ---
> >  sound/pci/rme9652/hdsp.c    |    6 ++----
> >  sound/pci/rme9652/rme9652.c |    6 ++----
> >  2 files changed, 4 insertions(+), 8 deletions(-)
> > 
> > --- a/sound/pci/rme9652/hdsp.c
> > +++ b/sound/pci/rme9652/hdsp.c
> > @@ -4518,8 +4518,7 @@ static int snd_hdsp_playback_open(struct
> >  	snd_pcm_set_sync(substream);
> >  
> >          runtime->hw = snd_hdsp_playback_subinfo;
> > -	runtime->dma_area = hdsp->playback_buffer;
> > -	runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> > +	snd_pcm_set_runtime_buffer(substream, hdsp->playback_dma_buf);
> >  
> >  	hdsp->playback_pid = current->pid;
> >  	hdsp->playback_substream = substream;
> > @@ -4595,8 +4594,7 @@ static int snd_hdsp_capture_open(struct
> >  	snd_pcm_set_sync(substream);
> >  
> >  	runtime->hw = snd_hdsp_capture_subinfo;
> > -	runtime->dma_area = hdsp->capture_buffer;
> > -	runtime->dma_bytes = HDSP_DMA_AREA_BYTES;
> > +	snd_pcm_set_runtime_buffer(substream, hdsp->capture_dma_buf);
> >  
> >  	hdsp->capture_pid = current->pid;
> >  	hdsp->capture_substream = substream;
> > --- a/sound/pci/rme9652/rme9652.c
> > +++ b/sound/pci/rme9652/rme9652.c
> > @@ -2279,8 +2279,7 @@ static int snd_rme9652_playback_open(str
> >  	snd_pcm_set_sync(substream);
> >  
> >          runtime->hw = snd_rme9652_playback_subinfo;
> > -	runtime->dma_area = rme9652->playback_buffer;
> > -	runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> > +	snd_pcm_set_runtime_buffer(substream, rme9652->playback_dma_buf);
> >  
> >  	if (rme9652->capture_substream == NULL) {
> >  		rme9652_stop(rme9652);
> > @@ -2339,8 +2338,7 @@ static int snd_rme9652_capture_open(stru
> >  	snd_pcm_set_sync(substream);
> >  
> >  	runtime->hw = snd_rme9652_capture_subinfo;
> > -	runtime->dma_area = rme9652->capture_buffer;
> > -	runtime->dma_bytes = RME9652_DMA_AREA_BYTES;
> > +	snd_pcm_set_runtime_buffer(substream, rme9652->capture_dma_buf);
> >  
> >  	if (rme9652->playback_substream == NULL) {
> >  		rme9652_stop(rme9652);
> > 
> > 
> > Patches currently in stable-queue which might be from tiwai@...e.de are
> > 
> > queue-5.14/alsa-pci-rme-set-up-buffer-type-properly.patch
> > queue-5.14/alsa-pcm-check-mmap-capability-of-runtime-dma-buffer-at-first.patch
> > queue-5.14/alsa-pci-cs46xx-fix-set-up-buffer-type-properly.patch
> 
> This patch breaks the build, so I will drop it.
> 
> Can you provide a working backport?

Sorry, I overlooked that it's after the recent code change with the
devres support.

Then rather drop this one, as I found another potential issue in this
patch.  I cooked another different fix now that should cover the
regression, instead.  It'll be included in the next pull request.

The other two patches are fine for stable trees.


thanks,

Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ