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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 23 Oct 2023 16:36:48 +0000
From:   "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>
To:     "ldv@...ace.io" <ldv@...ace.io>,
        "dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
        "bp@...en8.de" <bp@...en8.de>
CC:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "x86@...nel.org" <x86@...nel.org>,
        "linux-api@...r.kernel.org" <linux-api@...r.kernel.org>
Subject: Re: [PATCH] x86/uapi: fix SHADOW_STACK_SET_TOKEN type

On Mon, 2023-10-23 at 01:21 +0300, Dmitry V. Levin wrote:
> Fix the type of SHADOW_STACK_SET_TOKEN to match the type of the
> corresponding "flags" argument of map_shadow_stack syscall which
> is of type "unsigned int".
> 
> Fixes: c35559f94ebc3 ("x86/shstk: Introduce map_shadow_stack
> syscall")
> Signed-off-by: Dmitry V. Levin <ldv@...ace.io>
> ---
>  arch/x86/include/uapi/asm/mman.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/include/uapi/asm/mman.h
> b/arch/x86/include/uapi/asm/mman.h
> index 46cdc941f958..8419e25bb617 100644
> --- a/arch/x86/include/uapi/asm/mman.h
> +++ b/arch/x86/include/uapi/asm/mman.h
> @@ -6,7 +6,7 @@
>  #define MAP_ABOVE4G    0x80            /* only map above 4GB */
>  
>  /* Flags for map_shadow_stack(2) */
> -#define SHADOW_STACK_SET_TOKEN (1ULL << 0)     /* Set up a restore
> token in the shadow stack */
> +#define SHADOW_STACK_SET_TOKEN (1U << 0)       /* Set up a restore
> token in the shadow stack */
>  
>  #include <asm-generic/mman.h>

Good point that they are mismatched. I don't remember why flags is not
an unsigned long though. I wonder if we should quick change it to an
unsigned long, if it's not too late. We probably won't run out of
flags, but maybe some value could get stuffed in the upper bits or
something someday.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