Re: [PATCH] /fs/partition/check.c: fix return value warning

From: Andrew Morton
Date: Mon May 12 2008 - 18:29:19 EST


On Sat, 10 May 2008 13:40:53 +0200
Abdel Benamrouche <draconux@xxxxxxxxx> wrote:

> fs/partitions/check.c:381: warning: ignoring return value of ___device_add___,
> declared with attribute warn_unused_result
>
> Signed-off-by: Abdel Benamrouche <draconux@xxxxxxxxx>
> ---
> :100644 100644 6149e4b... 7a87fad... M fs/partitions/check.c
> fs/partitions/check.c | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/fs/partitions/check.c b/fs/partitions/check.c
> index 6149e4b..7a87fad 100644
> --- a/fs/partitions/check.c
> +++ b/fs/partitions/check.c
> @@ -378,7 +378,13 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len,
>
> /* delay uevent until 'holders' subdir is created */
> p->dev.uevent_suppress = 1;
> - device_add(&p->dev);
> + if (device_add(&p->dev)) {
> + put_device(&p->dev);
> + free_part_stats(p);
> + kfree(p);
> + return;
> + }
> +
> partition_sysfs_add_subdir(p);
> p->dev.uevent_suppress = 0;
> if (flags & ADDPART_FLAG_WHOLEDISK)

We should go further than this. add_partition() just drops the error
on the floor. It should be propagated back to callers, and callers
should be modified to handle it appropriately.

Presumably we should also handle a device_create_file() failure as well
- that is presently being silently ignored.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/