Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762065AbcLPWO1 (ORCPT ); Fri, 16 Dec 2016 17:14:27 -0500 Received: from mx1.redhat.com ([209.132.183.28]:41484 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758729AbcLPWNy (ORCPT ); Fri, 16 Dec 2016 17:13:54 -0500 Date: Fri, 16 Dec 2016 16:13:51 -0600 From: Josh Poimboeuf To: Petr Mladek Cc: Jessica Yu , Jiri Kosina , Miroslav Benes , linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Michael Ellerman , Heiko Carstens , x86@kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, Vojtech Pavlik , Jiri Slaby , Chris J Arges , Andy Lutomirski , Ingo Molnar , Peter Zijlstra Subject: Re: [PATCH v3 02/15] x86/entry: define _TIF_ALLWORK_MASK flags explicitly Message-ID: <20161216221351.657d32jz7mtiinxe@treble> References: <20161216141735.GD393@pathway.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20161216141735.GD393@pathway.suse.cz> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Fri, 16 Dec 2016 22:13:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2119 Lines: 58 On Fri, Dec 16, 2016 at 03:17:35PM +0100, Petr Mladek wrote: > On Thu 2016-12-08 12:08:27, Josh Poimboeuf wrote: > > The _TIF_ALLWORK_MASK macro automatically includes the least-significant > > 16 bits of the thread_info flags, which is less than obvious and tends > > to create confusion and surprises when reading or modifying the code. > > > > Define the flags explicitly. > > > > Signed-off-by: Josh Poimboeuf > > --- > > arch/x86/include/asm/thread_info.h | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h > > index ad6f5eb0..1fe6043 100644 > > --- a/arch/x86/include/asm/thread_info.h > > +++ b/arch/x86/include/asm/thread_info.h > > @@ -73,9 +73,6 @@ struct thread_info { > > * thread information flags > > * - these are process state flags that various assembly files > > * may need to access > > - * - pending work-to-be-done flags are in LSW > > Yup, this is not true because also some flags from the most > significant bits are in the _TIF_ALLWORK_MASK. > > > - * - other flags in MSW > > - * Warning: layout of LSW is hardcoded in entry.S > > */ > > #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ > > #define TIF_NOTIFY_RESUME 1 /* callback before returning to user */ > > @@ -133,8 +130,10 @@ struct thread_info { > > > > /* work to do on any return to user space */ > > #define _TIF_ALLWORK_MASK \ > > - ((0x0000FFFF & ~_TIF_SECCOMP) | _TIF_SYSCALL_TRACEPOINT | \ > > - _TIF_NOHZ) > > + (_TIF_SYSCALL_TRACE | _TIF_NOTIFY_RESUME | _TIF_SIGPENDING | \ > > + _TIF_SINGLESTEP | _TIF_NEED_RESCHED | _TIF_SYSCALL_EMU | \ > > + _TIF_SYSCALL_AUDIT | _TIF_USER_RETURN_NOTIFY | _TIF_UPROBE | \ > > + _TIF_SYSCALL_TRACEPOINT | _TIF_NOHZ) > > All flags are sorted by the number except for > _TIF_SINGLESTEP and _TIF_NEED_RESCHED ;-) You're right, I'll swap them :-) > > The patch does not change the existing behavior. The same > existing flags are listed. > > Reviewed-by: Petr Mladek > > Best Regards, > Petr -- Josh