From: Ilya Dryomov Date: Sun, 17 Oct 2021 11:09:14 +0000 (+0200) Subject: test/librados_test_stub: add IoCtx::{set,get}_pool_full_try() stubs X-Git-Tag: v17.1.0~617^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=b387fdeeb3a56d7d2137bf32dab4ade083f6f096;p=ceph-ci.git 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 --- diff --git a/src/test/librados_test_stub/LibradosTestStub.cc b/src/test/librados_test_stub/LibradosTestStub.cc index b5ceb53eae9..9e430057faa 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;