Re: [PATCH 2/2] btrfs: reada: Fix returned errno code

From: David Sterba
Date: Wed Sep 23 2015 - 04:43:23 EST


On Tue, Sep 22, 2015 at 05:29:39PM +0100, Luis de Bethencourt wrote:
> reada is using -1 instead of the -ENOMEM defined macro to specify that
> a buffer allocation failed. Since the error number is propagated, the
> caller will get a -EPERM which is the wrong error condition.
>
> Smatch tool warning:
> reada_add_block() warn: returning -1 instead of -ENOMEM is sloppy
>
> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx>
> ---
> fs/btrfs/reada.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c
> index 4645cd1..5bfd3cd 100644
> --- a/fs/btrfs/reada.c
> +++ b/fs/btrfs/reada.c
> @@ -569,7 +569,7 @@ static int reada_add_block(struct reada_control *rc, u64 logical,
> rec = kzalloc(sizeof(*rec), GFP_NOFS);
> if (!rec) {
> reada_extent_put(root->fs_info, re);
> - return -1;
> + return -ENOMEM;

When called from btrfs_reada_add, the return value is ignored and
overriden as ENOMEM. Please also update the caller to return the exact
value from reada_add_block.
--
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/