[all-commits] [llvm/llvm-project] 0ce057: [sanitizer] Support v2 and v3 capabilities

Ilya Leoshkevich via All-commits all-commits at lists.llvm.org
Fri Feb 24 05:12:34 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ce057c5925d8bcb3b3835d439b5465c01812424
      https://github.com/llvm/llvm-project/commit/0ce057c5925d8bcb3b3835d439b5465c01812424
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2023-02-24 (Fri, 24 Feb 2023)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    A compiler-rt/test/sanitizer_common/TestCases/Linux/cap.c

  Log Message:
  -----------
  [sanitizer] Support v2 and v3 capabilities

capget() and capset() may read or write more than one cap_user_data_t,
depending on the version field of cap_user_header_t. Currently the
code assumes it's just one, so MSan complains if an application uses
version 2 or 3, where two cap_user_data_ts are used.

Parse the header in order to determine the number of cap_user_data_ts.
Also add a test.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D143660




More information about the All-commits mailing list