2022-05-23 14:15:21

by kernel test robot

[permalink] [raw]
Subject: [rseq] 3bb11f3f68: kernel-selftests.rseq.make_fail



Greeting,

FYI, we noticed the following commit (built with gcc-11):

commit: 3bb11f3f6872a692759f653f90d10674deb330a4 ("rseq: Remove broken uapi field layout on 32-bit little endian")
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git linux-5.15.y

in testcase: kernel-selftests
version: kernel-selftests-x86_64-8d3977ef-1_20220520
with following parameters:

group: rseq
ucode: 0xec

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with 16G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>

KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4
2022-05-21 14:37:09 ln -sf /usr/bin/clang
2022-05-21 14:37:09 ln -sf /usr/bin/llc
2022-05-21 14:37:09 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh
2022-05-21 14:37:09 make -C rseq
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
gcc -O2 -Wall -g -I./ -I../../../../usr/include/ -L/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq -Wl,-rpath=./ -shared -fPIC rseq.c -lpthread -o /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so
In file included from rseq.c:30:
rseq.h: In function ‘rseq_clear_rseq_cs’:
rseq.h:143:20: error: request for member ‘ptr’ in something not a structure or union
143 | __rseq_abi.rseq_cs.ptr = 0;
| ^
make: *** [Makefile:27: /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so] Error 1
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
2022-05-21 14:37:10 make run_tests -C rseq
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
gcc -O2 -Wall -g -I./ -I../../../../usr/include/ -L/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq -Wl,-rpath=./ -shared -fPIC rseq.c -lpthread -o /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so
In file included from rseq.c:30:
rseq.h: In function ‘rseq_clear_rseq_cs’:
rseq.h:143:20: error: request for member ‘ptr’ in something not a structure or union
143 | __rseq_abi.rseq_cs.ptr = 0;
| ^
make: *** [Makefile:27: /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so] Error 1
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'



To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file

# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.



--
0-DAY CI Kernel Test Service
https://01.org/lkp



Attachments:
(No filename) (3.90 kB)
config-5.15.32-00250-g3bb11f3f6872 (166.25 kB)
job-script (6.35 kB)
dmesg.xz (76.00 B)
kernel-selftests (2.44 kB)
job.yaml (5.28 kB)
reproduce (152.00 B)
Download all attachments

2022-05-23 20:11:27

by Mathieu Desnoyers

[permalink] [raw]
Subject: Re: [rseq] 3bb11f3f68: kernel-selftests.rseq.make_fail

----- On May 23, 2022, at 10:14 AM, kernel test robot [email protected] wrote:

> Greeting,
>
> FYI, we noticed the following commit (built with gcc-11):
>
> commit: 3bb11f3f6872a692759f653f90d10674deb330a4 ("rseq: Remove broken uapi
> field layout on 32-bit little endian")
> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git
> linux-5.15.y
>
> in testcase: kernel-selftests
> version: kernel-selftests-x86_64-8d3977ef-1_20220520
> with following parameters:
>
> group: rseq
> ucode: 0xec
>
> test-description: The kernel contains a set of "self tests" under the
> tools/testing/selftests/ directory. These are intended to be small unit tests
> to exercise individual code paths in the kernel.
> test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
>
>
> on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with 16G
> memory
>
> caused below changes (please refer to attached dmesg/kmsg for entire
> log/backtrace):

I suspect this is because commit "rseq: Remove broken uapi field layout on 32-bit little endian"

needs to have this prior commit cherry-picked as well:

commit 5c105d55a9 ("selftests/rseq: introduce own copy of rseq uapi header")

Thanks,

Mathieu

>
>
>
>
> If you fix the issue, kindly add following tag
> Reported-by: kernel test robot <[email protected]>
>
> KERNEL SELFTESTS: linux_headers_dir is
> /usr/src/linux-headers-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4
> 2022-05-21 14:37:09 ln -sf /usr/bin/clang
> 2022-05-21 14:37:09 ln -sf /usr/bin/llc
> 2022-05-21 14:37:09 sed -i s/default_timeout=45/default_timeout=300/
> kselftest/runner.sh
> 2022-05-21 14:37:09 make -C rseq
> make: Entering directory
> '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
> gcc -O2 -Wall -g -I./ -I../../../../usr/include/
> -L/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq
> -Wl,-rpath=./ -shared -fPIC rseq.c -lpthread -o
> /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so
> In file included from rseq.c:30:
> rseq.h: In function ‘rseq_clear_rseq_cs’:
> rseq.h:143:20: error: request for member ‘ptr’ in something not a structure or
> union
> 143 | __rseq_abi.rseq_cs.ptr = 0;
> | ^
> make: *** [Makefile:27:
> /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so]
> Error 1
> make: Leaving directory
> '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
> 2022-05-21 14:37:10 make run_tests -C rseq
> make: Entering directory
> '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
> gcc -O2 -Wall -g -I./ -I../../../../usr/include/
> -L/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq
> -Wl,-rpath=./ -shared -fPIC rseq.c -lpthread -o
> /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so
> In file included from rseq.c:30:
> rseq.h: In function ‘rseq_clear_rseq_cs’:
> rseq.h:143:20: error: request for member ‘ptr’ in something not a structure or
> union
> 143 | __rseq_abi.rseq_cs.ptr = 0;
> | ^
> make: *** [Makefile:27:
> /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq/librseq.so]
> Error 1
> make: Leaving directory
> '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-3bb11f3f6872a692759f653f90d10674deb330a4/tools/testing/selftests/rseq'
>
>
>
> To reproduce:
>
> git clone https://github.com/intel/lkp-tests.git
> cd lkp-tests
> sudo bin/lkp install job.yaml # job file is attached in this email
> bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
> sudo bin/lkp run generated-yaml-file
>
> # if come across any failure that blocks the test,
> # please remove ~/.lkp and /lkp dir to run from a clean state.
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com