Messages in this thread | | | Subject | Re: [PATCH] btrfs: fix a NULL pointer dereference | From | Nikolay Borisov <> | Date | Thu, 14 Mar 2019 09:54:07 +0200 |
| |
On 14.03.19 г. 9:50 ч., Kangjie Lu wrote: > btrfs_lookup_block_group may fail and return NULL. The fix goes > to out when it fails to avoid NULL pointer dereference.
Actually no, in this case btrfs_lookup_block_group must never fail because if we have an allocated eb then it must have been allocated from a bg.
> > Signed-off-by: Kangjie Lu <kjlu@umn.edu> > --- > fs/btrfs/extent-tree.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c > index 994f0cc41799..b1e7985bcb9d 100644 > --- a/fs/btrfs/extent-tree.c > +++ b/fs/btrfs/extent-tree.c > @@ -7303,6 +7303,8 @@ void btrfs_free_tree_block(struct btrfs_trans_handle *trans, > > pin = 0; > cache = btrfs_lookup_block_group(fs_info, buf->start); > + if (!cache) > + goto out; > > if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN)) { > pin_down_extent(fs_info, cache, buf->start, >
| |