All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: Jeff Dike <jdike@addtoit.com>,
	Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	David Gow <davidgow@google.com>,
	linux-um@lists.infradead.org, linux-kbuild@vger.kernel.org,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	llvm@lists.linux.dev, linux-kernel@vger.kernel.org,
	x86@kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH] um: Allow builds with Clang
Date: Wed, 16 Feb 2022 17:37:13 -0700	[thread overview]
Message-ID: <Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161> (raw)
In-Reply-To: <20220217002843.2312603-1-keescook@chromium.org>

On Wed, Feb 16, 2022 at 04:28:43PM -0800, Kees Cook wrote:
> Add x86-64 target for Clang+um and update user-offsets.c to use
> Clang-friendly assembler, similar to the fix from commit cf0c3e68aa81

Clang-friendly assembly?

> ("kbuild: fix asm-offset generation to work with clang").
> 
> This lets me run KUnit tests with Clang:
> 
> $ ./tools/testing/kunit/kunit.py config --make_options LLVM=1
> ...
> $ ./tools/testing/kunit/kunit.py run --make_options LLVM=1
> ...
> 
> Cc: Jeff Dike <jdike@addtoit.com>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: David Gow <davidgow@google.com>
> Cc: linux-um@lists.infradead.org
> Cc: linux-kbuild@vger.kernel.org
> Cc: linux-kselftest@vger.kernel.org
> Cc: kunit-dev@googlegroups.com
> Cc: llvm@lists.linux.dev
> Signed-off-by: Kees Cook <keescook@chromium.org>

I am not super familiar with UML but this seems reasonable.

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

One small nit below if you have to send a v2, not sure it is worth it
otherwise.

> ---
>  arch/x86/um/user-offsets.c | 4 ++--
>  scripts/Makefile.clang     | 1 +
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/um/user-offsets.c b/arch/x86/um/user-offsets.c
> index bae61554abcc..d9071827b515 100644
> --- a/arch/x86/um/user-offsets.c
> +++ b/arch/x86/um/user-offsets.c
> @@ -10,10 +10,10 @@
>  #include <asm/types.h>
>  
>  #define DEFINE(sym, val) \
> -	asm volatile("\n->" #sym " %0 " #val : : "i" (val))
> +	asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val))
>  
>  #define DEFINE_LONGS(sym, val) \
> -	asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long)))
> +	asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val/sizeof(unsigned long)))
>  
>  void foo(void)
>  {
> diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang
> index 51fc23e2e9e5..857b23de51c6 100644
> --- a/scripts/Makefile.clang
> +++ b/scripts/Makefile.clang
> @@ -10,6 +10,7 @@ CLANG_TARGET_FLAGS_powerpc	:= powerpc64le-linux-gnu
>  CLANG_TARGET_FLAGS_riscv	:= riscv64-linux-gnu
>  CLANG_TARGET_FLAGS_s390		:= s390x-linux-gnu
>  CLANG_TARGET_FLAGS_x86		:= x86_64-linux-gnu
> +CLANG_TARGET_FLAGS_um		:= x86_64-linux-gnu

It might be nice to keep this in alphabetical order.

>  CLANG_TARGET_FLAGS		:= $(CLANG_TARGET_FLAGS_$(SRCARCH))
>  
>  ifeq ($(CROSS_COMPILE),)
> -- 
> 2.30.2
> 
> 

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: Jeff Dike <jdike@addtoit.com>,
	Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	David Gow <davidgow@google.com>,
	linux-um@lists.infradead.org, linux-kbuild@vger.kernel.org,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	llvm@lists.linux.dev, linux-kernel@vger.kernel.org,
	x86@kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH] um: Allow builds with Clang
Date: Wed, 16 Feb 2022 17:37:13 -0700	[thread overview]
Message-ID: <Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161> (raw)
In-Reply-To: <20220217002843.2312603-1-keescook@chromium.org>

