dma: ste_dma40: don't dereference free:d descriptor
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 13 Feb 2014 09:39:01 +0000 (10:39 +0100)
committerJiri Slaby <jslaby@suse.cz>
Wed, 5 Mar 2014 16:13:55 +0000 (17:13 +0100)
commita5a928314b25f7b5c08629a2993807e998c90224
tree5fbb23bda472b8e77c4b5a8041ea571363fb6528
parent3787169fa3185aa8587972b5fdccbf700f60a4f1
dma: ste_dma40: don't dereference free:d descriptor

commit e9baa9d9d520fb0e24cca671e430689de2d4a4b2 upstream.

It appears that in the DMA40 driver the DMA tasklet will very
often dereference memory for a descriptor just free:d from the
DMA40 slab. Nothing happens because no other part of the driver
has yet had a chance to claim this memory, but it's really
nasty to dereference free:d memory, so let's check the flag
before the descriptor is free and store it in a bool variable.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/dma/ste_dma40.c