[S390] Add set_fs(USER_DS) to start_thread().
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 5 Feb 2007 20:17:38 +0000 (21:17 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 5 Feb 2007 20:17:38 +0000 (21:17 +0100)
Currently works anyway since search_binary_handler has a
set_fs(USER_DS). But start_thread() is the place where this should be
done. Following all other architectures...

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
include/asm-s390/processor.h

index 5dc6b93..7a7f50e 100644 (file)
@@ -144,6 +144,7 @@ struct stack_frame {
 #ifndef __s390x__
 
 #define start_thread(regs, new_psw, new_stackp) do {            \
+       set_fs(USER_DS);                                        \
         regs->psw.mask  = PSW_USER_BITS;                        \
         regs->psw.addr  = new_psw | PSW_ADDR_AMODE;             \
         regs->gprs[15]  = new_stackp ;                          \
@@ -152,12 +153,14 @@ struct stack_frame {
 #else /* __s390x__ */
 
 #define start_thread(regs, new_psw, new_stackp) do {            \
+       set_fs(USER_DS);                                        \
         regs->psw.mask  = PSW_USER_BITS;                        \
         regs->psw.addr  = new_psw;                              \
         regs->gprs[15]  = new_stackp;                           \
 } while (0)
 
 #define start_thread31(regs, new_psw, new_stackp) do {          \
+       set_fs(USER_DS);                                        \
        regs->psw.mask  = PSW_USER32_BITS;                      \
         regs->psw.addr  = new_psw;                              \
         regs->gprs[15]  = new_stackp;                           \