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

Issue 930733002: Subzero: Add sandboxing for x86-32. (Closed)

Created:
5 years, 10 months ago by Jim Stichnoth
Modified:
5 years, 10 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Patch Set 1 : Sandbox only for filetype=asm #

Patch Set 2 : Reformat #

Patch Set 3 : Add emitIAS() for jmp instruction. Fix call sandboxing logic. #

Patch Set 4 : Change BundleLock and BundleUnlock to be high-level ICE instructions. #

Patch Set 5 : Add bundle alignment to the instruction emission loop #

Total comments: 4

Patch Set 6 : Working version. Still needs cleanup and tests. #

Patch Set 7 : Move low-level bundling logic into a helper class #

Patch Set 8 : More cleanup #

Patch Set 9 : Fix asm emission for %gs:0 . (Was just emitting "gs:".) #

Total comments: 14

Patch Set 10 : Code review changes #

Patch Set 11 : Add a sandboxing test. Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+729 lines, -17 lines) Patch
M src/IceCfg.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceCfgNode.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +210 lines, -5 lines 0 comments Download
M src/IceInst.h View 1 2 3 2 chunks +54 lines, -5 lines 0 comments Download
M src/IceInst.cpp View 1 2 3 2 chunks +49 lines, -0 lines 0 comments Download
M src/IceInstX8632.h View 1 2 3 4 5 6 7 2 chunks +22 lines, -0 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 4 5 6 7 8 4 chunks +60 lines, -2 lines 0 comments Download
M src/IceTargetLowering.cpp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 2 3 2 chunks +8 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 7 3 chunks +42 lines, -0 lines 0 comments Download
M src/assembler.h View 1 2 3 4 5 6 7 8 9 5 chunks +21 lines, -1 line 0 comments Download
M src/assembler.cpp View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M src/assembler_ia32.h View 1 2 3 4 5 2 chunks +11 lines, -0 lines 0 comments Download
M src/assembler_ia32.cpp View 1 2 3 4 5 6 7 3 chunks +14 lines, -3 lines 0 comments Download
A tests_lit/assembler/x86/sandboxing.ll View 1 2 3 4 5 6 7 8 9 10 1 chunk +232 lines, -0 lines 0 comments Download

Messages

Total messages: 18 (2 generated)
Jim Stichnoth
This is not ready for review yet. I'd appreciate feedback on the bundling logic in ...
5 years, 10 months ago (2015-02-17 20:53:11 UTC) #2
jvoung (off chromium)
https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp File src/IceCfgNode.cpp (right): https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp#newcode1006 src/IceCfgNode.cpp:1006: if ((BufSizePre & BundleMask) != (BufSizePost & BundleMask)) { ...
5 years, 10 months ago (2015-02-17 22:57:45 UTC) #3
jvoung (off chromium)
On 2015/02/17 20:53:11, stichnot wrote: > This is not ready for review yet. > > ...
5 years, 10 months ago (2015-02-17 23:01:16 UTC) #4
Jim Stichnoth
On 2015/02/17 23:01:16, jvoung wrote: > On 2015/02/17 20:53:11, stichnot wrote: > > This is ...
5 years, 10 months ago (2015-02-17 23:34:00 UTC) #5
jvoung (off chromium)
On 2015/02/17 23:34:00, stichnot wrote: > On 2015/02/17 23:01:16, jvoung wrote: > > On 2015/02/17 ...
5 years, 10 months ago (2015-02-18 01:35:36 UTC) #6
jvoung (off chromium)
On 2015/02/18 01:35:36, jvoung wrote: > On 2015/02/17 23:34:00, stichnot wrote: > > On 2015/02/17 ...
5 years, 10 months ago (2015-02-18 01:37:50 UTC) #7
Jim Stichnoth
https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp File src/IceCfgNode.cpp (right): https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp#newcode1006 src/IceCfgNode.cpp:1006: if ((BufSizePre & BundleMask) != (BufSizePost & BundleMask)) { ...
5 years, 10 months ago (2015-02-18 07:06:14 UTC) #8
jvoung (off chromium)
On 2015/02/18 07:06:14, stichnot wrote: > https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp > File src/IceCfgNode.cpp (right): > > https://codereview.chromium.org/930733002/diff/80001/src/IceCfgNode.cpp#newcode1006 > ...
5 years, 10 months ago (2015-02-18 18:25:31 UTC) #9
Jim Stichnoth
On 2015/02/18 18:25:31, jvoung wrote: > That said it might be safer overall to do ...
5 years, 10 months ago (2015-02-19 08:15:46 UTC) #10
Jim Stichnoth
This is now ready for review, though I will soon add some new explicit sandboxing ...
5 years, 10 months ago (2015-02-19 18:52:42 UTC) #11
jvoung (off chromium)
Cool -- generally looks good https://codereview.chromium.org/930733002/diff/160001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/930733002/diff/160001/src/IceCfg.cpp#newcode439 src/IceCfg.cpp:439: Str << "\t.bundle_align_mode " ...
5 years, 10 months ago (2015-02-19 21:01:47 UTC) #12
Jim Stichnoth
https://codereview.chromium.org/930733002/diff/160001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/930733002/diff/160001/src/IceCfg.cpp#newcode439 src/IceCfg.cpp:439: Str << "\t.bundle_align_mode " << Asm->getBundleAlignLog2Bytes() << "\n"; On ...
5 years, 10 months ago (2015-02-19 23:17:39 UTC) #13
jvoung (off chromium)
lgtm
5 years, 10 months ago (2015-02-20 01:50:35 UTC) #14
Jim Stichnoth
Added a lit test as promised.
5 years, 10 months ago (2015-02-20 07:34:52 UTC) #16
Karl
lgtm
5 years, 10 months ago (2015-02-20 15:56:41 UTC) #17
Jim Stichnoth
5 years, 10 months ago (2015-02-20 17:20:21 UTC) #18
Message was sent while issue was closed.
Committed patchset #11 (id:200001) manually as
9f42d8ca95d6ed94b6334e652181f82d2edcaa05 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698