diff --git a/0003-thin_ll_dump-Fix-potential-segfault-while-reading-in.patch b/0003-thin_ll_dump-Fix-potential-segfault-while-reading-in.patch new file mode 100644 index 0000000000000000000000000000000000000000..b46c0029590c6932c193b8aafe5e339e6b40270e --- /dev/null +++ b/0003-thin_ll_dump-Fix-potential-segfault-while-reading-in.patch @@ -0,0 +1,44 @@ +From f3c2ade90acbd1ac9a9391ff8e09fbe252a63b45 Mon Sep 17 00:00:00 2001 +From: Ming-Hung Tsai +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 n = btree_detail::to_node(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 + diff --git a/thin-provisioning-tools.spec b/thin-provisioning-tools.spec index d4f301d150bade996be4b0b85fb32f3e4fc68bdd..f0f1044e8cc6be27f47a9dd59e6cdd02e5343ce1 100644 --- a/thin-provisioning-tools.spec +++ b/thin-provisioning-tools.spec @@ -1,12 +1,13 @@ Name: thin-provisioning-tools Version: 0.9.0 -Release: 3 +Release: 4 Summary: Tools for manipulating Device-mapper metadata License: GPLv3+ URL: https://github.com/jthornber/thin-provisioning-tools Source0: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}.tar.gz Patch1: 0001-device-mapper-persistent-data-avoid-strip.patch Patch2: 0002-build-remove-lboost_iostreams-linker-flag.patch +Patch3: 0003-thin_ll_dump-Fix-potential-segfault-while-reading-in.patch BuildRequires: autoconf, expat-devel BuildRequires: libaio-devel, libstdc++-devel @@ -51,6 +52,9 @@ make DESTDIR=%{buildroot} MANDIR=%{_mandir} install %{_mandir}/man*/* %changelog +* Fri Nov 4 2022 wuguanghao - 0.9.0-4 +- backport bugfix patch from community + * Wed Sep 15 2021 Liu Zixian - 0.9.0-3 - Remove redundant dependency