diff options
author | Luca Dariz <luca@orpolo.org> | 2023-02-27 21:45:00 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-02-27 22:42:16 +0100 |
commit | d2880baef19991270cbcdbdb22622e91815faadc (patch) | |
tree | 4c2c3121cf2730e90b72dbb0b81183e0e191f5dd /i386 | |
parent | 8d402b754f3a436dc0e7e6e7ed3b763e98379976 (diff) | |
download | gnumach-d2880baef19991270cbcdbdb22622e91815faadc.tar.gz gnumach-d2880baef19991270cbcdbdb22622e91815faadc.tar.bz2 gnumach-d2880baef19991270cbcdbdb22622e91815faadc.zip |
x86_64: fix user trap during syscall with an invalid user stack
* i386/i386/locore.h: user vm_offset_t in the recovery_table
* x86_64/locore.S: fix RECOVERY() location and keep user regs in %rbx,
as it seems the convention. This only applies to 32-bit userspace.
Message-Id: <20230227204501.2492152-5-luca@orpolo.org>
Diffstat (limited to 'i386')
-rw-r--r-- | i386/i386/locore.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/i386/i386/locore.h b/i386/i386/locore.h index 00da07ad..a8807dbf 100644 --- a/i386/i386/locore.h +++ b/i386/i386/locore.h @@ -27,8 +27,8 @@ * Fault recovery in copyin/copyout routines. */ struct recovery { - int fault_addr; - int recover_addr; + vm_offset_t fault_addr; + vm_offset_t recover_addr; }; extern struct recovery recover_table[]; |