2004-11-04 02:02:32

by Blaisorblade

[permalink] [raw]
Subject: [patch 03/20] uml: fix syscall auditing


Correct the entry_exit parameter for syscall_trace when tracing syscalls. It
was the reverse of the needed value. (i.e. it was 1 on entry and 0 on exit).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[email protected]>
---

vanilla-linux-2.6.9-paolo/arch/um/kernel/skas/syscall_user.c | 4 ++--
vanilla-linux-2.6.9-paolo/arch/um/kernel/tt/syscall_user.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff -puN arch/um/kernel/skas/syscall_user.c~uml-fix-syscall-auditing arch/um/kernel/skas/syscall_user.c
--- vanilla-linux-2.6.9/arch/um/kernel/skas/syscall_user.c~uml-fix-syscall-auditing 2004-11-03 23:44:57.311847392 +0100
+++ vanilla-linux-2.6.9-paolo/arch/um/kernel/skas/syscall_user.c 2004-11-03 23:44:57.315846784 +0100
@@ -22,7 +22,7 @@ void handle_syscall(union uml_pt_regs *r

index = record_syscall_start(UPT_SYSCALL_NR(regs));

- syscall_trace(regs, 1);
+ syscall_trace(regs, 0);
result = execute_syscall(regs);

REGS_SET_SYSCALL_RETURN(regs->skas.regs, result);
@@ -30,7 +30,7 @@ void handle_syscall(union uml_pt_regs *r
(result == -ERESTARTNOINTR))
do_signal(result);

- syscall_trace(regs, 0);
+ syscall_trace(regs, 1);
record_syscall_end(index, result);
}

diff -puN arch/um/kernel/tt/syscall_user.c~uml-fix-syscall-auditing arch/um/kernel/tt/syscall_user.c
--- vanilla-linux-2.6.9/arch/um/kernel/tt/syscall_user.c~uml-fix-syscall-auditing 2004-11-03 23:44:57.313847088 +0100
+++ vanilla-linux-2.6.9-paolo/arch/um/kernel/tt/syscall_user.c 2004-11-03 23:44:57.316846632 +0100
@@ -33,7 +33,7 @@ void syscall_handler_tt(int sig, union u
SC_START_SYSCALL(sc);

index = record_syscall_start(syscall);
- syscall_trace(regs, 1);
+ syscall_trace(regs, 0);
result = execute_syscall(regs);

/* regs->sc may have changed while the system call ran (there may
@@ -46,7 +46,7 @@ void syscall_handler_tt(int sig, union u
(result == -ERESTARTNOINTR))
do_signal(result);

- syscall_trace(regs, 0);
+ syscall_trace(regs, 1);
record_syscall_end(index, result);
}

_