[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Vitaly Buka via llvm-branch-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/112668 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Vitaly Buka via llvm-branch-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/112668 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Florian Mayer via llvm-branch-commits
@@ -325,6 +325,44 @@ bool IsAccessibleMemoryRange(uptr beg, uptr size) { return true; } +bool TryMemCpy(void *dest, const void *src, uptr n) { + int sock_pair[2]; + if (pipe(sock_pair)) +return false; + + auto cleanup = at_scope_exit([&]() { +internal_close(sock_p

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Vitaly Buka via llvm-branch-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/112668 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Vitaly Buka via llvm-branch-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/112668 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-17 Thread Florian Mayer via llvm-branch-commits
@@ -325,6 +325,44 @@ bool IsAccessibleMemoryRange(uptr beg, uptr size) { return true; } +bool TryMemCpy(void *dest, const void *src, uptr n) { + int sock_pair[2]; + if (pipe(sock_pair)) +return false; + + auto cleanup = at_scope_exit([&]() { +internal_close(sock_p

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-16 Thread via llvm-branch-commits
llvmbot wrote: @llvm/pr-subscribers-compiler-rt-sanitizer Author: Vitaly Buka (vitalybuka) Changes For posix implementation is similar to `IsAccessibleMemoryRange`, using `pipe`. We need this because we can't rely on non-atomic `IsAccessibleMemoryRange` + `memcpy`, as the protection or ma

[llvm-branch-commits] [sanitizer] Add TryMemCpy (PR #112668)

2024-10-16 Thread Vitaly Buka via llvm-branch-commits
https://github.com/vitalybuka created https://github.com/llvm/llvm-project/pull/112668 For posix implementation is similar to `IsAccessibleMemoryRange`, using `pipe`. We need this because we can't rely on non-atomic `IsAccessibleMemoryRange` + `memcpy`, as the protection or mapping may change a