浏览代码

[SPARC64]: Fix sparse warnings in arch/sparc64/kernel/ptrace.c

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 17 年之前
父节点
当前提交
bfdf9ebc39
共有 2 个文件被更改,包括 13 次插入3 次删除
  1. 5 1
      arch/sparc64/kernel/entry.h
  2. 8 2
      arch/sparc64/kernel/ptrace.c

+ 5 - 1
arch/sparc64/kernel/entry.h

@@ -1,8 +1,9 @@
 #ifndef _ENTRY_H
 #define _ENTRY_H
 
-#include <linux/init.h>
+#include <linux/kernel.h>
 #include <linux/types.h>
+#include <linux/init.h>
 
 extern char *sparc_cpu_type;
 extern char *sparc_fpu_type;
@@ -13,6 +14,9 @@ extern void __init boot_cpu_id_too_large(int cpu);
 extern unsigned int dcache_parity_tl1_occurred;
 extern unsigned int icache_parity_tl1_occurred;
 
+extern asmlinkage void syscall_trace(struct pt_regs *regs,
+				     int syscall_exit_p);
+
 extern void bad_trap_tl1(struct pt_regs *regs, long lvl);
 
 extern void do_fpe_common(struct pt_regs *regs);

+ 8 - 2
arch/sparc64/kernel/ptrace.c

@@ -35,6 +35,9 @@
 #include <asm/spitfire.h>
 #include <asm/page.h>
 #include <asm/cpudata.h>
+#include <asm/cacheflush.h>
+
+#include "entry.h"
 
 /* #define ALLOW_INIT_TRACING */
 
@@ -807,11 +810,14 @@ struct fps {
 long arch_ptrace(struct task_struct *child, long request, long addr, long data)
 {
 	const struct user_regset_view *view = task_user_regset_view(child);
-	struct pt_regs __user *pregs = (struct pt_regs __user *) addr;
 	unsigned long addr2 = task_pt_regs(current)->u_regs[UREG_I4];
-	struct fps __user *fps = (struct fps __user *) addr;
+	struct pt_regs __user *pregs;
+	struct fps __user *fps;
 	int ret;
 
+	pregs = (struct pt_regs __user *) (unsigned long) addr;
+	fps = (struct fps __user *) (unsigned long) addr;
+
 	switch (request) {
 	case PTRACE_PEEKUSR:
 		ret = (addr != 0) ? -EIO : 0;