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

Borislav Petkov
2022-02-08T15:07:07Z

On Mon, Feb 07, 2022 at 02:07:27PM -0800, Kees Cook wrote:
> 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?

Hmm, I think you're right.

Mr. Z?

--
Regards/Gruss,
Boris.