New issue
Advanced search Search tips

Issue 912286 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 916895



Sign in to add a comment

Implement GWP-ASan for non-Windows platforms

Project Member Reported by vtsyrklevich@chromium.org, Dec 5

Issue description

Tracking bug to track GWP-ASan work to enable GWP-ASan for non-Windows platforms.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bdeac339d6e7dfa934db9365aabc5ff71581aa69

commit bdeac339d6e7dfa934db9365aabc5ff71581aa69
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Dec 05 21:57:19 2018

GWP-ASan: Change allocation alignment conditions

posix_memalign() and other intercepted aligned allocation functions
don't require that align <= size, update the GPA to respect that
behavior.

Bug: 912286
Change-Id: Id257938d8c90d7e50680e120af7396cdf2ab0f92
Reviewed-on: https://chromium-review.googlesource.com/c/1363862
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614115}
[modify] https://crrev.com/bdeac339d6e7dfa934db9365aabc5ff71581aa69/components/gwp_asan/client/guarded_page_allocator.cc
[modify] https://crrev.com/bdeac339d6e7dfa934db9365aabc5ff71581aa69/components/gwp_asan/client/guarded_page_allocator.h
[modify] https://crrev.com/bdeac339d6e7dfa934db9365aabc5ff71581aa69/components/gwp_asan/client/guarded_page_allocator_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79d24fbf5dde4f9886cd669ce5f9d64c7563a08c

commit 79d24fbf5dde4f9886cd669ce5f9d64c7563a08c
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Dec 19 00:50:23 2018

GWP-ASan: Disable test on component builds

This test fails on component builds because GetCrashKeyValue() can not
read the GWP-ASan allocator crash key. This worked until now because on
Windows use_allocator_shim=false for component builds, but that's not
true on other platforms.

Bug: 912286
Change-Id: Ic348b125778f9a5cac536aee02ded3af34700006
Reviewed-on: https://chromium-review.googlesource.com/c/1383443
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617692}
[modify] https://crrev.com/79d24fbf5dde4f9886cd669ce5f9d64c7563a08c/components/gwp_asan/client/sampling_allocator_shims_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f199de82083066fe5c4875ad69b88943fd91bdf

commit 2f199de82083066fe5c4875ad69b88943fd91bdf
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Dec 19 00:56:02 2018

allocator: Also run malloc_size shim tests on OSX

Bug: 912286
Change-Id: Id15d346cf13d76aaeba2d4c1e5e1ddb166bd7bb0
Reviewed-on: https://chromium-review.googlesource.com/c/1382904
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617696}
[modify] https://crrev.com/2f199de82083066fe5c4875ad69b88943fd91bdf/base/allocator/allocator_shim_unittest.cc

Blocking: 916895
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8424720ad677b34353344783585d6dfa82d14e93

commit 8424720ad677b34353344783585d6dfa82d14e93
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Fri Dec 21 01:16:56 2018

Update Crashpad to abfad376ab08dfa42a984353004d72a38cadb198

f2a07982ff52 Change edge case handling in ReadCStringInternal
ffd666e16c5f fuchsia: Update Paths::Executable documentation
bf6d2e028376 Refactor TaskMemory initialization
7018a80b36be Simplify test set-up
8b2ec2aae4b2 Make TaskMemory a child class of ProcessMemory
4e3be595f360 Delete redundant TaskMemory tests
3f7d4d7d093c Break out redundant tests into a routine
3b9e3aad1b99 Move and rename TaskMemory to ProcessMemoryMac
fccd9c09c0b6 Implement ProcessSnapshotMac::Memory()
abfad376ab08 Add missing build/build_config.h includes

Bug: 912286
Change-Id: I23457a5a6dba367da94288654868f8663641316a
Reviewed-on: https://chromium-review.googlesource.com/c/1388064
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618420}
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/README.chromium
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.h
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/test/multiprocess_exec.h
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/test/multiprocess_exec_posix.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/test/process_type.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/test/process_type.h
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/BUILD.gn
[delete] https://crrev.com/f536b926fbc3c47f0b82e7fd343e92dcfb6b0068/third_party/crashpad/crashpad/util/mach/task_memory.cc
[delete] https://crrev.com/f536b926fbc3c47f0b82e7fd343e92dcfb6b0068/third_party/crashpad/crashpad/util/mach/task_memory.h
[delete] https://crrev.com/f536b926fbc3c47f0b82e7fd343e92dcfb6b0068/third_party/crashpad/crashpad/util/mach/task_memory_test.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/misc/paths_fuchsia.cc
[add] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_mac.cc
[add] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_mac.h
[add] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_mac_test.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_native.h
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_range_test.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/process/process_memory_test.cc
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/util.gyp
[modify] https://crrev.com/8424720ad677b34353344783585d6dfa82d14e93/third_party/crashpad/crashpad/util/util_test.gyp

