about summary refs log tree commit diff
path: root/arch/x32
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-05-02 11:57:20 -0400
committerRich Felker <dalias@aerifal.cx>2015-05-02 11:57:20 -0400
commit551c1d7a5718667da2ee56434c18f0a9b9612ed2 (patch)
tree2924afa5b7c757a5132e3e56f11dd926589f70bd /arch/x32
parent2d5c74c21e0483128624c43d4399ef49e057e264 (diff)
downloadmusl-551c1d7a5718667da2ee56434c18f0a9b9612ed2.tar.gz
musl-551c1d7a5718667da2ee56434c18f0a9b9612ed2.tar.xz
musl-551c1d7a5718667da2ee56434c18f0a9b9612ed2.zip
fix crash in x32 sigsetjmp
the 64-bit push reads not only the 32-bit return address but also the
first 32 signal mask bits. if any were nonzero, the return address
obtained will be invalid.

at some point storage of the return address should probably be moved
to follow the saved mask so that there's plenty room and the same code
can be used on x32 and regular x86_64, but for now I want a fix that
does not risk breaking x86_64, and this simple re-zeroing works.
Diffstat (limited to 'arch/x32')
0 files changed, 0 insertions, 0 deletions