Re: [PATCH 02/11] virtio_console: Less function calls in init_vqs() after error detection

From: Amit Shah
Date: Wed Sep 21 2016 - 08:10:46 EST


On (Wed) 14 Sep 2016 [16:01:28], SF Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 14 Sep 2016 14:00:35 +0200
> The kfree() function was called in up to five cases
> by the init_vqs() function during error handling even if
> the passed variable contained a null pointer.
> * Return directly after a call of the function "kmalloc_array" failed
> at the beginning.
> * Split a condition check for memory allocation failures so that
> each pointer from these function calls will be checked immediately.
> See also background information:
> Topic "CWE-754: Improper check for unusual or exceptional conditions"
> Link:
> * Adjust jump targets according to the Linux coding style convention.

So I've seen this series and I'm not yet sure how I feel about the
patches - f.e. in this one, it adds more lines than it removes to
achieve the same effect. I think the code is currently more readable
than after these changes. And even if kfree is called multiple times,
it isn't a huge bother -- it's error case anyway, very unlikely to
trigger, but keeps everything very readble.