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:   Wed, 26 Oct 2016 14:30:30 +0200
From:   Paul Bolle <pebolle@...cali.nl>
To:     dsafonov@...tuozzo.com, luto@...nel.org, tglx@...utronix.de,
        mingo@...nel.org, hpa@...or.com, linux-kernel@...r.kernel.org,
        linux-tip-commits@...r.kernel.org
Subject: Re: [tip:x86/vdso] x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*

This is bit late, but we're still on v4.9-rc2, so anyhow.

On Wed, 2016-09-14 at 12:34 -0700, tip-bot for Dmitry Safonov wrote:
> Commit-ID:  2eefd8789698e89c4a5d610921dc3c1b66e3bd0d
> Gitweb:     http://git.kernel.org/tip/2eefd8789698e89c4a5d610921dc3c1b66e3bd0d
> Author:     Dmitry Safonov <dsafonov@...tuozzo.com>
> AuthorDate: Mon, 5 Sep 2016 16:33:05 +0300
> Committer:  Thomas Gleixner <tglx@...utronix.de>
> CommitDate: Wed, 14 Sep 2016 21:28:09 +0200
> 
> x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*
> 
> Add API to change vdso blob type with arch_prctl.
> As this is usefull only by needs of CRIU, expose
> this interface under CONFIG_CHECKPOINT_RESTORE.
> 
> Signed-off-by: Dmitry Safonov <dsafonov@...tuozzo.com>
> Acked-by: Andy Lutomirski <luto@...nel.org>
> Cc: 0x7f454c46@...il.com
> Cc: oleg@...hat.com
> Cc: linux-mm@...ck.org
> Cc: gorcunov@...nvz.org
> Cc: xemul@...tuozzo.com
> Link: http://lkml.kernel.org/r/20160905133308.28234-4-dsafonov@virtuozzo.com
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>

> --- a/arch/x86/include/uapi/asm/prctl.h
> +++ b/arch/x86/include/uapi/asm/prctl.h

>  #define ARCH_GET_FS 0x1003
>  #define ARCH_GET_GS 0x1004
>  
> +#ifdef CONFIG_CHECKPOINT_RESTORE
> +# define ARCH_MAP_VDSO_X32	0x2001
> +# define ARCH_MAP_VDSO_32	0x2002
> +# define ARCH_MAP_VDSO_64	0x2003
> +#endif
> +
>  #endif /* _ASM_X86_PRCTL_H */

On my machine this header ends up in /usr/include/asm/prctl.h. But in
userspace CONFIG_CHECKPOINT_RESTORE is meaningless. I think if you
actually want to export these three macros to userspace the guard
should read:
    #if defined(CONFIG_CHECKPOINT_RESTORE) || !defined(__KERNEL__)

And if you don't want to export these macros the guard should read:
    #if defined(CONFIG_CHECKPOINT_RESTORE) && defined(__KERNEL__)

(In that case you're probably better of defining these macros outside
of uapi.)

I've only lightly tested those two alternatives, so please double
check.


Paul Bolle

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