/*
- * probes/lttng-kretprobes.c
+* probes/lttng-kretprobes.c
*
* LTTng kretprobes integration module.
*
#include <linux/kprobes.h>
#include <linux/slab.h>
#include <linux/kref.h>
-#include "../lttng-events.h"
-#include "../wrapper/ringbuffer/frontend_types.h"
-#include "../wrapper/vmalloc.h"
-#include "../wrapper/irqflags.h"
-#include "../lttng-tracer.h"
+#include <lttng-events.h>
+#include <wrapper/ringbuffer/frontend_types.h>
+#include <wrapper/vmalloc.h>
+#include <wrapper/irqflags.h>
+#include <lttng-tracer.h>
enum lttng_kretprobe_type {
EVENT_ENTRY = 0,
lttng_krp->event[type];
struct lttng_probe_ctx lttng_probe_ctx = {
.event = event,
- .interruptible = lttng_regs_irqs_disabled(regs),
+ .interruptible = !lttng_regs_irqs_disabled(regs),
};
struct lttng_channel *chan = event->chan;
struct lib_ring_buffer_ctx ctx;
* unregistered. Same for memory allocation.
*/
kref_init(<tng_krp->kref_alloc);
- kref_get(<tng_krp->kref_alloc); /* inc refcount to 2 */
+ kref_get(<tng_krp->kref_alloc); /* inc refcount to 2, no overflow. */
kref_init(<tng_krp->kref_register);
- kref_get(<tng_krp->kref_register); /* inc refcount to 2 */
+ kref_get(<tng_krp->kref_register); /* inc refcount to 2, no overflow. */
/*
* Ensure the memory we just allocated don't trigger page faults.