aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-05-30 02:27:46 -0400
committerKyle McMartin <kyle@minerva.i.cabal.ca>2007-05-30 02:27:46 -0400
commit376e210b71d7736775f43f32c5c7712f90aaf59a (patch)
tree2211ea5babfcd554bc47e64864bf3835e30db63a /arch/parisc/kernel
parent[PARISC] fix null ptr deref in unwind.c (diff)
downloadlinux-dev-376e210b71d7736775f43f32c5c7712f90aaf59a.tar.xz
linux-dev-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.S5
-rw-r--r--arch/parisc/kernel/syscall.S2
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