[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <508A44BC.5040002@rs.jp.nec.com>
Date: Fri, 26 Oct 2012 17:07:24 +0900
From: Akira Fujita <a-fujita@...jp.nec.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
CC: linux-ext4@...r.kernel.org
Subject: Re: ext4: Replace BUG_ON() with ext4_error() in move_extents.c
Hello Dan,
Thanks for reporting,
this patch removes smatch warning.
Signed-off-by: Akria Fujita <a-fujita@...jp.nec.com>
---
fs/ext4/move_extent.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index 292daee..17d28a1 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -680,6 +680,10 @@ mext_replace_branches(handle_t *handle, struct inode *orig_inode,
depth = ext_depth(donor_inode);
dext = donor_path[depth].p_ext;
+ if (unlikely(!dext)) {
+ *err = -EIO;
+ goto out;
+ }
tmp_dext = *dext;
*err = mext_calc_swap_extents(&tmp_dext, &tmp_oext, orig_off,
Regards,
Akira Fujita
(2012/10/25 20:35), Dan Carpenter wrote:
> Hello Akira Fujita,
>
> This is a semi-automatic email about new static checker warnings.
>
> The patch 2147b1a6a48e: "ext4: Replace BUG_ON() with ext4_error() in
> move_extents.c" from Sep 16, 2009, leads to the following Smatch
> complaint:
>
> fs/ext4/move_extent.c:693 mext_replace_branches()
> warn: variable dereferenced before check 'dext' (see line 683)
>
> fs/ext4/move_extent.c
> 682 dext = donor_path[depth].p_ext;
> 683 tmp_dext = *dext;
> ^^^^^
> Old dereference.
>
> 684
> 685 *err = mext_calc_swap_extents(&tmp_dext, &tmp_oext, orig_off,
> 686 donor_off, count);
> 687 if (*err)
> 688 goto out;
> 689
> 690 /* Loop for the donor extents */
> 691 while (1) {
> 692 /* The extent for donor must be found. */
> 693 if (!dext) {
> ^^^^^
> This check was inside BUG_ON() macro before and so Smatch ignored it on
> the basis that macros do a lot of unneeded checks. But now it's outside
> the macro it triggers a warning.
>
> 694 EXT4_ERROR_INODE(donor_inode,
> 695 "The extent for donor must be found");
>
> regards,
> dan carpenter
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists