Example #1
0
int printret(struct pt_regs *ctx)
{
	struct str_t data  = {};
	u32 pid;
	if (!ctx->ax)
		return 0;
	pid = bpf_get_current_pid_tgid();
	data.pid = pid;
	bpf_probe_read(&data.str, sizeof(data.str), (void *)ctx->ax);
	events.perf_submit(ctx,&data,sizeof(data));
	return 0;
};
Example #2
0
int bpf_prog1(struct pt_regs *ctx)
{
	struct S {
		u64 pid;
		u64 cookie;
	} data;

	data.pid = bpf_get_current_pid_tgid();
	data.cookie = 0x12345678;

	bpf_perf_event_output(ctx, &my_map, 0, &data, sizeof(data));

	return 0;
}