X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Fltt-context.c;h=83aa297592929d9d900cb52940fd25974e62ae03;hb=8165c8da23fb8a3395d7e829f3d5734e18dd7db9;hp=030a11b0908d01c2b7174ae49c3ac6ab5e446bc9;hpb=b13d13b1ccb153fe37b46c0e0a39d24be9b89b90;p=lttng-ust.git diff --git a/libust/ltt-context.c b/libust/ltt-context.c index 030a11b0..83aa2975 100644 --- a/libust/ltt-context.c +++ b/libust/ltt-context.c @@ -8,21 +8,21 @@ * Dual LGPL v2.1/GPL v2 license. */ -#include -#include -#include -#include -#include "wrapper/vmalloc.h" /* for wrapper_vmalloc_sync_all() */ -#include "ltt-events.h" -#include "ltt-tracer.h" +#include +#include +#include +#include +/* + * Note: as we append context information, the pointer location may change. + */ struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx_p) { struct lttng_ctx_field *field; struct lttng_ctx *ctx; if (!*ctx_p) { - *ctx_p = kzalloc(sizeof(struct lttng_ctx), GFP_KERNEL); + *ctx_p = zmalloc(sizeof(struct lttng_ctx)); if (!*ctx_p) return NULL; } @@ -31,19 +31,18 @@ struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx_p) struct lttng_ctx_field *new_fields; ctx->allocated_fields = max_t(size_t, 1, 2 * ctx->allocated_fields); - new_fields = kzalloc(ctx->allocated_fields * sizeof(struct lttng_ctx_field), GFP_KERNEL); + new_fields = zmalloc(ctx->allocated_fields * sizeof(struct lttng_ctx_field)); if (!new_fields) return NULL; if (ctx->fields) memcpy(new_fields, ctx->fields, sizeof(*ctx->fields) * ctx->nr_fields); - kfree(ctx->fields); + free(ctx->fields); ctx->fields = new_fields; } field = &ctx->fields[ctx->nr_fields]; ctx->nr_fields++; return field; } -EXPORT_SYMBOL_GPL(lttng_append_context); /* * Remove last context field. @@ -58,7 +57,6 @@ void lttng_remove_context_field(struct lttng_ctx **ctx_p, WARN_ON_ONCE(&ctx->fields[ctx->nr_fields] != field); memset(&ctx->fields[ctx->nr_fields], 0, sizeof(struct lttng_ctx_field)); } -EXPORT_SYMBOL_GPL(lttng_remove_context_field); void lttng_destroy_context(struct lttng_ctx *ctx) { @@ -70,6 +68,6 @@ void lttng_destroy_context(struct lttng_ctx *ctx) if (ctx->fields[i].destroy) ctx->fields[i].destroy(&ctx->fields[i]); } - kfree(ctx->fields); - kfree(ctx); + free(ctx->fields); + free(ctx); }