2022-01-06 09:26:08

by Naresh Kamboju

[permalink] [raw]
Subject: test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound 4096 exceeds source size 0

While building selftests the following warnings were noticed for x86_64
architecture on Linux stable v5.15.13 kernel.

metadata:
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
git commit: 734eb1fd2073f503f5c6b44f1c0d453ca6986b84
git describe: v5.15.13
toolchain": gcc-11
kernel-config: https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config

x86_64-linux-gnu-gcc -m64 -o \
/home/tuxbuild/.cache/tuxmake/builds/current/kselftest/x86/test_vsyscall_64 \
-O2 -g -std=gnu99 -pthread -Wall -no-pie \
-DCAN_BUILD_64 test_vsyscall.c helpers.h -lrt -ldl

test_vsyscall.c: In function 'test_process_vm_readv':
test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound
4096 exceeds source size 0 [-Wstringop-overread]
500 | if (!memcmp(buf, (const void
*)0xffffffffff600000, 4096)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Linux Kernel Functional Testing <[email protected]>

Build link:
https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/

# To install tuxmake on your system globally:
# sudo pip3 install -U tuxmake

tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11 \
--kconfig https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config \
cpupower headers kernel kselftest kselftest-merge modules


--
Linaro LKFT
https://lkft.linaro.org


2022-01-06 09:32:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound 4096 exceeds source size 0

On Thu, Jan 06, 2022 at 02:55:53PM +0530, Naresh Kamboju wrote:
> While building selftests the following warnings were noticed for x86_64
> architecture on Linux stable v5.15.13 kernel.
>
> metadata:
> git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
> git commit: 734eb1fd2073f503f5c6b44f1c0d453ca6986b84
> git describe: v5.15.13
> toolchain": gcc-11
> kernel-config: https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config
>
> x86_64-linux-gnu-gcc -m64 -o \
> /home/tuxbuild/.cache/tuxmake/builds/current/kselftest/x86/test_vsyscall_64 \
> -O2 -g -std=gnu99 -pthread -Wall -no-pie \
> -DCAN_BUILD_64 test_vsyscall.c helpers.h -lrt -ldl
>
> test_vsyscall.c: In function 'test_process_vm_readv':
> test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound
> 4096 exceeds source size 0 [-Wstringop-overread]
> 500 | if (!memcmp(buf, (const void
> *)0xffffffffff600000, 4096)) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Reported-by: Linux Kernel Functional Testing <[email protected]>
>
> Build link:
> https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/
>
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
>
> tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11 \
> --kconfig https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config \
> cpupower headers kernel kselftest kselftest-merge modules

Is this a new regression from 5.15.0? Is it also present on Linus's tree?

thanks,

greg k-h

2022-01-06 09:50:14

by Naresh Kamboju

[permalink] [raw]
Subject: Re: test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound 4096 exceeds source size 0

On Thu, 6 Jan 2022 at 15:02, Greg Kroah-Hartman
<[email protected]> wrote:
>
> On Thu, Jan 06, 2022 at 02:55:53PM +0530, Naresh Kamboju wrote:
> > While building selftests the following warnings were noticed for x86_64
> > architecture on Linux stable v5.15.13 kernel.
> >
> > metadata:
> > git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
> > git commit: 734eb1fd2073f503f5c6b44f1c0d453ca6986b84
> > git describe: v5.15.13
> > toolchain": gcc-11
> > kernel-config: https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config
> >
> > x86_64-linux-gnu-gcc -m64 -o \
> > /home/tuxbuild/.cache/tuxmake/builds/current/kselftest/x86/test_vsyscall_64 \
> > -O2 -g -std=gnu99 -pthread -Wall -no-pie \
> > -DCAN_BUILD_64 test_vsyscall.c helpers.h -lrt -ldl
> >
> > test_vsyscall.c: In function 'test_process_vm_readv':
> > test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound
> > 4096 exceeds source size 0 [-Wstringop-overread]
> > 500 | if (!memcmp(buf, (const void
> > *)0xffffffffff600000, 4096)) {
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > Reported-by: Linux Kernel Functional Testing <[email protected]>
> >
> > Build link:
> > https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/
> >
> > # To install tuxmake on your system globally:
> > # sudo pip3 install -U tuxmake
> >
> > tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11 \
> > --kconfig https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config \
> > cpupower headers kernel kselftest kselftest-merge modules
>
> Is this a new regression from 5.15.0? Is it also present on Linus's tree?

This build warning is not present in Linus's tree.
Following patch to be backported to 5.15.x

---
From dd40f44eabe1e122c6852fabb298aac05b083fce Mon Sep 17 00:00:00 2001
From: Shuah Khan <[email protected]>
Date: Thu, 21 Oct 2021 15:33:33 -0600
Subject: selftests: x86: fix [-Wstringop-overread] warn in
test_process_vm_readv()

Fix the following [-Wstringop-overread] by passing in the variable
instead of the value.

test_vsyscall.c: In function ‘test_process_vm_readv’:
test_vsyscall.c:500:22: warning: ‘__builtin_memcmp_eq’ specified bound
4096 exceeds source size 0 [-Wstringop-overread]
500 | if (!memcmp(buf, (const void
*)0xffffffffff600000, 4096)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shuah Khan <[email protected]>

- Naresh

2022-01-06 10:05:09

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound 4096 exceeds source size 0

On Thu, Jan 06, 2022 at 03:19:59PM +0530, Naresh Kamboju wrote:
> On Thu, 6 Jan 2022 at 15:02, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > On Thu, Jan 06, 2022 at 02:55:53PM +0530, Naresh Kamboju wrote:
> > > While building selftests the following warnings were noticed for x86_64
> > > architecture on Linux stable v5.15.13 kernel.
> > >
> > > metadata:
> > > git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
> > > git commit: 734eb1fd2073f503f5c6b44f1c0d453ca6986b84
> > > git describe: v5.15.13
> > > toolchain": gcc-11
> > > kernel-config: https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config
> > >
> > > x86_64-linux-gnu-gcc -m64 -o \
> > > /home/tuxbuild/.cache/tuxmake/builds/current/kselftest/x86/test_vsyscall_64 \
> > > -O2 -g -std=gnu99 -pthread -Wall -no-pie \
> > > -DCAN_BUILD_64 test_vsyscall.c helpers.h -lrt -ldl
> > >
> > > test_vsyscall.c: In function 'test_process_vm_readv':
> > > test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound
> > > 4096 exceeds source size 0 [-Wstringop-overread]
> > > 500 | if (!memcmp(buf, (const void
> > > *)0xffffffffff600000, 4096)) {
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > Reported-by: Linux Kernel Functional Testing <[email protected]>
> > >
> > > Build link:
> > > https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/
> > >
> > > # To install tuxmake on your system globally:
> > > # sudo pip3 install -U tuxmake
> > >
> > > tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11 \
> > > --kconfig https://builds.tuxbuild.com/23HFo8abXIL6i4FFfSYiJlqAYMW/config \
> > > cpupower headers kernel kselftest kselftest-merge modules
> >
> > Is this a new regression from 5.15.0? Is it also present on Linus's tree?
>
> This build warning is not present in Linus's tree.
> Following patch to be backported to 5.15.x
>
> ---
> >From dd40f44eabe1e122c6852fabb298aac05b083fce Mon Sep 17 00:00:00 2001
> From: Shuah Khan <[email protected]>
> Date: Thu, 21 Oct 2021 15:33:33 -0600
> Subject: selftests: x86: fix [-Wstringop-overread] warn in
> test_process_vm_readv()
>
> Fix the following [-Wstringop-overread] by passing in the variable
> instead of the value.
>
> test_vsyscall.c: In function ‘test_process_vm_readv’:
> test_vsyscall.c:500:22: warning: ‘__builtin_memcmp_eq’ specified bound
> 4096 exceeds source size 0 [-Wstringop-overread]
> 500 | if (!memcmp(buf, (const void
> *)0xffffffffff600000, 4096)) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Signed-off-by: Shuah Khan <[email protected]>

Thanks, will go queue that up now.

greg k-h