desc->nr_fields = 1;
desc->fields = field =
kzalloc(1 * sizeof(struct lttng_event_field), GFP_KERNEL);
+ if (!field) {
+ ret = -ENOMEM;
+ goto error_field;
+ }
field->name = "ip";
field->type.atype = atype_integer;
- field->type.u.basic.integer.size = sizeof(unsigned long);
- field->type.u.basic.integer.alignment = ltt_alignof(unsigned long);
+ field->type.u.basic.integer.size = sizeof(unsigned long) * CHAR_BIT;
+ field->type.u.basic.integer.alignment = ltt_alignof(unsigned long) * CHAR_BIT;
field->type.u.basic.integer.signedness = 0;
field->type.u.basic.integer.reverse_byte_order = 0;
field->type.u.basic.integer.base = 16;
return 0;
+error_field:
+ kfree(desc->name);
error_str:
kfree(desc);
return ret;
register_error:
kfree(event->u.kprobe.symbol_name);
name_error:
+ kfree(event->desc->fields);
kfree(event->desc->name);
kfree(event->desc);
error:
{
unregister_kprobe(&event->u.kprobe.kp);
kfree(event->u.kprobe.symbol_name);
+ kfree(event->desc->fields);
kfree(event->desc->name);
kfree(event->desc);
}