Re: [RFC PATCH 09/11] kprobes: core logic of eraly kprobes

From: Hillf Danton
Date: Wed Jan 07 2015 - 04:22:36 EST


>
> +struct early_kprobe_slot {
> + struct optimized_kprobe op;
> +};
> +
[...]
>
> /* Free optimized instructions and optimized_kprobe */
> +static int ek_free_early_kprobe(struct early_kprobe_slot *slot);

[2] How is it implemented? In subsequent patches?

> static void free_aggr_kprobe(struct kprobe *p)
> {
> struct optimized_kprobe *op;
> + struct early_kprobe_slot *ep;
>
> op = container_of(p, struct optimized_kprobe, kp);
> arch_remove_optimized_kprobe(op);
> arch_remove_kprobe(p);
> - kfree(op);
> + ep = container_of(op, struct early_kprobe_slot, op);
> + if (likely(!ek_free_early_kprobe(ep)))
> + kfree(op);

[1] s/op/ep/ yes?
> }
>
[...]
> +#else
> +static int register_early_kprobe(struct kprobe *p) { return -ENOSYS; }
> +static int ek_free_early_kprobe(struct early_kprobe_slot *slot) { return 0; }

[3] Compile-able with CONFIG_EARLY_KPROBES enabled?

> +static void convert_early_kprobes(void) {};
> +#endif
> --
> 1.8.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/