summaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/elf.h
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-01-01 13:39:22 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-01-11 13:02:28 +0100
commitbcb7825a77f41c7dd91da6f7ac10b928156a322e (patch)
treecf1c9e74ce980a0dccec5b657de5f8a0568f2abe /arch/s390/include/asm/elf.h
parentcb14def6a9cae973ba6f702443c8fc589998279c (diff)
downloadblackbird-op-linux-bcb7825a77f41c7dd91da6f7ac10b928156a322e.tar.gz
blackbird-op-linux-bcb7825a77f41c7dd91da6f7ac10b928156a322e.zip
s390: fix normalization bug in exception table sorting
The normalization pass in the sorting routine of the relative exception table serves two purposes: - it ensures that the address fields of the exception table entries are fully ordered, so that no ambiguities arise between entries with identical instruction offsets (i.e., when two instructions that are exactly 8 bytes apart each have an exception table entry associated with them) - it ensures that the offsets of both the instruction and the fixup fields of each entry are relative to their final location after sorting. Commit eb608fb366de ("s390/exceptions: switch to relative exception table entries") ported the relative exception table format from x86, but modified the sorting routine to only normalize the instruction offset field and not the fixup offset field. The result is that the fixup offset of each entry will be relative to the original location of the entry before sorting, likely leading to crashes when those entries are dereferenced. Fixes: eb608fb366de ("s390/exceptions: switch to relative exception table entries") Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: <stable@vger.kernel.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/elf.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud