Commit ccc1525f authored by Hans-Christian Egtvedt's avatar Hans-Christian Egtvedt Committed by Greg Kroah-Hartman

avr32: fix relocation check for signed 18-bit offset

commit e68c636d upstream.

Caught by static code analysis by David.
Reported-by: default avatarDavid Binderman <dcb314@hotmail.com>
Signed-off-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0bfd8ffe
...@@ -264,7 +264,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab, ...@@ -264,7 +264,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
break; break;
case R_AVR32_GOT18SW: case R_AVR32_GOT18SW:
if ((relocation & 0xfffe0003) != 0 if ((relocation & 0xfffe0003) != 0
&& (relocation & 0xfffc0003) != 0xffff0000) && (relocation & 0xfffc0000) != 0xfffc0000)
return reloc_overflow(module, "R_AVR32_GOT18SW", return reloc_overflow(module, "R_AVR32_GOT18SW",
relocation); relocation);
relocation >>= 2; relocation >>= 2;
......
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