Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: mte: Fix double-freeing of the temporary tag storage during coredump

Commit 16decce22efa ("arm64: mte: Fix the stack frame size warning in
mte_dump_tag_range()") moved the temporary tag storage array from the
stack to slab but it also introduced an error in double freeing this
object. Remove the in-loop freeing.

Fixes: 16decce22efa ("arm64: mte: Fix the stack frame size warning in mte_dump_tag_range()")
Cc: <stable@vger.kernel.org> # 5.18.x
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Seth Jenkins <sethjenkins@google.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20221222181251.1345752-2-catalin.marinas@arm.com
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Catalin Marinas and committed by
Will Deacon
736eedc9 eb9a8526

-1
-1
arch/arm64/kernel/elfcore.c
··· 65 65 mte_save_page_tags(page_address(page), tags); 66 66 put_page(page); 67 67 if (!dump_emit(cprm, tags, MTE_PAGE_TAG_STORAGE)) { 68 - mte_free_tag_storage(tags); 69 68 ret = 0; 70 69 break; 71 70 }