On Wed, Feb 16, 2022 at 04:28:43PM -0800, Kees Cook wrote:
> Add x86-64 target for Clang+um and update user-offsets.c to use
> Clang-friendly assembler, similar to the fix from commit cf0c3e68aa81

Clang-friendly assembly?

> ("kbuild: fix asm-offset generation to work with clang").
> 
> This lets me run KUnit tests with Clang:
> 
> $ ./tools/testing/kunit/kunit.py config --make_options LLVM=1
> ...
> $ ./tools/testing/kunit/kunit.py run --make_options LLVM=1
> ...
> 
> Cc: Jeff Dike <jdike@addtoit.com>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: David Gow <davidgow@google.com>
> Cc: linux-um@lists.infradead.org
> Cc: linux-kbuild@vger.kernel.org
> Cc: linux-kselftest@vger.kernel.org
> Cc: kunit-dev@googlegroups.com
> Cc: llvm@lists.linux.dev
> Signed-off-by: Kees Cook <keescook@chromium.org>

I am not super familiar with UML but this seems reasonable.

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

One small nit below if you have to send a v2, not sure it is worth it
otherwise.

> ---
>  arch/x86/um/user-offsets.c | 4 ++--
>  scripts/Makefile.clang     | 1 +
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/um/user-offsets.c b/arch/x86/um/user-offsets.c
> index bae61554abcc..d9071827b515 100644
> --- a/arch/x86/um/user-offsets.c
> +++ b/arch/x86/um/user-offsets.c
> @@ -10,10 +10,10 @@
>  #include <asm/types.h>
>  
>  #define DEFINE(sym, val) \
> -	asm volatile("\n->" #sym " %0 " #val : : "i" (val))
> +	asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val))
>  
>  #define DEFINE_LONGS(sym, val) \
> -	asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long)))
> +	asm volatile("\n.ascii \"->" #sym " %0 " #val "\"": : "i" (val/sizeof(unsigned long)))
>  
>  void foo(void)
>  {
> diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang
> index 51fc23e2e9e5..857b23de51c6 100644
> --- a/scripts/Makefile.clang
> +++ b/scripts/Makefile.clang
> @@ -10,6 +10,7 @@ CLANG_TARGET_FLAGS_powerpc	:= powerpc64le-linux-gnu
>  CLANG_TARGET_FLAGS_riscv	:= riscv64-linux-gnu
>  CLANG_TARGET_FLAGS_s390		:= s390x-linux-gnu
>  CLANG_TARGET_FLAGS_x86		:= x86_64-linux-gnu
> +CLANG_TARGET_FLAGS_um		:= x86_64-linux-gnu

It might be nice to keep this in alphabetical order.

>  CLANG_TARGET_FLAGS		:= $(CLANG_TARGET_FLAGS_$(SRCARCH))
>  
>  ifeq ($(CROSS_COMPILE),)
> -- 
> 2.30.2
> 
> 

_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um


  reply	other threads:[~2022-02-17  0:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-17  0:28 [PATCH] um: Allow builds with Clang Kees Cook
2022-02-17  0:37 ` Nathan Chancellor [this message]
2022-02-17  0:37   ` Nathan Chancellor
2022-02-17  2:59 ` David Gow
2022-02-17  2:59   ` David Gow
2022-02-17  4:54 ` Masahiro Yamada
2022-02-17  4:54   ` Masahiro Yamada
2022-02-17 17:41   ` Nathan Chancellor
2022-02-17 17:41     ` Nathan Chancellor
2022-02-18  2:19     ` Masahiro Yamada
2022-02-18  2:19       ` Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yg2YubZxvYvx7/nm@dev-arch.archlinux-ax161 \
    --to=nathan@kernel.org \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=davidgow@google.com \
    --cc=jdike@addtoit.com \
    --cc=keescook@chromium.org \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=masahiroy@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=richard@nod.at \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.