Messages in this thread | | | Date | Thu, 28 Jan 2016 09:53:49 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v1 4/8] arch, ftrace: For KASAN put hard/soft IRQ entries into separate sections |
| |
On Wed, 27 Jan 2016 19:25:09 +0100 Alexander Potapenko <glider@google.com> wrote:
> --- a/include/linux/ftrace.h > +++ b/include/linux/ftrace.h > @@ -762,6 +762,26 @@ struct ftrace_graph_ret { > typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *); /* return */ > typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *); /* entry */ > > +#if defined(CONFIG_FUNCTION_GRAPH_TRACER) || defined(CONFIG_KASAN) > +/* > + * We want to know which function is an entrypoint of a hardirq. > + */ > +#define __irq_entry __attribute__((__section__(".irqentry.text"))) > +#define __softirq_entry \ > + __attribute__((__section__(".softirqentry.text"))) > + > +/* Limits of hardirq entrypoints */ > +extern char __irqentry_text_start[]; > +extern char __irqentry_text_end[]; > +/* Limits of softirq entrypoints */ > +extern char __softirqentry_text_start[]; > +extern char __softirqentry_text_end[]; > + > +#else > +#define __irq_entry > +#define __softirq_entry > +#endif > + > #ifdef CONFIG_FUNCTION_GRAPH_TRACER > > /* for init task */
Since this is no longer just used for function tracing, perhaps the code should be moved to include/linux/irq.h or something.
-- Steve
| |