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
Hi,
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: https://cwe.mitre.org/data/definitions/754.html
>
> * 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.
Amit