From: Andrew Morton multiple-return-statements-per-function are evil ;) Cc: Abdel Benamrouche Cc: Jens Axboe Signed-off-by: Andrew Morton --- fs/partitions/check.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN fs/partitions/check.c~fs-partition-checkc-fix-return-value-warning-v2-cleanup fs/partitions/check.c --- a/fs/partitions/check.c~fs-partition-checkc-fix-return-value-warning-v2-cleanup +++ a/fs/partitions/check.c @@ -354,8 +354,8 @@ int add_partition(struct gendisk *disk, return -ENOMEM; if (!init_part_stats(p)) { - kfree(p); - return -ENOMEM; + err = -ENOMEM; + goto out0; } p->start_sect = start; p->nr_sects = len; @@ -398,6 +398,7 @@ out2: out1: put_device(&p->dev); free_part_stats(p); +out0: kfree(p); return err; } _