Fix a zmalloc bug
[ust.git] / libust / tracepoint.c
index 620a009cf333539fe5bd263fadd4ba0f762351ba..6fe9cd7569444a79895d0fe7133e8a27c8e1ed4c 100644 (file)
@@ -74,7 +74,7 @@ struct tp_probes {
 
 static inline void *allocate_probes(int count)
 {
-       struct tp_probes *p  = malloc(count * sizeof(struct probe)
+       struct tp_probes *p  = zmalloc(count * sizeof(struct probe)
                        + sizeof(struct tp_probes));
        return p == NULL ? NULL : p->probes;
 }
@@ -87,7 +87,7 @@ static inline void *allocate_probes(int count)
 static inline void release_probes(void *old)
 {
        if (old) {
-               struct tp_probes *tp_probes = container_of(old,
+               struct tp_probes *tp_probes = _ust_container_of(old,
                        struct tp_probes, probes[0]);
 //ust//                call_rcu_sched(&tp_probes->u.rcu, rcu_free_old_probes);
                synchronize_rcu();
@@ -154,8 +154,8 @@ tracepoint_entry_remove_probe(struct tracepoint_entry *entry, void *probe,
        debug_print_probes(entry);
        /* (N -> M), (N > 1, M >= 0) probes */
        for (nr_probes = 0; old[nr_probes].func; nr_probes++) {
-               if ((!probe ||
-                    old[nr_probes].func == probe &&
+               if (!probe ||
+                    (old[nr_probes].func == probe &&
                     old[nr_probes].data == data))
                        nr_del++;
        }
@@ -225,10 +225,10 @@ static struct tracepoint_entry *add_tracepoint(const char *name)
                }
        }
        /*
-        * Using kmalloc here to allocate a variable length element. Could
+        * Using zmalloc here to allocate a variable length element. Could
         * cause some memory fragmentation if overused.
         */
-       e = malloc(sizeof(struct tracepoint_entry) + name_len);
+       e = zmalloc(sizeof(struct tracepoint_entry) + name_len);
        if (!e)
                return ERR_PTR(-ENOMEM);
        memcpy(&e->name[0], name, name_len);
@@ -427,7 +427,7 @@ static void tracepoint_add_old_probes(void *old)
 {
        need_update = 1;
        if (old) {
-               struct tp_probes *tp_probes = container_of(old,
+               struct tp_probes *tp_probes = _ust_container_of(old,
                        struct tp_probes, probes[0]);
                list_add(&tp_probes->u.list, &old_probes);
        }
@@ -661,7 +661,7 @@ int tracepoint_register_lib(struct tracepoint *tracepoints_start, int tracepoint
 {
        struct tracepoint_lib *pl;
 
-       pl = (struct tracepoint_lib *) malloc(sizeof(struct tracepoint_lib));
+       pl = (struct tracepoint_lib *) zmalloc(sizeof(struct tracepoint_lib));
 
        pl->tracepoints_start = tracepoints_start;
        pl->tracepoints_count = tracepoints_count;
This page took 0.023768 seconds and 4 git commands to generate.