On Fri, Jun 06, 2008 at 04:38:34PM +0200, Martin Süßkraut wrote: > has the tracing of system calls changed in utrace between Fedora 8 and 9? > > My module works fine under Fedora 8, but under Fedora 9 the callbacks > report_syscall_entry and report_syscall_exit seam not to be invoked > any more. I had the same problem.
For some reason the only way to trace the syscall is to trace also UTRACE_EVENT(SIGNAL_TERM) or CORE. I added an empty report_signal function and now it works. This behavior was caused by this statement in arch/x86/kernel/ptrace.c: > if (!tracehook_consider_fatal_signal(current, SIGTRAP, SIG_DFL)) > goto out; and in include/linux/tracehook.h: > static inline int tracehook_consider_fatal_signal(struct task_struct *task, > int sig, > void __user *handler) > { > return (tsk_utrace_flags(task) & (UTRACE_EVENT(SIGNAL_TERM) | > UTRACE_EVENT(SIGNAL_CORE))); > } so if neither SIGNAL_TERM nor SIGNAL_CORE got catched, syscalls cannot be traced. Roland, is this a feature or a bug? renzo