Chromium Code Reviews
Help | Chromium Project | Sign in
(35)

Issue 29743003: Add passes for applying SFI sandboxing at the LLVM IR level

Can't Edit
Can't Publish+Mail
Start Review
Created:
1 year, 8 months ago by Mark Seaborn
Modified:
1 year ago
Reviewers:
CC:
native-client-reviews_googlegroups.com
Base URL:
http://git.chromium.org/native_client/pnacl-llvm.git@master
Visibility:
Public.

Description

Add passes for applying SFI sandboxing at the LLVM IR level * Replace "alloca" with using an explicit stack pointer (Emscripten style) * Allocate addresses for global variables * Apply SFI sandboxing to memory accesses (not safe for memcpy() yet) Indirect calls aren't sandboxed yet. There's no validator for the generated code, so this assumes a trusted code generator.

Patch Set 1 #

Patch Set 2 : Retry upload #

Patch Set 3 : Rebase #

Patch Set 4 : Sandbox indirect calls #

Patch Set 5 : Retry upload #

Unified diffs Side-by-side diffs Delta from patch set Stats (+758 lines, -2 lines) Patch
M include/llvm/Transforms/NaCl.h View 1 2 3 2 chunks +13 lines, -0 lines 0 comments Download
M lib/Bitcode/NaCl/Analysis/LLVMBuild.txt View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
A lib/Transforms/NaCl/AddSFI.cpp View 1 2 3 1 chunk +116 lines, -0 lines 0 comments Download
A lib/Transforms/NaCl/AllocateDataSegment.cpp View 1 2 3 1 chunk +105 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/CMakeLists.txt View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/FlattenGlobals.cpp View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/ReplacePtrsWithInts.cpp View 1 2 3 1 chunk +4 lines, -1 line 0 comments Download
lib/Transforms/NaCl/SandboxIndirectCalls.cpp View 1 2 3 1 chunk +142 lines, -0 lines 0 comments Download
A lib/Transforms/NaCl/SandboxMemoryAccesses.cpp View 1 2 1 chunk +124 lines, -0 lines 0 comments Download
A lib/Transforms/NaCl/StripTls.cpp View 1 2 3 1 chunk +57 lines, -0 lines 0 comments Download
M lib/Transforms/Scalar/LowerAtomic.cpp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/allocate-data-segment.ll View 1 2 3 1 chunk +23 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/allocate-data-segment-size.ll View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/expand-alloca.ll View 1 2 3 1 chunk +45 lines, -0 lines 0 comments Download
M test/Transforms/NaCl/flatten-globals.ll View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/sandbox-indirect-calls.ll View 1 2 3 1 chunk +57 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/sandbox-memory-accesses.ll View 1 2 1 chunk +39 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/strip-tls.ll View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M tools/opt/opt.cpp View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
Trybot results: Sign in to try more bots
Commit: CQ not working?

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1f9106d