]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 30 Jul 2024 20:45:45 +0000 (13:45 -0700)
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
tools/testing/selftests/bpf/test_lru_map.c

index 4d0650cfb5cd8bbcd7dd0decb318d0fc8dc11991..fda7589c50236c4164b3078ef0139c97495475bf 100644 (file)
@@ -126,7 +126,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;