lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 11 Nov 2020 23:22:38 +0100 From: Frederic Weisbecker <frederic@...nel.org> To: Peter Zijlstra <peterz@...radead.org> Cc: LKML <linux-kernel@...r.kernel.org>, "Paul E . McKenney" <paulmck@...nel.org>, Thomas Gleixner <tglx@...utronix.de>, Phil Auld <pauld@...hat.com>, Marcelo Tosatti <mtosatti@...hat.com> Subject: Re: [PATCH 4/5] context_tracking: Only define schedule_user() on !HAVE_CONTEXT_TRACKING_OFFSTACK archs On Wed, Nov 11, 2020 at 03:34:58PM +0100, Peter Zijlstra wrote: > On Tue, Oct 27, 2020 at 04:08:26PM +0100, Frederic Weisbecker wrote: > > schedule_user() was traditionally used by the entry code's tail to > > preempt userspace after the call to user_enter(). Indeed the call to > > user_enter() used to be performed upon syscall exit slow path which was > > right before the last opportunity to schedule() while resuming to > > userspace. The context tracking state had to be saved on the task stack > > and set back to CONTEXT_KERNEL temporarily in order to safely switch to > > another task. > > > > Only a few archs use it now and those implementing > > HAVE_CONTEXT_TRACKING_OFFSTACK definetly can't rely on it. > > powerpc64 and sparc64 only, right? Exactly! I can precise that in the changelog. Thanks. > > > Signed-off-by: Frederic Weisbecker <frederic@...nel.org> > > Cc: Marcelo Tosatti <mtosatti@...hat.com> > > Cc: Paul E. McKenney <paulmck@...nel.org> > > Cc: Peter Zijlstra <peterz@...radead.org> > > Cc: Phil Auld <pauld@...hat.com> > > Cc: Thomas Gleixner <tglx@...utronix.de> > > --- > > kernel/sched/core.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > > index c23d7cb5aee3..44426e5acde2 100644 > > --- a/kernel/sched/core.c > > +++ b/kernel/sched/core.c > > @@ -4631,7 +4631,7 @@ void __sched schedule_idle(void) > > } while (need_resched()); > > } > > > > -#ifdef CONFIG_CONTEXT_TRACKING > > +#if defined(CONFIG_CONTEXT_TRACKING) && !defined(CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK) > > asmlinkage __visible void __sched schedule_user(void) > > { > > /* > > -- > > 2.25.1 > >
Powered by blists - more mailing lists