aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/unaligned_64.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-01-07 20:15:57 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-07 20:15:57 -0500
commit18b8e08e290e9df588f51f5a7df50555f5a25664 (patch)
treed24969d7dd7b7bb67de96ff661fea253ae068324 /arch/sparc/kernel/unaligned_64.c
parent3f4528d6e91cffde49894f5252e6657d420d3d74 (diff)
sparc64: Work around branch tracer warning.
As reported by Sam Ravnborg, Gcc-3.4.5 does not handle: if (get_user() || get_user()) with the new branch tracer enabled. Just seperate it out into seperate statements for now so people can get work done. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/unaligned_64.c')
-rw-r--r--arch/sparc/kernel/unaligned_64.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c
index 203ddfad9f27..f164d5a850f9 100644
--- a/arch/sparc/kernel/unaligned_64.c
+++ b/arch/sparc/kernel/unaligned_64.c
@@ -601,11 +601,15 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr
601 pc = (u32)pc; 601 pc = (u32)pc;
602 if (get_user(insn, (u32 __user *) pc) != -EFAULT) { 602 if (get_user(insn, (u32 __user *) pc) != -EFAULT) {
603 int asi = decode_asi(insn, regs); 603 int asi = decode_asi(insn, regs);
604 int err;
605
604 if ((asi > ASI_SNFL) || 606 if ((asi > ASI_SNFL) ||
605 (asi < ASI_P)) 607 (asi < ASI_P))
606 goto daex; 608 goto daex;
607 if (get_user(first, (u32 __user *)sfar) || 609 err = get_user(first, (u32 __user *)sfar);
608 get_user(second, (u32 __user *)(sfar + 4))) { 610 if (!err)
611 err = get_user(second, (u32 __user *)(sfar + 4));
612 if (err) {
609 if (asi & 0x2) /* NF */ { 613 if (asi & 0x2) /* NF */ {
610 first = 0; second = 0; 614 first = 0; second = 0;
611 } else 615 } else