aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/dwarf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c
index 606ece37eb42..e6f427cff5ba 100644
--- a/arch/sh/kernel/dwarf.c
+++ b/arch/sh/kernel/dwarf.c
@@ -751,7 +751,8 @@ static int dwarf_parse_cie(void *entry, void *p, unsigned long len,
751} 751}
752 752
753static int dwarf_parse_fde(void *entry, u32 entry_type, 753static int dwarf_parse_fde(void *entry, u32 entry_type,
754 void *start, unsigned long len) 754 void *start, unsigned long len,
755 unsigned char *end)
755{ 756{
756 struct dwarf_fde *fde; 757 struct dwarf_fde *fde;
757 struct dwarf_cie *cie; 758 struct dwarf_cie *cie;
@@ -798,7 +799,7 @@ static int dwarf_parse_fde(void *entry, u32 entry_type,
798 799
799 /* Call frame instructions. */ 800 /* Call frame instructions. */
800 fde->instructions = p; 801 fde->instructions = p;
801 fde->end = start + len; 802 fde->end = end;
802 803
803 /* Add to list. */ 804 /* Add to list. */
804 spin_lock_irqsave(&dwarf_fde_lock, flags); 805 spin_lock_irqsave(&dwarf_fde_lock, flags);
@@ -932,7 +933,7 @@ static int __init dwarf_unwinder_init(void)
932 else 933 else
933 c_entries++; 934 c_entries++;
934 } else { 935 } else {
935 err = dwarf_parse_fde(entry, entry_type, p, len); 936 err = dwarf_parse_fde(entry, entry_type, p, len, end);
936 if (err < 0) 937 if (err < 0)
937 goto out; 938 goto out;
938 else 939 else