From 0705c6756809e0dac25ac2986f455c2088dad5c2 Mon Sep 17 00:00:00 2001 From: Christophe Favergeon Date: Thu, 27 Oct 2022 10:23:02 +0200 Subject: [PATCH] Corrected issue #59 Out of bound access for arm_correlate MVE implementations. --- Source/FilteringFunctions/arm_correlate_f16.c | 2 +- Source/FilteringFunctions/arm_correlate_f32.c | 2 +- Source/FilteringFunctions/arm_correlate_q15.c | 2 +- Source/FilteringFunctions/arm_correlate_q31.c | 2 +- Source/FilteringFunctions/arm_correlate_q7.c | 2 +- Testing/cmsis_build/quicktest.bat | 8 +++++++- Testing/cmsis_build/test.Release+FVP_A5Neon.cprj | 2 +- Testing/cmsis_build/test.Release+FVP_A7Neon.cprj | 2 +- Testing/cmsis_build/test.Release+FVP_A9Neon.cprj | 2 +- Testing/cmsis_build/test.Release+FVP_M55.cprj | 2 +- Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj | 2 +- Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M0P.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M23.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M3.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M33.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M4.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M7.cprj | 2 +- Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj | 2 +- Testing/cmsis_build/testgcc.csolution.yml | 3 --- 20 files changed, 25 insertions(+), 22 deletions(-) diff --git a/Source/FilteringFunctions/arm_correlate_f16.c b/Source/FilteringFunctions/arm_correlate_f16.c index 76d6e9bd..62abde8c 100755 --- a/Source/FilteringFunctions/arm_correlate_f16.c +++ b/Source/FilteringFunctions/arm_correlate_f16.c @@ -418,7 +418,7 @@ void arm_correlate_f16( pA++; } - for (i = block3 - 1; i >= 0; i -= 2) + for (i = block3 - 1; i > 0; i -= 2) { uint32_t count = (i + 1); diff --git a/Source/FilteringFunctions/arm_correlate_f32.c b/Source/FilteringFunctions/arm_correlate_f32.c index 70119d12..fc8d0bbf 100644 --- a/Source/FilteringFunctions/arm_correlate_f32.c +++ b/Source/FilteringFunctions/arm_correlate_f32.c @@ -268,7 +268,7 @@ void arm_correlate_f32( pA++; } - for (i = block3 - 1; i >= 0; i -= 2) + for (i = block3 - 1; i > 0; i -= 2) { uint32_t count = (i + 1); diff --git a/Source/FilteringFunctions/arm_correlate_q15.c b/Source/FilteringFunctions/arm_correlate_q15.c index 2dd16d72..ef36b8db 100644 --- a/Source/FilteringFunctions/arm_correlate_q15.c +++ b/Source/FilteringFunctions/arm_correlate_q15.c @@ -226,7 +226,7 @@ void arm_correlate_q15( pA++; } - for (i = block3 - 1; i >= 0; i -= 2) + for (i = block3 - 1; i > 0; i -= 2) { uint32_t count = (i + 1); diff --git a/Source/FilteringFunctions/arm_correlate_q31.c b/Source/FilteringFunctions/arm_correlate_q31.c index a5f15fec..98d3d0aa 100644 --- a/Source/FilteringFunctions/arm_correlate_q31.c +++ b/Source/FilteringFunctions/arm_correlate_q31.c @@ -220,7 +220,7 @@ void arm_correlate_q31( pA++; } - for (i = block3 - 1; i >= 0; i -= 2) + for (i = block3 - 1; i > 0; i -= 2) { uint32_t count = (i + 1); diff --git a/Source/FilteringFunctions/arm_correlate_q7.c b/Source/FilteringFunctions/arm_correlate_q7.c index 0b924e82..f7c29d58 100644 --- a/Source/FilteringFunctions/arm_correlate_q7.c +++ b/Source/FilteringFunctions/arm_correlate_q7.c @@ -220,7 +220,7 @@ void arm_correlate_q7( pA++; } - for (i = block3 - 1; i >= 0; i -= 2) + for (i = block3 - 1; i > 0; i -= 2) { uint32_t count = (i + 1); int32_t acc0 = 0LL; diff --git a/Testing/cmsis_build/quicktest.bat b/Testing/cmsis_build/quicktest.bat index 01c70bca..21a3a9a6 100644 --- a/Testing/cmsis_build/quicktest.bat +++ b/Testing/cmsis_build/quicktest.bat @@ -1,10 +1,16 @@ ECHO OFF ECHO "Gen Test" cd .. -python processTests.py -f Output.pickle -e TransformRF32 +python processTests.py -f Output.pickle -e MISC cd cmsis_build ECHO "Build" cbuild "test.Release+VHT-Corstone-300.cprj" ECHO "Run" C:\Keil_v5\ARM\VHT\VHT_Corstone_SSE-300_Ethos-U55.exe -f configs/ARM_VHT_Corstone_300_config.txt -a cpu0="out\test\VHT-Corstone-300\Release\test.Release+VHT-Corstone-300.axf" > results_cs300_u55.txt python ..\processResult.py -f ..\Output.pickle -e -r results_cs300_u55.txt + +REM ECHO "Build" +REM cbuild "test.Release+VHT_M7_UNROLLED.cprj" +REM ECHO "Run" +REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M7.exe -f configs/ARM_VHT_MPS2_M7DP_config.txt out\test\VHT_M7_UNROLLED\Release\test.Release+VHT_M7_UNROLLED.axf > results_m7_unrolled.txt +REM python ..\processResult.py -f ..\Output.pickle -e -r results_m7_unrolled.txt \ No newline at end of file diff --git a/Testing/cmsis_build/test.Release+FVP_A5Neon.cprj b/Testing/cmsis_build/test.Release+FVP_A5Neon.cprj index 9340a309..2756798d 100644 --- a/Testing/cmsis_build/test.Release+FVP_A5Neon.cprj +++ b/Testing/cmsis_build/test.Release+FVP_A5Neon.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+FVP_A7Neon.cprj b/Testing/cmsis_build/test.Release+FVP_A7Neon.cprj index 4e0cbbae..985180da 100644 --- a/Testing/cmsis_build/test.Release+FVP_A7Neon.cprj +++ b/Testing/cmsis_build/test.Release+FVP_A7Neon.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+FVP_A9Neon.cprj b/Testing/cmsis_build/test.Release+FVP_A9Neon.cprj index 4b2bdc15..c950702c 100644 --- a/Testing/cmsis_build/test.Release+FVP_A9Neon.cprj +++ b/Testing/cmsis_build/test.Release+FVP_A9Neon.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+FVP_M55.cprj b/Testing/cmsis_build/test.Release+FVP_M55.cprj index 3a6f7c19..bc1637e1 100644 --- a/Testing/cmsis_build/test.Release+FVP_M55.cprj +++ b/Testing/cmsis_build/test.Release+FVP_M55.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj b/Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj index 0da60fc8..ec5ab55e 100644 --- a/Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj +++ b/Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj b/Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj index a76f1917..14191198 100644 --- a/Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj +++ b/Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M0P.cprj b/Testing/cmsis_build/test.Release+VHT_M0P.cprj index f607bb63..e456ccad 100644 --- a/Testing/cmsis_build/test.Release+VHT_M0P.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M0P.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M23.cprj b/Testing/cmsis_build/test.Release+VHT_M23.cprj index b5a75a75..16db79cb 100644 --- a/Testing/cmsis_build/test.Release+VHT_M23.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M23.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M3.cprj b/Testing/cmsis_build/test.Release+VHT_M3.cprj index 2a28974c..5f00d7a3 100644 --- a/Testing/cmsis_build/test.Release+VHT_M3.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M3.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M33.cprj b/Testing/cmsis_build/test.Release+VHT_M33.cprj index e963612d..5384a61e 100644 --- a/Testing/cmsis_build/test.Release+VHT_M33.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M33.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M4.cprj b/Testing/cmsis_build/test.Release+VHT_M4.cprj index 34d91748..aab8f0d1 100644 --- a/Testing/cmsis_build/test.Release+VHT_M4.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M4.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M7.cprj b/Testing/cmsis_build/test.Release+VHT_M7.cprj index 0f7e503d..2d1430b5 100644 --- a/Testing/cmsis_build/test.Release+VHT_M7.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M7.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj b/Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj index 84992a3f..bf43841d 100644 --- a/Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj +++ b/Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj @@ -1,6 +1,6 @@ - + Automatically generated project diff --git a/Testing/cmsis_build/testgcc.csolution.yml b/Testing/cmsis_build/testgcc.csolution.yml index 8769f179..85dd7cd8 100644 --- a/Testing/cmsis_build/testgcc.csolution.yml +++ b/Testing/cmsis_build/testgcc.csolution.yml @@ -35,9 +35,6 @@ solution: #- type: VHT-Corstone-310 # device: ARM::SSE-310-MPS3 - #- type: VHT-Corstone-300 - # device: ARM::SSE-300-MPS3 - - type: FVP_M55 device: ARMCM55 defines: