summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-04-05 17:35:03 +0200
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-04-05 17:35:03 +0200
commitdc115d08736cf6a794316f359dd8bd9b0a6a778a (patch)
treeb52b5e60b9367400d5be215cbc198c5282dda454
parentf5ad120cfd55aa810660f59b07382f4f9a0a0301 (diff)
downloadlatrace-dc115d08736cf6a794316f359dd8bd9b0a6a778a.tar.gz
latrace-dc115d08736cf6a794316f359dd8bd9b0a6a778a.tar.xz
latrace-dc115d08736cf6a794316f359dd8bd9b0a6a778a.zip
fix controled config bug - missing shared config assignment
-rw-r--r--ChangeLog3
-rw-r--r--src/audit-init.c3
-rw-r--r--src/audit.c12
3 files changed, 13 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f8cea0e..88cdfdb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2011-04-05 Jiri Olsa <olsajiri@gmail.com>
+ * fix controled config bug - missing shared config assignment
+
2011-02-15 Jiri Olsa <olsajiri@gmail.com>
* moving debian directory to the packaging
* Sebastian Pipping <sping@gentoo.org>
diff --git a/src/audit-init.c b/src/audit-init.c
index fad89ca..27e38f5 100644
--- a/src/audit-init.c
+++ b/src/audit-init.c
@@ -61,6 +61,9 @@ static int init_ctl_config(char *file)
/* switching to the mmaped shared config */
cfg.sh = sh;
+
+ /* PRINT_VERBOSE magic */
+ cfg.sh->sh = sh;
return 0;
}
diff --git a/src/audit.c b/src/audit.c
index d26a539..5f9071f 100644
--- a/src/audit.c
+++ b/src/audit.c
@@ -196,6 +196,12 @@ do { \
return ret; \
} while(0)
+#define CHECK_DISABLED(ret) \
+do { \
+ if (lt_sh(&cfg, disabled)) \
+ return ret; \
+} while(0)
+
unsigned int la_version(unsigned int v)
{
return v;
@@ -305,8 +311,7 @@ pltenter(ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
struct link_map *ld = (struct link_map*) *defcook;
do {
- if (lt_sh(&cfg, disabled))
- break;
+ CHECK_DISABLED(sym->st_value);
CHECK_PID(sym->st_value);
@@ -330,9 +335,6 @@ unsigned int pltexit(ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
struct link_map *ld = (struct link_map*) *defcook;
do {
- if (lt_sh(&cfg, disabled))
- break;
-
CHECK_PID(0);
sym_exit(symname, (void*) sym->st_value,