[alsa-devel] [PATCH v4] ALSA: fireworks: accessing to user space outside spinlock

Takashi Iwai tiwai at suse.de
Wed Aug 31 16:18:55 CEST 2016


On Wed, 31 Aug 2016 15:58:42 +0200,
Takashi Sakamoto wrote:
> 
> In hwdep interface of fireworks driver, accessing to user space is in a
> critical section with disabled local interrupt. Depending on architecture,
> accessing to user space can cause page fault exception. Then local
> processor stores machine status and handles the synchronous event. A
> handler corresponding to the event can call task scheduler to wait for
> preparing pages. In a case of usage of single core processor, the state to
> disable local interrupt is worse because it don't handle usual interrupts
> from hardware.
> 
> This commit fixes this bug, performing the accessing outside spinlock. This
> commit also gives up counting the number of queued response messages to
> simplify ring-buffer management.
> 
> Reported-by: Vaishali Thakkar <vaishali.thakkar at oracle.com>
> Cc: stable at vger.kernel.org
> Fixes: 555e8a8f7f14('ALSA: fireworks: Add command/response functionality into hwdep interface')
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>

Applied, thanks.

Though, now I think whether it could be more easily fixed just by
replacing spinlock with a mutex.  But this patch is good and simple
enough, so I take it.


Takashi


More information about the Alsa-devel mailing list