find_extent_in_eb() may return ENOMEM, catch this error return value.
Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Miao Xie <miaox@xxxxxxxxxxxxxx>
---
fs/btrfs/backref.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index 54e7610..f7781e6 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -934,6 +934,10 @@ again:
}
ret = find_extent_in_eb(eb, bytenr,
*extent_item_pos, &eie);
+ if (ret) {
+ free_extent_buffer(eb);
+ goto out;
+ }
ref->inode_list = eie;
free_extent_buffer(eb);
}
--
1.8.0.1
--
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