Re: [PATCH] block-LDM: One function call less in ldm_validate_tocblocks() after error detection

Julia Lawall
2015-12-23T10:41:55Z

On Wed, 23 Dec 2015, SF Markus Elfring wrote:

> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Tue, 22 Dec 2015 22:32:07 +0100
>
> This issue was detected by using the Coccinelle software.
>
> Let us return directly if a memory allocation failed.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
> block/partitions/ldm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/block/partitions/ldm.c b/block/partitions/ldm.c
> index e507cfb..a50385c 100644
> --- a/block/partitions/ldm.c
> +++ b/block/partitions/ldm.c
> @@ -433,7 +433,7 @@ static bool ldm_validate_tocblocks(struct parsed_partitions *state,
> tb[1] = kmalloc(sizeof(*tb[1]) * 3, GFP_KERNEL);
> if (!tb[1]) {
> ldm_crit("Out of memory.");
> - goto err;
> + return false;

The ldm_crit, which is just a printk, is also not necessary, because
kmalloc already generates backtrace information on failure. So you could
clean up the whole thing at once.

julia

> }
> tb[2] = (struct tocblock*)((u8*)tb[1] + sizeof(*tb[1]));
> tb[3] = (struct tocblock*)((u8*)tb[2] + sizeof(*tb[2]));
> --
> 2.6.3
>
>