]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/bpf: Fix error compiling test_lru_map.c
authorTony Ambardar <tony.ambardar@gmail.com>
Mon, 29 Jul 2024 09:24:19 +0000 (02:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:07:49 +0000 (15:07 +0200)
[ Upstream commit cacf2a5a78cd1f5f616eae043ebc6f024104b721 ]

Although the post-increment in macro 'CPU_SET(next++, &cpuset)' seems safe,
the sequencing can raise compile errors, so move the increment outside the
macro. This avoids an error seen using gcc 12.3.0 for mips64el/musl-libc:

  In file included from test_lru_map.c:11:
  test_lru_map.c: In function 'sched_next_online':
  test_lru_map.c:129:29: error: operation on 'next' may be undefined [-Werror=sequence-point]
    129 |                 CPU_SET(next++, &cpuset);
        |                             ^
  cc1: all warnings being treated as errors

Fixes: 3fbfadce6012 ("bpf: Fix test_lru_sanity5() in test_lru_map.c")
Signed-off-by: Tony Ambardar <tony.ambardar@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/22993dfb11ccf27925a626b32672fd3324cb76c4.1722244708.git.tony.ambardar@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/test_lru_map.c

index 6a5349f9eb148eebea296425ec7a000c8f5b8a7d..7748d28e8b97aa2c1f3306a8d659da11e9fb2b41 100644 (file)
@@ -137,7 +137,8 @@ static int sched_next_online(int pid, int *next_to_try)
 
        while (next < nr_cpus) {
                CPU_ZERO(&cpuset);
-               CPU_SET(next++, &cpuset);
+               CPU_SET(next, &cpuset);
+               next++;
                if (!sched_setaffinity(pid, sizeof(cpuset), &cpuset)) {
                        ret = 0;
                        break;