From 2ce2ce8229e1a6a562ddcfe305366d07f02af7ae Mon Sep 17 00:00:00 2001 From: Alex Sierra Date: Thu, 18 Nov 2021 22:27:32 -0600 Subject: [PATCH] kfdtest: free user ptr buffer at SetGetAttributesTest Explicitly free the user buffer ptr before test's tear down. Otherwise the svm_bo object will never be released, causing a BUG error. Due to a late callback to svm_migrate_page_free when prange not longer exist. Also did cosmetic adjustments. Signed-off-by: Alex Sierra Change-Id: I989c62de8a9634faa84e42def956cecb3f84e329 [ROCm/ROCR-Runtime commit: 2dbee30232e30fe3055a0af6fc24253b466d71ff] --- .../tests/kfdtest/src/KFDSVMRangeTest.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/projects/rocr-runtime/tests/kfdtest/src/KFDSVMRangeTest.cpp b/projects/rocr-runtime/tests/kfdtest/src/KFDSVMRangeTest.cpp index faf0cd89fa..3d4e64b6dd 100644 --- a/projects/rocr-runtime/tests/kfdtest/src/KFDSVMRangeTest.cpp +++ b/projects/rocr-runtime/tests/kfdtest/src/KFDSVMRangeTest.cpp @@ -111,7 +111,7 @@ TEST_F(KFDSVMRangeTest, SetGetAttributesTest) { int i; unsigned int BufSize = PAGE_SIZE; - HsaSVMRange *sysBuffer; + HsaSVMRange *sysBuffer = new HsaSVMRange(BufSize); HSAuint32 nAttributes = 5; HSA_SVM_ATTRIBUTE outputAttributes[nAttributes]; HSA_SVM_ATTRIBUTE inputAttributes[] = { @@ -132,8 +132,8 @@ TEST_F(KFDSVMRangeTest, SetGetAttributesTest) { }; HSAint32 enable = -1; EXPECT_SUCCESS(hsaKmtGetXNACKMode(&enable)); - expectedDefaultResults[4] = (enable)?HSA_SVM_ATTR_ACCESS:HSA_SVM_ATTR_NO_ACCESS; - sysBuffer = new HsaSVMRange(BufSize); + expectedDefaultResults[4] = (enable) ? + HSA_SVM_ATTR_ACCESS : HSA_SVM_ATTR_NO_ACCESS; char *pBuf = sysBuffer->As(); LOG() << "Get default atrributes" << std::endl; @@ -155,14 +155,15 @@ TEST_F(KFDSVMRangeTest, SetGetAttributesTest) { nAttributes, inputAttributes)); EXPECT_SUCCESS(hsaKmtSVMGetAttr(pBuf, BufSize, nAttributes, outputAttributes)); - for (i = 0; i < nAttributes; i++) { + for (i = 0; i < nAttributes; i++) { if (outputAttributes[i].type == HSA_SVM_ATTR_ACCESS || outputAttributes[i].type == HSA_SVM_ATTR_ACCESS_IN_PLACE || outputAttributes[i].type == HSA_SVM_ATTR_NO_ACCESS) EXPECT_EQ(inputAttributes[i].type, outputAttributes[i].type); else EXPECT_EQ(inputAttributes[i].value, outputAttributes[i].value); - } + } + delete sysBuffer; TEST_END }