Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Issue 1233973002: Add ELF header analysis when checking for instruction pointer in code. (Closed)

Created:
5 years, 5 months ago by liuandrew
Modified:
5 years, 5 months ago
Reviewers:
srutherford, ahonig, ivanpe
CC:
google-breakpad-dev_googlegroups.com
Visibility:
Public.

Description

Add ELF header analysis when checking for instruction pointer in code. If the minidump module containing the instruction pointer has memory containing the ELF header and program header table, when checking the exploitability rating, the processor will use the ELF header data to determine if the instruction pointer lies in an executable region of the module, rather than just checking if it lies in a module. R=ivanpe@chromium.org Committed: https://code.google.com/p/google-breakpad/source/detail?r=1472

Patch Set 1 #

Total comments: 35

Patch Set 2 : Add ELF header analysis when checking for instruction pointer in code. #

Total comments: 10

Patch Set 3 : Add ELF header analysis when checking for instruction pointer in code. #

Patch Set 4 : #

Total comments: 4

Patch Set 5 : #

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+207 lines, -10 lines) Patch
M src/processor/exploitability_linux.h View 1 2 3 4 2 chunks +52 lines, -0 lines 0 comments Download
M src/processor/exploitability_linux.cc View 1 2 3 4 5 3 chunks +143 lines, -10 lines 0 comments Download
M src/processor/exploitability_unittest.cc View 1 1 chunk +12 lines, -0 lines 0 comments Download
A src/processor/testdata/linux_in_module_outside_executable_part.dmp View Binary file 0 comments Download
A src/processor/testdata/linux_in_module_outside_executable_part.dmp View 1 2 3 4 5 Binary file 0 comments Download
A src/processor/testdata/linux_inside_elf_header.dmp View Binary file 0 comments Download
A src/processor/testdata/linux_inside_elf_header.dmp View 1 2 3 4 5 Binary file 0 comments Download
A src/processor/testdata/linux_inside_module_exe_region1.dmp View 1 Binary file 0 comments Download
A src/processor/testdata/linux_inside_module_exe_region1.dmp View 1 2 3 4 5 Binary file 0 comments Download
A src/processor/testdata/linux_inside_module_exe_region2.dmp View 1 Binary file 0 comments Download
A src/processor/testdata/linux_inside_module_exe_region2.dmp View 1 2 3 4 5 Binary file 0 comments Download
A src/processor/testdata/linux_outside_module.dmp View Binary file 0 comments Download
A src/processor/testdata/linux_outside_module.dmp View 1 2 3 4 5 Binary file 0 comments Download
A src/processor/testdata/linux_raise_sigabrt.dmp View Binary file 0 comments Download
A src/processor/testdata/linux_raise_sigabrt.dmp View 1 2 3 4 5 Binary file 0 comments Download

Messages

Total messages: 17 (2 generated)
liuandrew
5 years, 5 months ago (2015-07-13 23:20:56 UTC) #2
ivanpe
https://codereview.chromium.org/1233973002/diff/1/src/processor/exploitability_linux.cc File src/processor/exploitability_linux.cc (right): https://codereview.chromium.org/1233973002/diff/1/src/processor/exploitability_linux.cc#newcode145 src/processor/exploitability_linux.cc:145: BPLOG(INFO) << "Unsupported architecture."; Instead of bool, you should ...
5 years, 5 months ago (2015-07-14 00:23:02 UTC) #3
liuandrew
+ahonig, srutherford
5 years, 5 months ago (2015-07-14 00:43:43 UTC) #5
ahonig
https://codereview.chromium.org/1233973002/diff/1/src/processor/exploitability_linux.cc File src/processor/exploitability_linux.cc (right): https://codereview.chromium.org/1233973002/diff/1/src/processor/exploitability_linux.cc#newcode133 src/processor/exploitability_linux.cc:133: // GetContextCPU() should have already been successfully called before ...
5 years, 5 months ago (2015-07-14 19:32:18 UTC) #6
liuandrew
Submitted patchset 2. Changes include using scoped_ptrs and templated methods and other miscellaneous fixes. https://codereview.chromium.org/1233973002/diff/1/src/processor/exploitability_linux.cc ...
5 years, 5 months ago (2015-07-15 21:50:14 UTC) #7
liuandrew
Add ELF header analysis when checking for instruction pointer in code. If the minidump module ...
5 years, 5 months ago (2015-07-16 00:23:46 UTC) #8
liuandrew
Uploaded patch set 3. Basically I forgot to run lint before I uploaded patch set ...
5 years, 5 months ago (2015-07-16 00:26:43 UTC) #9
ivanpe
https://codereview.chromium.org/1233973002/diff/20001/src/processor/exploitability_linux.cc File src/processor/exploitability_linux.cc (right): https://codereview.chromium.org/1233973002/diff/20001/src/processor/exploitability_linux.cc#newcode218 src/processor/exploitability_linux.cc:218: scoped_ptr<Elf32_Ehdr> header(new Elf32_Ehdr); Is this header needed only in ...
5 years, 5 months ago (2015-07-16 00:45:23 UTC) #10
liuandrew
Uploaded patch set 4. Changes include: - appropriate usage of scoped pointers (namely passing normal ...
5 years, 5 months ago (2015-07-16 17:07:02 UTC) #11
ivanpe
LGTM with some minor nits. https://codereview.chromium.org/1233973002/diff/60001/src/processor/exploitability_linux.h File src/processor/exploitability_linux.h (right): https://codereview.chromium.org/1233973002/diff/60001/src/processor/exploitability_linux.h#newcode91 src/processor/exploitability_linux.h:91: memcpy(reinterpret_cast<char *>(header) + i, ...
5 years, 5 months ago (2015-07-16 17:20:57 UTC) #12
liuandrew
Uploaded patch set 5. Changes include: - removing memcpy in favor of normal dereferencing - ...
5 years, 5 months ago (2015-07-16 17:35:08 UTC) #13
ivanpe
lgtm
5 years, 5 months ago (2015-07-16 18:20:52 UTC) #14
liuandrew
Uploaded patch set 6. Changes include: - casting to mitigate risk of integer overflow (see ...
5 years, 5 months ago (2015-07-16 19:31:32 UTC) #15
ivanpe
lgtm
5 years, 5 months ago (2015-07-16 20:26:04 UTC) #16
liuandrew
5 years, 5 months ago (2015-07-16 20:42:42 UTC) #17
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as r1472 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698