[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrVtKcwWsN4q7kp-K7kEfQyebKfSbBQy4iAhfP0WPVZNpQ@mail.gmail.com>
Date: Wed, 3 Dec 2014 12:38:36 -0800
From: Andy Lutomirski <luto@...capital.net>
To: Dave Jones <davej@...hat.com>,
Andy Lutomirski <luto@...capital.net>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Richard Guy Briggs <rgb@...hat.com>,
Eric Paris <eparis@...hat.com>,
Frédéric Weisbecker <fweisbec@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Oleg Nesterov <oleg@...hat.com>
Subject: Re: audit: rcu_read_lock() used illegally while idle
On Wed, Dec 3, 2014 at 12:19 PM, Dave Jones <davej@...hat.com> wrote:
> On Wed, Dec 03, 2014 at 12:06:56PM -0800, Andy Lutomirski wrote:
>
> > >> Did something in RCU change recently ?
> > >
> > > Not since -rc1, as far as I know, anyway.
> >
> > I have patches to delete this whole fscking sysret fast but not really
> > fast path. I'll resend them for 3.19. In the mean time, can you test
> > this patch by itself:
> >
> > https://git.kernel.org/cgit/linux/kernel/git/luto/linux.git/commit/?h=x86/entry&id=1072a16a8d4ad1b11b8062f76e3236b9771b0fb6
>
> With that applied, I no longer see the trace.
>
Thanks.
The bug is that SCHEDULE_USER in sysret_schedule is wrong. I'd
suggest adding a warning to schedule_user that fires if context
tracking thinks we're already in the kernel.
FWIW, I think that the rest of the SCHEDULE_USER calls may be wrong,
too. In particular, the one in int_careful looks wrong as well, so I
don't see why my patch made a difference if I'm right.
Frédéric, any ideas here? As a stopgap measure, making SCHEDULE_USER
restore the previous state might make sense for 3.18.
--Andy
> thanks,
>
> Dave
>
--
Andy Lutomirski
AMA Capital Management, LLC
--
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