[ldv-project] [PATCH] farsync: fix invalid memory accesses in fst_add_one() and fst_init_card()
David Miller
davem at davemloft.net
Wed Jul 9 03:20:27 MSK 2014
From: Alexey Khoroshilov <khoroshilov at ispras.ru>
Date: Tue, 08 Jul 2014 18:40:32 -0400
> On 08.07.2014 18:20, David Miller wrote:
>> From: Alexey Khoroshilov <khoroshilov at ispras.ru>
>> Date: Sat, 5 Jul 2014 03:35:50 +0400
>>
>>> - }
>>> + card->nports = i;
>>> + return (card->nports == 0) ? err : 0;
>>> + }
>> I don't think this is the right thing to do.
>>
>> This will cause the caller to not free the IRQ or any of the
>> other resources.
> My understanding of the existing code is to proceed if at least one port
> is available.
> So I return error code if no ports available at all, otherwise
> initialization continues and can succeed.
> If something else goes wrong, all resources are deallocated.
>
> Do you suggest to return error code unconditionally?
Yes, that is my suggestion.
I'm also weary of so many changes to a driver that gets so little
usage and probably next to no testing at all.
More information about the ldv-project
mailing list