加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0003-thin_ll_dump-Fix-potential-segfault-while-reading-in.patch 1.25 KB
一键复制 编辑 原始数据 按行查看 历史
wguanghao 提交于 2022-11-04 14:42 . backport patch from community
From f3c2ade90acbd1ac9a9391ff8e09fbe252a63b45 Mon Sep 17 00:00:00 2001
From: Ming-Hung Tsai <mtsai@redhat.com>
Date: Tue, 12 Oct 2021 23:19:00 +0800
Subject: [PATCH] [thin_ll_dump] Fix potential segfault while reading invalid
subtree roots
---
thin-provisioning/thin_ll_dump.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/thin-provisioning/thin_ll_dump.cc b/thin-provisioning/thin_ll_dump.cc
index e6048d0..9207cd2 100644
--- a/thin-provisioning/thin_ll_dump.cc
+++ b/thin-provisioning/thin_ll_dump.cc
@@ -135,7 +135,9 @@ namespace {
public:
ll_mapping_tree_emitter(block_manager::ptr bm,
indented_stream &out)
- : bm_(bm), out_(out) {
+ : bm_(bm),
+ nv_(create_btree_node_validator()),
+ out_(out) {
}
void visit(btree_path const &path, block_address tree_root) {
@@ -147,6 +149,7 @@ namespace {
try {
block_manager::read_ref rr = bm_->read_lock(tree_root);
node_ref<uint64_traits> n = btree_detail::to_node<uint64_traits>(rr);
+ nv_->check(n.raw(), tree_root);
node_info ni;
convert_to_node_info(n, ni);
output_node_info(out_, ni);
@@ -160,6 +163,7 @@ namespace {
}
private:
block_manager::ptr bm_;
+ bcache::validator::ptr nv_;
indented_stream& out_;
};
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化