Re: [PATCH v2 3/6] x86/cpu: Remove CONFIG_X86_SMAP and "nosmap"

Kees Cook
2022-02-07T22:07:32Z

On Thu, Jan 27, 2022 at 12:56:23PM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
>
> Those were added as part of the SMAP enablement but SMAP is currently
> an integral part of kernel proper and there's no need to disable it
> anymore.
>
> Rip out that functionality.
>
> If still needed - clearcpuid=smap.
>
> Signed-off-by: Borislav Petkov <bp@suse.de>
> Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
> ---
> .../admin-guide/kernel-parameters.txt | 2 +-
> Documentation/x86/cpuinfo.rst | 5 ++--
> arch/x86/Kconfig | 11 ---------
> arch/x86/include/asm/disabled-features.h | 8 +------
> arch/x86/include/asm/smap.h | 24 -------------------
> arch/x86/kernel/cpu/common.c | 15 +-----------
> scripts/Makefile.build | 1 -
> scripts/link-vmlinux.sh | 3 ---
> .../arch/x86/include/asm/disabled-features.h | 8 +------
> 9 files changed, 6 insertions(+), 71 deletions(-)
> [...]
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index a4b89b757287..9b37902607ed 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -233,7 +233,6 @@ objtool_args = \
> $(if $(CONFIG_FRAME_POINTER),, --no-fp) \
> $(if $(CONFIG_GCOV_KERNEL)$(CONFIG_LTO_CLANG), --no-unreachable)\
> $(if $(CONFIG_RETPOLINE), --retpoline) \
> - $(if $(CONFIG_X86_SMAP), --uaccess) \
> $(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount) \
> $(if $(CONFIG_SLS), --sls)
>
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index 666f7bbc13eb..8547aaa1a630 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -140,9 +140,6 @@ objtool_link()
> if is_enabled CONFIG_RETPOLINE; then
> objtoolopt="${objtoolopt} --retpoline"
> fi
> - if is_enabled CONFIG_X86_SMAP; then
> - objtoolopt="${objtoolopt} --uaccess"
> - fi
> if is_enabled CONFIG_SLS; then
> objtoolopt="${objtoolopt} --sls"
> fi

I was expecting to see --uaccess unconditionally added to objtool
arguments. I think that needs to happen?

--
Kees Cook