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 = lttng_kvzalloc(ctx->allocated_fields * sizeof(struct lttng_ctx_field), GFP_KERNEL);
if (!new_fields)
return NULL;
if (ctx->fields)
memcpy(new_fields, ctx->fields, sizeof(*ctx->fields) * ctx->nr_fields);
- kfree(ctx->fields);
+ lttng_kvfree(ctx->fields);
ctx->fields = new_fields;
}
field = &ctx->fields[ctx->nr_fields];
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_string:
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_string:
break;
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
+ break;
+
case atype_enum:
default:
WARN_ON_ONCE(1);
if (ctx->fields[i].destroy)
ctx->fields[i].destroy(&ctx->fields[i]);
}
- kfree(ctx->fields);
+ lttng_kvfree(ctx->fields);
kfree(ctx);
}
if (ret) {
printk(KERN_WARNING "Cannot add context lttng_add_need_reschedule_to_ctx");
}
-#if defined(CONFIG_PREEMPT_RT_FULL) || defined(CONFIG_PREEMPT)
ret = lttng_add_preemptible_to_ctx(<tng_static_ctx);
- if (ret != -ENOSYS) {
+ if (ret && ret != -ENOSYS) {
printk(KERN_WARNING "Cannot add context lttng_add_preemptible_to_ctx");
}
-#endif
-#ifdef CONFIG_PREEMPT_RT_FULL
ret = lttng_add_migratable_to_ctx(<tng_static_ctx);
- if (ret != -ENOSYS) {
+ if (ret && ret != -ENOSYS) {
printk(KERN_WARNING "Cannot add context lttng_add_migratable_to_ctx");
}
-#endif
/* TODO: perf counters for filtering */
return 0;
}