From b387fdeeb3a56d7d2137bf32dab4ade083f6f096 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Sun, 17 Oct 2021 13:09:14 +0200 Subject: [PATCH] test/librados_test_stub: add IoCtx::{set,get}_pool_full_try() stubs Because unittest_librbd links not just with librados_test_stub.a but also with librados.so (why?), these were sneakily picked up from the latter. This resulted in get_pool_full_try() reading from invalid memory and every once in a while returning true, prompting librbd to write to invalid memory through set_pool_full_try() in create_ioctx() and cause random crashes. Signed-off-by: Ilya Dryomov --- src/test/librados_test_stub/LibradosTestStub.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/librados_test_stub/LibradosTestStub.cc b/src/test/librados_test_stub/LibradosTestStub.cc index b5ceb53eae92b..9e430057faabc 100644 --- a/src/test/librados_test_stub/LibradosTestStub.cc +++ b/src/test/librados_test_stub/LibradosTestStub.cc @@ -791,6 +791,13 @@ std::string IoCtx::get_namespace() const { return ctx->get_namespace(); } +void IoCtx::set_pool_full_try() { +} + +bool IoCtx::get_pool_full_try() { + return false; +} + static int save_operation_result(int result, int *pval) { if (pval != NULL) { *pval = result; -- 2.39.5