[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <043a01d02a5b$44ec45f0$cec4d1d0$@alibaba-inc.com>
Date: Wed, 07 Jan 2015 17:21:07 +0800
From: "Hillf Danton" <hillf.zj@...baba-inc.com>
To: "'Wang Nan'" <wangnan0@...wei.com>
Cc: <linux@....linux.org.uk>, "Ingo Molnar" <mingo@...hat.com>,
<masami.hiramatsu.pt@...achi.com>,
<anil.s.keshavamurthy@...el.com>, <davem@...emloft.net>,
<ananth@...ibm.com>, <dave.long@...aro.org>, <tixy@...aro.org>,
<lizefan@...wei.com>, "linux-kernel" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 09/11] kprobes: core logic of eraly kprobes
>
> +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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists