diff options
author | Luis de Bethencourt <luisbg@osg.samsung.com> | 2015-10-20 14:56:22 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2015-10-21 18:29:44 +0200 |
commit | 0b8d8ce0297c4376d50318692e0aa53a3aaed90c (patch) | |
tree | 4e8c8951466c5f2deae0d740295587b00e88ebbf | |
parent | d91876496bcf2236efb75ef12378c964bbe8c970 (diff) | |
download | op-kernel-dev-0b8d8ce0297c4376d50318692e0aa53a3aaed90c.zip op-kernel-dev-0b8d8ce0297c4376d50318692e0aa53a3aaed90c.tar.gz |
btrfs: check-integrity: Fix returned errno codes
check-integrity 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.
Also, the smatch tool complains with the following warnings:
btrfsic_process_superblock() warn: returning -1 instead of -ENOMEM is sloppy
btrfsic_read_block() warn: returning -1 instead of -ENOMEM is sloppy
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/check-integrity.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index 541fbfa..9cacd06 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c @@ -667,7 +667,7 @@ static int btrfsic_process_superblock(struct btrfsic_state *state, selected_super = kzalloc(sizeof(*selected_super), GFP_NOFS); if (NULL == selected_super) { printk(KERN_INFO "btrfsic: error, kmalloc failed!\n"); - return -1; + return -ENOMEM; } list_for_each_entry(device, dev_head, dev_list) { @@ -1660,7 +1660,7 @@ static int btrfsic_read_block(struct btrfsic_state *state, sizeof(*block_ctx->pagev)) * num_pages, GFP_NOFS); if (!block_ctx->mem_to_free) - return -1; + return -ENOMEM; block_ctx->datav = block_ctx->mem_to_free; block_ctx->pagev = (struct page **)(block_ctx->datav + num_pages); for (i = 0; i < num_pages; i++) { |