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

Unified Diff: mojo/nacl/sfi/README.md

Issue 1398213003: Refactored Non-SFI and SFI NaCl into separate directories. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/nacl/sfi/README.md
diff --git a/mojo/nacl/sfi/README.md b/mojo/nacl/sfi/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9c630982a84dc409d18b0742bd2f3da5138a1c09
--- /dev/null
+++ b/mojo/nacl/sfi/README.md
@@ -0,0 +1,43 @@
+About
+=====
+
+This is a prototype for plumbing Mojo into the NaCl sandbox. It is
+currently insecure (see below), does not provide a stable ABI (IRT
Mark Seaborn 2015/10/12 17:18:50 IRT support was added. I'm picking on this becaus
Sean Klein 2015/10/12 19:10:44 Done.
+support must be added), and does not support Mojo functions that
+return pointers (for example, `MojoMapBuffer`).
+
+Currently, SFI NaCl support is not being actively developed, in favor of
+non-SFI NaCl support.
+
+Using
+=====
+
+The SFI NaCl and accompanying tests should be built by default for Linux.
+The boolean indicating if they are built is "mojo_use_nacl", defined inside
+the BUILD files.
+
+This should create a "monacl_shell" executable, capable of running standalone
+SFI nexes.
+
+Additionally, it will create a content handler for SFI nexes -- any Nexe
+with the line "#!mojo mojo:nacl_content_handler" prepended to it will be
+redirected to the SFI content handler when run with the "mojo_shell".
+
+
+Notes
+=====
+
+`nacl_bindings_generator/interface.py` contains a programmatic description of
+the stable Mojo interface. This will need to be updated as the interface
+changes. Run `nacl_bindings_generator/generate_nacl_bindings.py` to generate
+the bindings that plumb this interface into the NaCl sandbox.
+
+Security TODO
+=============
+
+* Separate trusted and untrusted Mojo handles.
Mark Seaborn 2015/10/12 17:18:50 Nick did implement this.
Sean Klein 2015/10/12 19:10:44 Removed.
+* Validate and copy option structures.
+* Protect untrusted buffers passed into Mojo:
+ * `NaClVmIoWillStart/HasEnded`.
+ * volatile accesses to untrusted memory (untrusted code could race).
+* Overflow checking in array bounds validation.

Powered by Google App Engine
This is Rietveld 408576698