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

Issue 2097193003: Subzero: Fix x86-64 memory sandboxing. (Closed)

Created:
4 years, 5 months ago by Jim Stichnoth
Modified:
4 years, 5 months ago
Reviewers:
Eric Holk, Karl, John, manasijm
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

Subzero: Fix x86-64 memory sandboxing. Commit 2e4b960 (https://codereview.chromium.org/2084793002), which made address mode inference more aggressive, exposed a long-standing bug in memory sandboxing, which now manifests in 164.gzip. The problem is in sandboxed code like this: movl %eax, %eax movb 64(%rsp,%rax), %cl If %eax starts out -1, the mov address is something close to %rsp+4GB, instead of %rsp+63. To fix this, we need to use an lea instruction in more cases - specifically when the sandboxed address has an index register and the non-symbolic portion of the offset is nonzero. BUG= none R=jpp@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=ecbf2c4b314b07c7d4472be0a01b17c92007a9c7

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -7 lines) Patch
M src/IceTargetLoweringX8664.cpp View 1 chunk +17 lines, -7 lines 0 comments Download

Messages

Total messages: 6 (3 generated)
Jim Stichnoth
4 years, 5 months ago (2016-06-25 15:06:40 UTC) #3
John
lgtm
4 years, 5 months ago (2016-06-25 15:53:18 UTC) #4
Jim Stichnoth
4 years, 5 months ago (2016-06-25 17:01:36 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
ecbf2c4b314b07c7d4472be0a01b17c92007a9c7 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698