diff options
author | Takashi Sakamoto <[email protected]> | 2018-09-09 22:25:12 +0900 |
---|---|---|
committer | Takashi Iwai <[email protected]> | 2018-09-10 09:07:29 +0200 |
commit | 493626f2d87a74e6dbea1686499ed6e7e600484e (patch) | |
tree | 251f86c69bf92990195498855b89b71f188c7675 /tools/perf/util/trace-event-scripting.c | |
parent | f7c50fa636f72490baceb1664ba64973137266f2 (diff) |
ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping
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: <[email protected]> # v3.16+
Signed-off-by: Takashi Sakamoto <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions