diff options
author | Alexandre Ghiti <alexghiti@rivosinc.com> | 2025-02-28 12:06:13 +0300 |
---|---|---|
committer | Alexandre Ghiti <alexghiti@rivosinc.com> | 2025-03-18 16:37:56 +0300 |
commit | 33981b1c4e499021421686dcfa7b3d23a430d00e (patch) | |
tree | e508036278a2efe90f98d8eaa52ca3c912b753ea | |
parent | 475afa39b123699e910c61ad9a51cedce4a0d310 (diff) | |
download | linux-33981b1c4e499021421686dcfa7b3d23a430d00e.tar.xz |
riscv: Fix missing __free_pages() in check_vector_unaligned_access()
The locally allocated pages are never freed up, so add the corresponding
__free_pages().
Fixes: e7c9d66e313b ("RISC-V: Report vector unaligned access speed hwprobe")
Link: https://lore.kernel.org/r/20250228090613.345309-1-alexghiti@rivosinc.com
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
-rw-r--r-- | arch/riscv/kernel/unaligned_access_speed.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c index 91f189cf1611..074ac4abd023 100644 --- a/arch/riscv/kernel/unaligned_access_speed.c +++ b/arch/riscv/kernel/unaligned_access_speed.c @@ -349,7 +349,7 @@ static void check_vector_unaligned_access(struct work_struct *work __always_unus pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned vector access speed\n", cpu); - return; + goto free; } if (word_cycles < byte_cycles) @@ -363,6 +363,9 @@ static void check_vector_unaligned_access(struct work_struct *work __always_unus (speed == RISCV_HWPROBE_MISALIGNED_VECTOR_FAST) ? "fast" : "slow"); per_cpu(vector_misaligned_access, cpu) = speed; + +free: + __free_pages(page, MISALIGNED_BUFFER_ORDER); } static int riscv_online_cpu_vec(unsigned int cpu) |