[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170915161243.GA778@redhat.com>
Date: Fri, 15 Sep 2017 18:12:43 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
Andy Lutomirski <luto@...nel.org>,
Eugene Syromyatnikov <evgsyr@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86/asm/64: do not clear high 32 bits of syscall number
when CONFIG_X86_X32=y
On 09/14, Dmitry V. Levin wrote:
>
> On Wed, Sep 13, 2017 at 06:49:21PM +0200, Oleg Nesterov wrote:
>
> > do_syscall_64() does "nr & __SYSCALL_MASK" unconditionally,
>
> yes
>
> > this clears the upper bits, no?
>
> Why? As "nr" is of type "unsigned long" and __SYSCALL_MASK is either
> (~(__X32_SYSCALL_BIT)) or (~0), that is, an integer with the sign bit set,
Yes, thanks for correcting me, it is "int" but somehow I thought it is
"unsigned int".
Oleg.
Powered by blists - more mailing lists