]> git.baikalelectronics.ru Git - kernel.git/commitdiff
selftests/seccomp: Fix compile warning when CC=clang
authorYiFei Zhu <zhuyifei@google.com>
Thu, 26 May 2022 22:34:07 +0000 (22:34 +0000)
committerKees Cook <keescook@chromium.org>
Wed, 27 Jul 2022 19:12:16 +0000 (12:12 -0700)
clang has -Wconstant-conversion by default, and the constant 0xAAAAAAAAA
(9 As) being converted to an int, which is generally 32 bits, results
in the compile warning:

  clang -Wl,-no-as-needed -Wall -isystem ../../../../usr/include/  -lpthread  seccomp_bpf.c -lcap -o seccomp_bpf
  seccomp_bpf.c:812:67: warning: implicit conversion from 'long' to 'int' changes value from 45812984490 to -1431655766 [-Wconstant-conversion]
          int kill = kill_how == KILL_PROCESS ? SECCOMP_RET_KILL_PROCESS : 0xAAAAAAAAA;
              ~~~~                                                         ^~~~~~~~~~~
  1 warning generated.

-1431655766 is the expected truncation, 0xAAAAAAAA (8 As), so use
this directly in the code to avoid the warning.

Fixes: e8c199930af3 ("selftests/seccomp: Add test for unknown SECCOMP_RET kill behavior")
Signed-off-by: YiFei Zhu <zhuyifei@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220526223407.1686936-1-zhuyifei@google.com
tools/testing/selftests/seccomp/seccomp_bpf.c

index 136df5b76319d79725ee4bb3a4f1015b82628fbb..4ae6c899130740165cb1db79c25ad3be5f74cb8d 100644 (file)
@@ -809,7 +809,7 @@ void kill_thread_or_group(struct __test_metadata *_metadata,
                .len = (unsigned short)ARRAY_SIZE(filter_thread),
                .filter = filter_thread,
        };
-       int kill = kill_how == KILL_PROCESS ? SECCOMP_RET_KILL_PROCESS : 0xAAAAAAAAA;
+       int kill = kill_how == KILL_PROCESS ? SECCOMP_RET_KILL_PROCESS : 0xAAAAAAAA;
        struct sock_filter filter_process[] = {
                BPF_STMT(BPF_LD|BPF_W|BPF_ABS,
                        offsetof(struct seccomp_data, nr)),