Blockedon: 916895
Blocking: -916895
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/797a65fb1b461a07070b37368fd73250df3d5d31

commit 797a65fb1b461a07070b37368fd73250df3d5d31
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Tue Jan 08 02:28:33 2019

GWP-ASan: Refactor (Un)MapPages

Refactor shared code out of the platform-specific MapPages/UnmapPages
implementation.

Bug: 912286
Change-Id: Ie066c115ac0ac8d205cf611805688bbce5795fbe
Reviewed-on: https://chromium-review.googlesource.com/c/1399579
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620586}
[modify] https://crrev.com/797a65fb1b461a07070b37368fd73250df3d5d31/components/gwp_asan/client/guarded_page_allocator.cc
[modify] https://crrev.com/797a65fb1b461a07070b37368fd73250df3d5d31/components/gwp_asan/client/guarded_page_allocator.h
[modify] https://crrev.com/797a65fb1b461a07070b37368fd73250df3d5d31/components/gwp_asan/client/guarded_page_allocator_win.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830

commit a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Tue Jan 08 23:58:36 2019

GWP-ASan: Add macOS client support

Add POSIX implementations for the GuardedPageAllocator memory management
and sampling shims thread-local storage routines. Also, implement a
an allocator stub for the OS X batch_free routine.

Bug: 912286
Change-Id: Ic88c802379336cec35d04c1d318d7e7d72710451
Reviewed-on: https://chromium-review.googlesource.com/c/1385487
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620947}
[modify] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/BUILD.gn
[modify] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/client/BUILD.gn
[add] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/client/guarded_page_allocator_posix.cc
[modify] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/client/sampling_allocator_shims.cc
[add] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/client/sampling_allocator_shims_posix.h
[modify] https://crrev.com/a5dbdd2fa36c02dabd2f8854fc5c39bbf1fa6830/components/gwp_asan/client/sampling_allocator_shims_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/440a53892076a472b0c2e78b404a11bebc328134

commit 440a53892076a472b0c2e78b404a11bebc328134
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Jan 09 01:43:38 2019

GWP-ASan: Add macOS crash handler support

Add a macOS implementation of CrashAnalyzer::GetAccessAddress() and some
small tweaks to accomodate non-Windows platforms.

Bug: 912286
Change-Id: I6e438c44ff4a11ec58ba57e2165e7fbf8eddf931
Reviewed-on: https://chromium-review.googlesource.com/c/1401615
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620989}
[modify] https://crrev.com/440a53892076a472b0c2e78b404a11bebc328134/components/gwp_asan/BUILD.gn
[modify] https://crrev.com/440a53892076a472b0c2e78b404a11bebc328134/components/gwp_asan/crash_handler/BUILD.gn
[add] https://crrev.com/440a53892076a472b0c2e78b404a11bebc328134/components/gwp_asan/crash_handler/crash_analyzer_mac.cc
[modify] https://crrev.com/440a53892076a472b0c2e78b404a11bebc328134/components/gwp_asan/crash_handler/crash_handler_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e7f3d9d2889d37ac984f90b093059f67fd5edc2

commit 4e7f3d9d2889d37ac984f90b093059f67fd5edc2
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Fri Jan 18 18:53:49 2019

GWP-ASan: Add Linux unittest support

Linux is not currently supported due to https://crbug.com/916895;
however, it is usable and I test with it. Upstreaming this would save me
some effort fixing this unittest every time I test something on Linux.

Bug: 912286
Change-Id: I23c5596355bfffb05a68904e839e5769b481bfac
Reviewed-on: https://chromium-review.googlesource.com/c/1422237
Auto-Submit: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624216}
[modify] https://crrev.com/4e7f3d9d2889d37ac984f90b093059f67fd5edc2/components/gwp_asan/client/sampling_allocator_shims_unittest.cc

Sign in to add a comment