fix x32 __set_thread_area failure due to junk in upper bits
the kernel does not properly clear the upper bits of the syscall argument, so we have to do it before the syscall.
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
.global __set_thread_area
|
||||
.type __set_thread_area,@function
|
||||
__set_thread_area:
|
||||
mov %rdi,%rsi /* shift for syscall */
|
||||
mov %edi,%esi /* shift for syscall */
|
||||
movl $0x1002,%edi /* SET_FS register */
|
||||
movl $0x4000009e,%eax /* set fs segment to */
|
||||
syscall /* arch_prctl(SET_FS, arg)*/
|
||||
|
||||
Reference in New Issue
Block a user