Re: [PATCH] ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 09 Sep 2018 15:25:12 +0200,
Takashi Sakamoto wrote:
> 
> When executing 'fw_run_transaction()' with 'TCODE_WRITE_BLOCK_REQUEST',
> an address of 'payload' argument is used for streaming DMA mapping by
> 'firewire_ohci' module if 'size' argument is larger than 8 byte.
> Although in this case the address should not be on kernel stack, current
> implementation of ALSA bebob driver uses data in kernel stack for a cue
> to boot M-Audio devices. This often brings unexpected result, especially
> for a case of CONFIG_VMAP_STACK=y.
> 
> This commit fixes the bug.
> 
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=201021
> Reference: https://forum.manjaro.org/t/firewire-m-audio-410-driver-wont-load-firmware/51165
> Fixes: a2b2a7798fb6('ALSA: bebob: Send a cue to load firmware for M-Audio Firewire series')
> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+
> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>

Applied, thanks.


Takashi



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux