summaryrefslogtreecommitdiffstats
path: root/src/audit.c
diff options
context:
space:
mode:
authorJiri Olsa <Jiri Olsa jolsa@redhat.com>2010-02-13 21:24:45 +0100
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2010-02-13 21:24:45 +0100
commitd2dc8169c4f2c97e4c6a92505cdb97243e22d9cc (patch)
treee811001eca9d2d4e7b4dffb6254e2d9aefcde841 /src/audit.c
parent7cfcb7e6a024d27e2bc9756d8a8595d7ecb50811 (diff)
downloadlatrace-d2dc8169c4f2c97e4c6a92505cdb97243e22d9cc.tar.gz
latrace-d2dc8169c4f2c97e4c6a92505cdb97243e22d9cc.tar.xz
latrace-d2dc8169c4f2c97e4c6a92505cdb97243e22d9cc.zip
controled config feature and disable auditing feature
Diffstat (limited to 'src/audit.c')
-rw-r--r--src/audit.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/audit.c b/src/audit.c
index 3eaff1d..58b9496 100644
--- a/src/audit.c
+++ b/src/audit.c
@@ -274,9 +274,17 @@ pltenter(ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
struct link_map *lr = (struct link_map*) *refcook;
struct link_map *ld = (struct link_map*) *defcook;
- CHECK_PID(sym->st_value);
+ do {
+ if (lt_sh(&cfg, disabled))
+ break;
+
+ CHECK_PID(sym->st_value);
+
+ sym_entry(symname, lr ? lr->l_name : NULL,
+ ld ? ld->l_name : NULL, regs);
+
+ } while(0);
- sym_entry(symname, lr ? lr->l_name : NULL, ld ? ld->l_name : NULL, regs);
*framesizep = lt_sh(&cfg, framesize);
return sym->st_value;
}
@@ -288,8 +296,16 @@ unsigned int pltexit(ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
struct link_map *lr = (struct link_map*) *refcook;
struct link_map *ld = (struct link_map*) *defcook;
- CHECK_PID(0);
+ do {
+ if (lt_sh(&cfg, disabled))
+ break;
+
+ CHECK_PID(0);
+
+ sym_exit(symname, lr ? lr->l_name : NULL,
+ ld ? ld->l_name : NULL, inregs, outregs);
+
+ } while(0);
- sym_exit(symname, lr ? lr->l_name : NULL, ld ? ld->l_name : NULL, inregs, outregs);
return 0;
}