Hi Dan,
On Fri, Mar 18, 2016 at 08:37:13AM +0300, Dan Carpenter wrote:
> Hello Liu Bo,
>
> The patch 64c043de466d: "Btrfs: fix up read_tree_block to return
> proper error" from May 25, 2015, leads to the following static
> checker warning:
>
> fs/btrfs/relocation.c:1858 replace_path()
> error: 'eb' dereferencing possible ERR_PTR()
>
> fs/btrfs/relocation.c
> 1850 eb = read_tree_block(dest, old_bytenr, old_ptr_gen);
> 1851 if (IS_ERR(eb)) {
> ^^^^^^^^^^
>
> 1852 ret = PTR_ERR(eb);
>
> Missing break or continue?
>
> 1853 } else if (!extent_buffer_uptodate(eb)) {
> 1854 ret = -EIO;
> 1855 free_extent_buffer(eb);
> 1856 break;
> 1857 }
> 1858 btrfs_tree_lock(eb);
> ^^
> Dereference.
>
> 1859 if (cow) {
> 1860 ret = btrfs_cow_block(trans, dest, eb, parent,
> 1861 slot, &eb);
Ah, thanks a lot for reporting this!
I've double checked other places in that patch, the above one is the only place
we have such a problem.
I'll cook a patch to fix it.
Thanks,
-liubo
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html