Re: [PATCH] dma-engine: Fix array index out of bounds warning in __get_unmap_pool()
On Mon, Mar 13, 2017 at 02:30:29PM -0700, Matthias Kaehlcke wrote: > This fixes the following warning when building with clang and > CONFIG_DMA_ENGINE_RAID=n : > > drivers/dma/dmaengine.c:1102:11: error: array index 2 is past the end of the > array (which contains 1 element) [-Werror,-Warray-bounds] > return &unmap_pool[2]; > ^ ~ > drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here > static struct dmaengine_unmap_pool unmap_pool[] = { > ^ > drivers/dma/dmaengine.c:1104:11: error: array index 3 is past the end of the > array (which contains 1 element) [-Werror,-Warray-bounds] > return &unmap_pool[3]; > ^ ~ > drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here > static struct dmaengine_unmap_pool unmap_pool[] = { Applied, thanks -- ~Vinod
Re: [PATCH] dma-engine: Fix array index out of bounds warning in __get_unmap_pool()
On Mon, Mar 13, 2017 at 2:30 PM, Matthias Kaehlcke wrote: > This fixes the following warning when building with clang and > CONFIG_DMA_ENGINE_RAID=n : > > drivers/dma/dmaengine.c:1102:11: error: array index 2 is past the end of the > array (which contains 1 element) [-Werror,-Warray-bounds] > return &unmap_pool[2]; > ^ ~ > drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here > static struct dmaengine_unmap_pool unmap_pool[] = { > ^ > drivers/dma/dmaengine.c:1104:11: error: array index 3 is past the end of the > array (which contains 1 element) [-Werror,-Warray-bounds] > return &unmap_pool[3]; > ^ ~ > drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here > static struct dmaengine_unmap_pool unmap_pool[] = { > > Signed-off-by: Matthias Kaehlcke Reviewed-by: Dan Williams
[PATCH] dma-engine: Fix array index out of bounds warning in __get_unmap_pool()
This fixes the following warning when building with clang and CONFIG_DMA_ENGINE_RAID=n : drivers/dma/dmaengine.c:1102:11: error: array index 2 is past the end of the array (which contains 1 element) [-Werror,-Warray-bounds] return &unmap_pool[2]; ^ ~ drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here static struct dmaengine_unmap_pool unmap_pool[] = { ^ drivers/dma/dmaengine.c:1104:11: error: array index 3 is past the end of the array (which contains 1 element) [-Werror,-Warray-bounds] return &unmap_pool[3]; ^ ~ drivers/dma/dmaengine.c:1083:1: note: array 'unmap_pool' declared here static struct dmaengine_unmap_pool unmap_pool[] = { Signed-off-by: Matthias Kaehlcke --- drivers/dma/dmaengine.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 6b535262ac5d..3db94e81bc14 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -1107,12 +1107,14 @@ static struct dmaengine_unmap_pool *__get_unmap_pool(int nr) switch (order) { case 0 ... 1: return &unmap_pool[0]; +#if IS_ENABLED(CONFIG_DMA_ENGINE_RAID) case 2 ... 4: return &unmap_pool[1]; case 5 ... 7: return &unmap_pool[2]; case 8: return &unmap_pool[3]; +#endif default: BUG(); return NULL; -- 2.12.0.246.ga2ecc84866-goog