lkml.org 
[lkml]   [2015]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: use-after-free in __perf_install_in_context
    On Thu, Dec 10, 2015 at 08:57:40PM +0100, Peter Zijlstra wrote:
    > I'm not sure I can explain your problem with this, but I figure its
    > worth a try.

    Did it make a difference?

    Also, does the syzkaller thing do cpu-hotplug during its runs?

    > ---
    > kernel/events/core.c | 15 +++++----------
    > 1 file changed, 5 insertions(+), 10 deletions(-)
    >
    > diff --git a/kernel/events/core.c b/kernel/events/core.c
    > index c3d61b92d805..d5293325d8c5 100644
    > --- a/kernel/events/core.c
    > +++ b/kernel/events/core.c
    > @@ -3136,15 +3136,16 @@ static int event_enable_on_exec(struct perf_event *event,
    > * Enable all of a task's events that have been marked enable-on-exec.
    > * This expects task == current.
    > */
    > -static void perf_event_enable_on_exec(struct perf_event_context *ctx)
    > +static void perf_event_enable_on_exec(int ctxn)
    > {
    > - struct perf_event_context *clone_ctx = NULL;
    > + struct perf_event_context *ctx, *clone_ctx = NULL;
    > struct perf_event *event;
    > unsigned long flags;
    > int enabled = 0;
    > int ret;
    >
    > local_irq_save(flags);
    > + ctx = current->perf_event_ctxp[ctxn];
    > if (!ctx || !ctx->nr_events)
    > goto out;
    >
    > @@ -3187,17 +3188,11 @@ static void perf_event_enable_on_exec(struct perf_event_context *ctx)
    >
    > void perf_event_exec(void)
    > {
    > - struct perf_event_context *ctx;
    > int ctxn;
    >
    > rcu_read_lock();
    > - for_each_task_context_nr(ctxn) {
    > - ctx = current->perf_event_ctxp[ctxn];
    > - if (!ctx)
    > - continue;
    > -
    > - perf_event_enable_on_exec(ctx);
    > - }
    > + for_each_task_context_nr(ctxn)
    > + perf_event_enable_on_exec(ctxn);
    > rcu_read_unlock();
    > }
    >


    \
     
     \ /
      Last update: 2015-12-17 15:21    [W:4.565 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site