#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 {
container_of(krpi->rp, struct lttng_krp, krp);
struct lttng_event *event =
lttng_krp->event[type];
+ struct lttng_probe_ctx lttng_probe_ctx = {
+ .event = event,
+ .interruptible = lttng_regs_irqs_disabled(regs),
+ };
struct lttng_channel *chan = event->chan;
struct lib_ring_buffer_ctx ctx;
int ret;
payload.ip = (unsigned long) krpi->rp->kp.addr;
payload.parent_ip = (unsigned long) krpi->ret_addr;
- lib_ring_buffer_ctx_init(&ctx, chan->chan, event, sizeof(payload),
+ lib_ring_buffer_ctx_init(&ctx, chan->chan, <tng_probe_ctx, sizeof(payload),
lttng_alignof(payload), -1);
ret = chan->ops->event_reserve(&ctx, event->id);
if (ret < 0)