
28 Sep
2019
28 Sep
'19
1:25 a.m.
On 9/27/19 3:39 PM, Andy Shevchenko wrote:
On Fri, Sep 27, 2019 at 7:39 PM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
The problem with solution #1 is freeing orphaned pointer. It will work, but it's simple is not okay from object life time prospective.
?? I don't get your point at all Andy. Two allocations happens in a loop and if the second fails, you free the first and then jump to free everything allocated in the previous iterations. what am I missing?
Two things:
- one allocation is done with kzalloc(), while the other one with
devm_kcalloc()
- due to above the ordering of resources is reversed
Ah yes, I see your point now, sorry for being thick. Indeed it'd make sense to use devm_ for both allocations, but then the kfree needs to be removed in the error handling.