projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a zmalloc bug
[ust.git]
/
libust
/
tracepoint.c
diff --git
a/libust/tracepoint.c
b/libust/tracepoint.c
index 620a009cf333539fe5bd263fadd4ba0f762351ba..6fe9cd7569444a79895d0fe7133e8a27c8e1ed4c 100644
(file)
--- a/
libust/tracepoint.c
+++ b/
libust/tracepoint.c
@@
-74,7
+74,7
@@
struct tp_probes {
static inline void *allocate_probes(int count)
{
static inline void *allocate_probes(int count)
{
- struct tp_probes *p = malloc(count * sizeof(struct probe)
+ struct tp_probes *p =
z
malloc(count * sizeof(struct probe)
+ sizeof(struct tp_probes));
return p == NULL ? NULL : p->probes;
}
+ 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) {
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();
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++) {
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++;
}
old[nr_probes].data == data))
nr_del++;
}
@@
-225,10
+225,10
@@
static struct tracepoint_entry *add_tracepoint(const char *name)
}
}
/*
}
}
/*
- * Using
k
malloc here to allocate a variable length element. Could
+ * Using
z
malloc here to allocate a variable length element. Could
* cause some memory fragmentation if overused.
*/
* cause some memory fragmentation if overused.
*/
- e = malloc(sizeof(struct tracepoint_entry) + name_len);
+ e =
z
malloc(sizeof(struct tracepoint_entry) + name_len);
if (!e)
return ERR_PTR(-ENOMEM);
memcpy(&e->name[0], name, 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) {
{
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);
}
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;
{
struct tracepoint_lib *pl;
- pl = (struct tracepoint_lib *) malloc(sizeof(struct tracepoint_lib));
+ pl = (struct tracepoint_lib *)
z
malloc(sizeof(struct tracepoint_lib));
pl->tracepoints_start = tracepoints_start;
pl->tracepoints_count = tracepoints_count;
pl->tracepoints_start = tracepoints_start;
pl->tracepoints_count = tracepoints_count;
This page took
0.024112 seconds
and
4
git commands to generate.