Commit 00b3e0a2 authored by Marek Skuczynski's avatar Marek Skuczynski Committed by Paul Mundt

sh: Fix access to released memory in dwarf_unwinder_cleanup()

Signed-off-by: default avatarMarek Skuczynski <mareksk7@gmail.com>
Acked-by: default avatarMatt Fleming <matt@console-pimps.org>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent e5ff15be
...@@ -892,18 +892,18 @@ static struct unwinder dwarf_unwinder = { ...@@ -892,18 +892,18 @@ static struct unwinder dwarf_unwinder = {
static void dwarf_unwinder_cleanup(void) static void dwarf_unwinder_cleanup(void)
{ {
struct dwarf_cie *cie; struct dwarf_cie *cie, *cie_tmp;
struct dwarf_fde *fde; struct dwarf_fde *fde, *fde_tmp;
/* /*
* Deallocate all the memory allocated for the DWARF unwinder. * Deallocate all the memory allocated for the DWARF unwinder.
* Traverse all the FDE/CIE lists and remove and free all the * Traverse all the FDE/CIE lists and remove and free all the
* memory associated with those data structures. * memory associated with those data structures.
*/ */
list_for_each_entry(cie, &dwarf_cie_list, link) list_for_each_entry_safe(cie, cie_tmp, &dwarf_cie_list, link)
kfree(cie); kfree(cie);
list_for_each_entry(fde, &dwarf_fde_list, link) list_for_each_entry_safe(fde, fde_tmp, &dwarf_fde_list, link)
kfree(fde); kfree(fde);
kmem_cache_destroy(dwarf_reg_cachep); kmem_cache_destroy(dwarf_reg_cachep);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment