1. 02 Apr, 2021 1 commit
    • Fenghua Yu's avatar
      selftests/resctrl: Enable gcc checks to detect buffer overflows · a9d26a30
      Fenghua Yu authored
      David reported a buffer overflow error in the check_results() function of
      the cmt unit test and he suggested enabling _FORTIFY_SOURCE gcc compiler
      option to automatically detect any such errors.
      
      Feature Test Macros man page describes_FORTIFY_SOURCE as below
      
      "Defining this macro causes some lightweight checks to be performed to
      detect some buffer overflow errors when employing various string and memory
      manipulation functions (for example, memcpy, memset, stpcpy, strcpy,
      strncpy, strcat, strncat, sprintf, snprintf, vsprintf, vsnprintf, gets, and
      wide character variants thereof). For some functions, argument consistency
      is checked; for example, a check is made that open has been supplied with a
      mode argument when the specified flags include O_CREAT. Not all problems
      are detected, just some common cases.
      
      If _FORTIFY_SOURCE is set to 1, with compiler optimization level 1 (gcc
      -O1) and above, checks that shouldn't change the behavior of conforming
      programs are performed.
      
      With _FORTIFY_SOURCE set to 2, some more checking is added, but some
      conforming programs might fail.
      
      Some of the checks can be performed at compile time (via macros logic
      implemented in header files), and result in compiler warnings; other checks
      take place at run time, and result in a run-time error if the check fails.
      
      Use of this macro requires compiler support, available with gcc since
      version 4.0."
      
      Fix the buffer overflow error in the check_results() function of the cmt
      unit test and enable _FORTIFY_SOURCE gcc check to catch any future buffer
      overflow errors.
      Reported-by: default avatarDavid Binderman <dcb314@hotmail.com>
      Suggested-by: default avatarDavid Binderman <dcb314@hotmail.com>
      Tested-by: default avatarBabu Moger <babu.moger@amd.com>
      Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      a9d26a30
  2. 26 Mar, 2021 2 commits
    • Colin Ian King's avatar
      selftests/timers: Fix spelling mistake "clocksourc" -> "clocksource" · ea2c679e
      Colin Ian King authored
      There is a spelling mistake in a comment. Fix it.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Acked-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      ea2c679e
    • Ilya Leoshkevich's avatar
      selftests: fix prepending $(OUTPUT) to $(TEST_PROGS) · cb4969e6
      Ilya Leoshkevich authored
      Currently the following command produces an error message:
      
          linux# make kselftest TARGETS=bpf O=/mnt/linux-build
          # selftests: bpf: test_libbpf.sh
          # ./test_libbpf.sh: line 23: ./test_libbpf_open: No such file or directory
          # test_libbpf: failed at file test_l4lb.o
          # selftests: test_libbpf [FAILED]
      
      The error message might not affect the return code of make, therefore
      one needs to grep make output in order to detect it.
      
      This is not the only instance of the same underlying problem; any test
      with more than one element in $(TEST_PROGS) fails the same way. Another
      example:
      
          linux# make O=/mnt/linux-build TARGETS=splice kselftest
          [...]
          # ./short_splice_read.sh: 15: ./splice_read: not found
          # FAIL: /sys/module/test_module/sections/.init.text 2
          not ok 2 selftests: splice: short_splice_read.sh # exit=1
      
      The current logic prepends $(OUTPUT) only to the first member of
      $(TEST_PROGS). After that, run_one() does
      
         cd `dirname $TEST`
      
      For all tests except the first one, `dirname $TEST` is ., which means
      they cannot access the files generated in $(OUTPUT).
      
      Fix by using $(addprefix) to prepend $(OUTPUT)/ to each member of
      $(TEST_PROGS).
      
      Fixes: 1a940687 ("selftests: lib.mk: copy test scripts and test files for make O=dir run")
      Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      cb4969e6
  3. 06 Mar, 2021 4 commits
  4. 05 Mar, 2021 33 commits