summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorLukas Wunner <lukas@wunner.de>2019-12-05 12:54:49 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-01-09 10:19:00 +0100
commit2f7db098b1e267ec37212bc713766cbb7471d9d5 (patch)
tree8f1ae085303e4d7d6eb5b1474d68a3c47e9f0d8f /block
parent0211f27ac1df13e3f670ac84232719a2f8930bfc (diff)
downloadlinux-stable-2f7db098b1e267ec37212bc713766cbb7471d9d5.tar.gz
linux-stable-2f7db098b1e267ec37212bc713766cbb7471d9d5.tar.bz2
linux-stable-2f7db098b1e267ec37212bc713766cbb7471d9d5.zip
dmaengine: Fix access to uninitialized dma_slave_caps
commit 53a256a9b925b47c7e67fc1f16ca41561a7b877c upstream. dmaengine_desc_set_reuse() allocates a struct dma_slave_caps on the stack, populates it using dma_get_slave_caps() and then accesses one of its members. However dma_get_slave_caps() may fail and this isn't accounted for, leading to a legitimate warning of gcc-4.9 (but not newer versions): In file included from drivers/spi/spi-bcm2835.c:19:0: drivers/spi/spi-bcm2835.c: In function 'dmaengine_desc_set_reuse': >> include/linux/dmaengine.h:1370:10: warning: 'caps.descriptor_reuse' is used uninitialized in this function [-Wuninitialized] if (caps.descriptor_reuse) { Fix it, thereby also silencing the gcc-4.9 warning. The issue has been present for 4 years but surfaces only now that the first caller of dmaengine_desc_set_reuse() has been added in spi-bcm2835.c. Another user of reusable DMA descriptors has existed for a while in pxa_camera.c, but it sets the DMA_CTRL_REUSE flag directly instead of calling dmaengine_desc_set_reuse(). Nevertheless, tag this commit for stable in case there are out-of-tree users. Fixes: 272420214d26 ("dmaengine: Add DMA_CTRL_REUSE") Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: stable@vger.kernel.org # v4.3+ Link: https://lore.kernel.org/r/ca92998ccc054b4f2bfd60ef3adbab2913171eac.1575546234.git.lukas@wunner.de Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions