Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Jed Davis 0c5b23b47d Bug 1479960 - Add freezing of IPC shared memory. r=froydnj,kmag
This allows writing to shared memory and then making it read-only before
sharing it to other processes, such that a malicious sandboxed process
cannot regain write access.  This is currently available only in the
low-level base::SharedMemory interface.

The freeze operation exposes the common subset of read-only shared
memory that we can implement on all supported OSes: with some APIs
(POSIX shm_open) we can't revoke writeability from existing capabilies,
while for others (Android ashmem) we *must* revoke it.  Thus, we require
that the writeable capability not have been duplicated or shared to
another process, and consume it as part of freezing.  Also, because in
some backends need special handling at creation time, freezeability must
be explicitly requested.

In particular, this doesn't allow giving an untrusted process read-only
access to memory that the original process can write.

Note that on MacOS before 10.12 this will use temporary files in order to
avoid an OS security bug that allows regaining write access; those OS
versions are no longer supported by Apple (but are supported by Firefox).

Depends on D26742

Differential Revision: https://phabricator.services.mozilla.com/D26743

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:34 +00:00
.cargo Bug 1573409: Bump Cranelift to b2c69b1d032626c67f685080dbf6971d3b9ffa43; r=lth 2019-08-13 11:55:37 +00:00
.vscode Bug 1563848 - Recommend a VSCode plugin for prettier. r=vporof 2019-07-06 07:33:28 +00:00
accessible Bug 1105868 part 4 - Accessibility support for inline list-items. r=emilio 2019-08-14 14:37:16 +00:00
browser Bug 1479960 - Fix the main thread I/O tests to handle the IPC shared memory changes. r=florian 2019-08-14 22:48:33 +00:00
build Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE 2019-08-14 18:53:36 +03:00
caps Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
chrome Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
config Bug 1573861 - remove unused OBJ_TARGETS from rules.mk; r=dmajor 2019-08-14 15:22:07 +00:00
devtools Bug 1570821 - limit height for variable tooltip and decrease left padding r=davidwalsh 2019-08-14 20:52:19 +00:00
docshell Bug 1422334. replaceState should update all the URI state for the entry being replaced. r=smaug 2019-08-14 19:29:49 +00:00
dom Backed out changeset c60ee628dd0e (bug 1571711) for RemoteSandboxBroker related bustages CLOSED TREE 2019-08-15 01:50:01 +03:00
editor Bug 1572681 - part 6: Move TextEditRules::mDidExplicitlySetInterline to HTMLEditRules r=m_kato 2019-08-13 08:53:45 +00:00
extensions Backed out 3 changesets (bug 1531303) for causing close_window/close.py and browser_permissions_dialog.js to perma fail CLOSED TREE 2019-08-14 13:07:55 +03:00
gfx Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj 2019-08-14 22:48:22 +00:00
gradle/wrapper Bug 1522795 - Update android gradle plugin to 3.4.2. r=nalexander 2019-07-24 18:48:54 +00:00
hal Bug 1289211 - Rename InfallibleTArray to nsTArray in hal/ r=gsvelto 2019-07-10 03:30:52 +00:00
image Bug 1571742 - Move Nosniff-Check into Sniffers r=ckerschb,dragana 2019-08-14 13:59:06 +00:00
intl Bug 1490593 - Move FFI for encoding_rs::mem to a vendored crate. r=froydnj 2019-08-14 07:53:34 +00:00
ipc Bug 1479960 - Add freezing of IPC shared memory. r=froydnj,kmag 2019-08-14 22:48:34 +00:00
js Bug 1569063 - Refactor accessors for flags into BaseScript from JSScript and LazyScript. r=djvj,tcampbell 2019-08-14 22:07:51 +00:00
layout Bug 1573268 - Convert layout.css.outline-style-auto.enabled to static pref. r=njn 2019-08-14 00:26:02 +00:00
media Bug 1572986 - Link libmozavutil against libatomic when needed. r=froydnj 2019-08-12 16:47:40 +00:00
memory Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
mfbt Bug 1418624 - Allow mozilla::Result to be moved, make unwrap{,Err}() move, and add inspect() APIs that return references. r=froydnj 2019-08-13 08:26:18 +00:00
mobile Bug 1570411 - Add --without-fennec to make mach package not produce Fennec APK. r=chmanchester 2019-08-14 20:40:00 +00:00
modules Bug 1573968 - Remove WheelTransaction::Prefs. r=njn 2019-08-14 22:18:59 +00:00
mozglue Bug 1573273: Add ProfilerLabelBegin and ProfilerLabelEnd to mozglue; r=gerald 2019-08-14 03:46:41 +00:00
netwerk Backed out changeset c60ee628dd0e (bug 1571711) for RemoteSandboxBroker related bustages CLOSED TREE 2019-08-15 01:50:01 +03:00
nsprpub Bug 1562330 - Upgrade Firefox 70 to NSPR 4.22 beta1. r=me 2019-07-09 17:40:27 +02:00
other-licenses Bug 1458385: Package mar and mbsdiff as a toolchain; r=glandium 2019-07-11 16:40:13 +00:00
parser Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
python Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE 2019-08-14 18:53:36 +03:00
remote Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE 2019-08-14 18:53:36 +03:00
security Backed out changeset c60ee628dd0e (bug 1571711) for RemoteSandboxBroker related bustages CLOSED TREE 2019-08-15 01:50:01 +03:00
services Bug 1573709 - Return an aborted watchdog for testing interrupted bookmark merges. a=testonly 2019-08-14 00:28:52 +00:00
servo Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio 2019-08-14 14:38:31 +00:00
startupcache Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
storage Bug 1567739 - Stop using deprecated rust libc integer types in storage_variant and kvstore. r=lina 2019-07-23 00:13:43 +00:00
taskcluster Bug 1553515 - Enable geckoview-test on debug x86_64. r=snorp 2019-08-14 16:29:43 +00:00
testing Backed out 22 changesets (bug 1231213) for Browser-chrome failures on /workers/remoteworkers/RemoteWorkerChild.cpp 2019-08-15 01:04:46 +03:00
third_party Bug 1490593 - Move FFI for encoding_rs::mem to a vendored crate. r=froydnj 2019-08-14 07:53:34 +00:00
toolkit Bug 1573997 - Use correct stride when repainting, r=loganfsmyth. 2019-08-14 22:47:51 +00:00
tools Bug 1573406 - Remove every trace of Firefox UI update tests. r=webdriver-reviewers,ato 2019-08-14 11:08:45 +00:00
uriloader Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-08-13 07:15:25 +00:00
view Bug 1563139 - Remove StaticPrefs.h. r=glandium 2019-07-26 01:10:23 +00:00
widget Bug 1573682. Add FEATURE_D3D11_ANGLE to vendor whitelist ignore. r=jgilbert 2019-08-13 23:19:46 +00:00
xpcom Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio 2019-08-14 14:38:31 +00:00
xpfe/appshell Bug 1551344 - Part 2: Update outdated comments referencing XULDocument. r=smaug 2019-08-09 17:47:41 +00:00
.arcconfig
.clang-format
.clang-format-ignore Bug 1563903 - Remove libmar from the clang ignore list r=Ehsan 2019-07-08 15:39:24 +00:00
.cron.yml Bug 1568232 - Run raptor cold page-load test job on fenix and refbrow. r=perftest-reviewers,davehunt 2019-07-31 16:31:42 +00:00
.eslintignore Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE 2019-08-14 18:53:36 +03:00
.eslintrc.js Bug 1564555 - Enable some more ESLint rules for layout. r=Standard8,dholbert 2019-07-18 21:00:21 +00:00
.flake8
.gdbinit
.gdbinit_python Bug 1564314 - Move gdbpp back to python/. r=nalexander 2019-07-11 02:39:31 +00:00
.git-blame-ignore-revs Bug 1572125 - Update .hg-annotate-ignore-revs and .git-blame-ignore-revs to ignore devtools/client/responsive reformatting using Prettier (Bug 1569574) in blame/annotate. r=vporof 2019-08-12 17:27:22 +00:00
.gitattributes Bug 770286: Prevent git LF-to-CRLF autoconversion r=glandium 2019-07-06 02:36:03 +00:00
.gitignore Bug 1559479 - mach lint complains about newtab node_modules r=dmose 2019-07-12 15:24:07 +00:00
.hg-annotate-ignore-revs Bug 1572125 - Update .hg-annotate-ignore-revs and .git-blame-ignore-revs to ignore devtools/client/responsive reformatting using Prettier (Bug 1569574) in blame/annotate. r=vporof 2019-08-12 17:27:22 +00:00
.hg-format-source Bug 1556393 - Pre 1 (m-c): Update .hg-format-source to use Prettier when running format-source, r=andi, CLOSED TREE 2019-07-03 20:48:37 +02:00
.hgignore Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE 2019-08-14 18:53:36 +03:00
.hgtags No bug - Tagging mozilla-central e596664275d5e3e2fdcb7fa8d1447289f99269c3 with FIREFOX_NIGHTLY_69_END a=release DONTBUILD CLOSED TREE 2019-07-08 16:13:40 +00:00
.lldbinit
.mailmap
.prettierignore Bug 1572622 - Merge remote.js into all.js. r=ato 2019-08-13 23:49:39 +00:00
.prettierrc
.taskcluster.yml Bug 1459355: Don't pass parameters as part of actions; r=dustin 2019-08-09 17:02:15 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1572859 - Package more aggressively when building GeckoView (and Fennec) within Gradle. r=agi 2019-08-14 20:38:42 +00:00
Cargo.lock Bug 1490593 - Move FFI for encoding_rs::mem to a vendored crate. r=froydnj 2019-08-14 07:53:34 +00:00
Cargo.toml Bug 1573409: Bump Cranelift to b2c69b1d032626c67f685080dbf6971d3b9ffa43; r=lth 2019-08-13 11:55:37 +00:00
client.mk
client.py
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-07-08 17:27:36 +00:00
configure.in
configure.py Bug 1559975 - Make configure.py lint with 'py2' and 'py3' r=catlee 2019-07-08 17:34:09 +00:00
GNUmakefile
gradle.properties
gradlew
gradlew.bat
LEGAL
LICENSE
mach
Makefile.in Bug 1570798 - Restore relative path for MOZ_FETCHES_DIR. r=nalexander 2019-08-03 07:08:39 +09:00
moz.build Bug 1560425 - Remove old performance measurement API r=jorendorff 2019-07-02 14:37:17 +00:00
moz.configure
mozilla-config.h.in
old-configure.in Bug 1570982 - remove CPP_THROW_NEW; r=glandium 2019-08-14 01:32:41 +00:00
package-lock.json Bug 1567134 - Update the node modules packages for the builders. r=ahal 2019-07-18 13:10:40 +00:00
package.json Bug 1564138 - Fix DevTools PropTypes errors when updating eslint. r=Ola. 2019-07-17 10:35:44 +00:00
README.txt
settings.gradle
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.