diff options
author | Kyle McMartin <kyle@parisc-linux.org> | 2007-05-30 08:27:46 +0200 |
---|---|---|
committer | Kyle McMartin <kyle@minerva.i.cabal.ca> | 2007-05-30 08:27:46 +0200 |
commit | 376e210b71d7736775f43f32c5c7712f90aaf59a (patch) | |
tree | 2211ea5babfcd554bc47e64864bf3835e30db63a /arch/parisc/kernel | |
parent | [PARISC] fix null ptr deref in unwind.c (diff) | |
download | linux-376e210b71d7736775f43f32c5c7712f90aaf59a.tar.xz linux-376e210b71d7736775f43f32c5c7712f90aaf59a.zip |
[PARISC] fix "reduce size of task_struct on 64-bit machines" fallout
Amazingly, parisc was the only arch effected by this...
Convert register-sized loads/stores to always be 32-bit for these fields.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel')
-rw-r--r-- | arch/parisc/kernel/entry.S | 5 | ||||
-rw-r--r-- | arch/parisc/kernel/syscall.S | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 98ae563a0905..42598abf4576 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S @@ -2019,10 +2019,9 @@ ENTRY(syscall_exit) STREG %r28,TASK_PT_GR28(%r1) #ifdef CONFIG_HPUX - /* <linux/personality.h> cannot be easily included */ #define PER_HPUX 0x10 - LDREG TASK_PERSONALITY(%r1),%r19 + ldw TASK_PERSONALITY(%r1),%r19 /* We can't use "CMPIB<> PER_HPUX" since "im5" field is sign extended */ ldo -PER_HPUX(%r19), %r19 @@ -2081,7 +2080,7 @@ syscall_restore: /* Are we being ptraced? */ LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 - LDREG TASK_PTRACE(%r1), %r19 + ldw TASK_PTRACE(%r1), %r19 bb,< %r19,31,syscall_restore_rfi nop diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index 4603032d56ef..91b2a48b1921 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S @@ -181,7 +181,7 @@ linux_gateway_entry: /* Are we being ptraced? */ mfctl %cr30, %r1 LDREG TI_TASK(%r1),%r1 - LDREG TASK_PTRACE(%r1), %r1 + ldw TASK_PTRACE(%r1), %r1 bb,<,n %r1,31,.Ltracesys /* Note! We cannot use the syscall table that is mapped |