projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use "unknown" for compat syscalls
[lttng-modules.git]
/
lttng-syscalls.c
diff --git
a/lttng-syscalls.c
b/lttng-syscalls.c
index 378d9f1ef64a68344fe0f2b0586b4bcbebdbbb47..40bf9575ddbb071dc923542803e74a9d1e88437e 100644
(file)
--- a/
lttng-syscalls.c
+++ b/
lttng-syscalls.c
@@
-10,11
+10,19
@@
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/slab.h>
+#include <linux/compat.h>
#include <asm/ptrace.h>
#include <asm/syscall.h>
#include "ltt-events.h"
#include <asm/ptrace.h>
#include <asm/syscall.h>
#include "ltt-events.h"
+#ifndef CONFIG_COMPAT
+static inline int is_compat_task(void)
+{
+ return 0;
+}
+#endif
+
static void syscall_entry_probe(void *__data, struct pt_regs *regs, long id);
/*
static void syscall_entry_probe(void *__data, struct pt_regs *regs, long id);
/*
@@
-80,13
+88,18
@@
static void syscall_entry_unknown(struct ltt_channel *chan,
__event_probe__sys_unknown(event, id, args);
}
__event_probe__sys_unknown(event, id, args);
}
+/*
+ * Currently, given that the kernel syscall metadata extraction only
+ * considers native system calls (not 32-bit compability ones), we
+ * fall-back on the "unknown" system call tracing for 32-bit compat.
+ */
static void syscall_entry_probe(void *__data, struct pt_regs *regs, long id)
{
struct trace_syscall_entry *entry;
struct ltt_channel *chan = __data;
struct ltt_event *event;
static void syscall_entry_probe(void *__data, struct pt_regs *regs, long id)
{
struct trace_syscall_entry *entry;
struct ltt_channel *chan = __data;
struct ltt_event *event;
- if (unlikely(id >= ARRAY_SIZE(sc_table))) {
+ if (unlikely(i
s_compat_task() || i
d >= ARRAY_SIZE(sc_table))) {
syscall_entry_unknown(chan, regs, id);
return;
}
syscall_entry_unknown(chan, regs, id);
return;
}
This page took
0.023758 seconds
and
4
git commands to generate.