Re: test_vsyscall.c:500:22: warning: '__builtin_memcmp_eq' specified bound 4096 exceeds source size 0

Greg Kroah-Hartman
2022-01-06T10:05:09Z

On Thu, Jan 06, 2022 at 03:19:59PM +0530, Naresh Kamboju wrote:
> On Thu, 6 Jan 2022 at 15:02, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> 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 <lkft@linaro.org>
> > >
> > > 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 <skhan@linuxfoundation.org>
> 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 <skhan@linuxfoundation.org>

Thanks, will go queue that up now.

greg k-h