From 0fed29f77c198c5f207c4591230644ab5eb3aed7 Mon Sep 17 00:00:00 2001 From: Jaydeep Patel Date: Mon, 25 Jul 2022 15:32:59 +0000 Subject: [PATCH] SWDEV-347592 - validate hipMemAllocationType & hipMemLocationType Change-Id: Ia8c4d3edc7ad96efa429b3530a118199d4f92902 --- hipamd/src/hip_mempool.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hipamd/src/hip_mempool.cpp b/hipamd/src/hip_mempool.cpp index bb11708264..80659b0c6d 100644 --- a/hipamd/src/hip_mempool.cpp +++ b/hipamd/src/hip_mempool.cpp @@ -171,6 +171,20 @@ hipError_t hipMemPoolCreate(hipMemPool_t* mem_pool, const hipMemPoolProps* pool_ if (mem_pool == nullptr) { HIP_RETURN(hipErrorInvalidValue); } + + // validate hipMemAllocationType value + if (pool_props->allocType != hipMemAllocationTypeInvalid && + pool_props->allocType != hipMemAllocationTypePinned && + pool_props->allocType != hipMemAllocationTypeMax) { + HIP_RETURN(hipErrorInvalidValue); + } + + // validate hipMemLocationType value + if (pool_props->location.type != hipMemLocationTypeInvalid && + pool_props->location.type != hipMemLocationTypeDevice) { + HIP_RETURN(hipErrorInvalidValue); + } + // Make sure the pool creation occurs on a valid device if ((pool_props->location.type != hipMemLocationTypeDevice) || (pool_props->location.id >= g_devices.size())) {