[PATCH] dma: mv_xor: fix kernel crash on probe error

Dan Williams dan.j.williams at intel.com
Thu Dec 12 18:36:13 EST 2013


On Thu, Dec 12, 2013 at 2:42 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Thu, Dec 12, 2013 at 11:11:55PM +0200, Aaro Koskinen wrote:
>> If the non-DT channel add path fails, the kernel will crash as the
>> channel is not set to NULL and it will try to release the channel using
>> the error value. Fix that.
>>
>> Signed-off-by: Aaro Koskinen <aaro.koskinen at iki.fi>
>> ---
>>  drivers/dma/mv_xor.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
>> index 7807f0ef4e20..2cb35a62c7f0 100644
>> --- a/drivers/dma/mv_xor.c
>> +++ b/drivers/dma/mv_xor.c
>> @@ -1227,6 +1227,7 @@ static int mv_xor_probe(struct platform_device *pdev)
>>                                                  cd->cap_mask, irq);
>>                       if (IS_ERR(xordev->channels[i])) {
>>                               ret = PTR_ERR(xordev->channels[i]);
>> +                             xordev->channels[i] = NULL;
>>                               goto err_channel_add;
>>                       }
>>               }
>
> Yes, I found this too, and although this is _a_ fix, it's not my
> preferred.  I'd much prefer this instead - avoid writing invalid
> channels to xordev->channels[i] in the first place...  Slightly
> larger patch but IMHO more correct.
>

Looks good to me.  Aaro?

Can I have one with a sign-off?



More information about the linux-arm-kernel mailing list