Subject: Re: [next] arm64: mte.c:176:17: error: 'struct thread_struct' has no member named 'sctlr_tcf0'

From: Steven Price <[email-masked]>
Date: Mon, 30 Nov 2020 15:57:05 +0000

On 30/11/2020 15:42, Naresh Kamboju wrote:
> Linux next tag 20201130 arm64 build failed due to below error,
>    - gcc-9, gcc-10 and clang-10 build FAIL
>    - gcc-8 build PASS.
> 
> make --silent --keep-going --jobs=8
> O=/home/tuxbuild/.cache/tuxmake/builds/2/tmp ARCH=arm64
> CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc'
> 'HOSTCC=sccache gcc'
> arch/arm64/kernel/mte.c: In function 'set_sctlr_el1_tcf0':
> arch/arm64/kernel/mte.c:176:17: error: 'struct thread_struct' has no
> member named 'sctlr_tcf0'
>    176 |  current->thread.sctlr_tcf0 = tcf0;
>        |                 ^
> At top level:
> arch/arm64/kernel/mte.c:168:13: warning: 'set_sctlr_el1_tcf0' defined
> but not used [-Wunused-function]
>    168 | static void set_sctlr_el1_tcf0(u64 tcf0)
>        |             ^~~~~~~~~~~~~~~~~~
> make[3]: *** [scripts/Makefile.build:283: arch/arm64/kernel/mte.o] Error 1
> make[3]: Target '__build' not remade because of errors.

This looks like a bad conflict resolution of a patch in Andrew's set.

3394cb084a8d ("arm64: mte: add in-kernel MTE helpers") has reintroduced 
set_sctlr_el1_tcf0() which was removed in e710c29e0177 ("arm64: mte: 
make the per-task SCTLR_EL1 field usable elsewhere") (in arm64 tree). 
But this doesn't happen in the original patch 
arm64-mte-add-in-kernel-mte-helpers.patch in Andrew's set.

Steve

> Reported-by: Naresh Kamboju <[email-masked]>
> 
> steps to reproduce:
> 
> # TuxMake is a command line tool and Python library that provides
> # portable and repeatable Linux kernel builds across a variety of
> # architectures, toolchains, kernel configurations, and make targets.
> #
> # TuxMake supports the concept of runtimes.
> # See https://docs.tuxmake.org/runtimes/, for that to work it requires
> # that you install podman or docker on your system.
> #
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
> 
> 
> tuxmake --runtime docker --target-arch arm64 --toolchain gcc-9
> --kconfig defconfig --kconfig-add
> https://builds.tuxbuild.com/1l0FGU7GBRQu6kT79iDAwsHkQ6d/config
> 
>