summaryrefslogtreecommitdiffstats
path: root/sandbox
Commit message (Collapse)AuthorAgeFilesLines
* include what you use: errno.h in sandbox/mostynb2015-11-074-1/+5
| | | | | | | | Adding some missing errno.h includes for errno in sandbox/ Review URL: https://codereview.chromium.org/1422253004 Cr-Commit-Position: refs/heads/master@{#358474}
* Deprecate *_EXPORT_PRIVATE macros.xhwang2015-11-061-3/+0
| | | | | | | | | | | | Replaced all *_EXPORT_PRIVATE macros with *_EXPORT except for /net, /sync and /storage. BUG=552248 TEST=No functionality change. Review URL: https://codereview.chromium.org/1413173005 Cr-Commit-Position: refs/heads/master@{#358362}
* Explicitly defines the kClockSystemTrace in the syscall parameters testcharliea2015-11-041-12/+0
| | | | | | | | | | | | | | TraceTicks is going away, so TraceTicks::kClockSystemTrace is also going away. If this test is to continue existing, it needs to define the clock ID itself. BUG=541692 Review URL: https://codereview.chromium.org/1423803003 Cr-Commit-Position: refs/heads/master@{#357871}
* Revert of StackDumpSignalHandler() should reraise the signal. (patchset #8 ↵jorgelo2015-11-041-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:140001 of https://codereview.chromium.org/1402403006/ ) Reason for revert: https://code.google.com/p/chromium/issues/detail?id=551451 Seems to be breaking sandbox_linux_unittests in Chrome OS PFQ bots, and preventing Chrome for Chrome OS from uprev'ing. This is the only Linux sandbox CL in the regression range. Original issue's description: > StackDumpSignalHandler() should reraise the signal. > > After StackDumpSignalHandler() processes a signal, it should reset the default > signal handler, and reraise the signal. This ensures that Crashpad will still > get the signal. > > BUG=549379 > > Committed: https://crrev.com/a72fbc02d4843d8bbc04e977f6c6abad4b4f2c6c > Cr-Commit-Position: refs/heads/master@{#357644} TBR=mark@chromium.org,mdempsky@chromium.org,erikchen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=549379 Review URL: https://codereview.chromium.org/1422733005 Cr-Commit-Position: refs/heads/master@{#357850}
* StackDumpSignalHandler() should reraise the signal.erikchen2015-11-031-7/+6
| | | | | | | | | | | | After StackDumpSignalHandler() processes a signal, it should reset the default signal handler, and reraise the signal. This ensures that Crashpad will still get the signal. BUG=549379 Review URL: https://codereview.chromium.org/1402403006 Cr-Commit-Position: refs/heads/master@{#357644}
* Remove shared_handles.{cc,h}rickyz2015-10-304-179/+0
| | | | | | | | As far as I can tell, these have unused for at least the last 3 years. Review URL: https://codereview.chromium.org/1430763002 Cr-Commit-Position: refs/heads/master@{#357149}
* Removes support for using the system clock on ChromeOScharliea2015-10-303-42/+2
| | | | | | | | | | | | As of http://crrev.com/1374753004, ChromeOS is able to use the monotonic clock and still have its trace event timestamps match timestamps from ftrace. BUG=541692 Review URL: https://codereview.chromium.org/1424323002 Cr-Commit-Position: refs/heads/master@{#356994}
* Reland: Fix sandbox_linux_unittests_deps on GN & Androidpkotwicz2015-10-291-20/+29
| | | | | | | | | | BUG=510485 R=dpranke TBR=jln Review URL: https://codereview.chromium.org/1424243002 Cr-Commit-Position: refs/heads/master@{#356877}
* Do not set include_dirs in direct_dependent_settings.rickyz2015-10-281-12/+0
| | | | | | | | | | | This is unintuitive, and can silently override system headers if there name collisions between headers in sandbox/win/src and system headers. BUG= Review URL: https://codereview.chromium.org/1423223003 Cr-Commit-Position: refs/heads/master@{#356681}
* Remove unmaintained sandbox_linux_jni_unittestspkotwicz2015-10-282-55/+1
| | | | | | | | BUG=547815 Review URL: https://codereview.chromium.org/1424043002 Cr-Commit-Position: refs/heads/master@{#356668}
* Revert of Fix sandbox_linux_unittests_deps on GN & Android (patchset #3 ↵jbudorick2015-10-271-31/+20
| | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/1415533008/ ) Reason for revert: breaks content_unittests (and presumably other suites that depend on device_forwarder), e.g. http://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/31756 Original issue's description: > Fix sandbox_linux_unittests_deps on GN & Android > > BUG=510485 > > Committed: https://crrev.com/34b5bbdceab40058ab331e62b6e619175706d4fc > Cr-Commit-Position: refs/heads/master@{#356312} TBR=dpranke@chromium.org,jln@chromium.org,pkotwicz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=510485 Review URL: https://codereview.chromium.org/1424903002 Cr-Commit-Position: refs/heads/master@{#356432}
* Fix sandbox_linux_unittests_deps on GN & Androidpkotwicz2015-10-271-20/+31
| | | | | | | | BUG=510485 Review URL: https://codereview.chromium.org/1415533008 Cr-Commit-Position: refs/heads/master@{#356312}
* Build nacl_helper_nonsfi with GNphosek2015-10-271-4/+69
| | | | | | | | | | Support building nacl_helper_nonsfi under GN. BUG=462791 Review URL: https://codereview.chromium.org/1395573003 Cr-Commit-Position: refs/heads/master@{#356234}
* Fix IsFunctionAService() for Windows 10 WOW64drbasic2015-10-214-12/+84
| | | | | | | | | | | | | | | | | Windows 10 WOW64 has different thunk than Windows 8. Test ServiceResolverTest.PatchesServices from sbox_unittests failed. Library blacklist from src\chrome_elf\blacklist\blacklist.cc does not work. BUG= R=cpu@chromium.org R=jschuh@chromium.org TEST=sbox_unittests on Win 10 Review URL: https://codereview.chromium.org/1407103003 Cr-Commit-Position: refs/heads/master@{#355307}
* mac: Make Mach port scopers better ScopedGenericsmark2015-10-203-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Previously, Pass() did not work correctly for ScopedMachReceiveRight, ScopedMachSendRight, or ScopedMachPortSet. These were defined as subclasses of ScopedGeneric<> with appropriate traits types. They did not have the full range of constructors made available by ScopedGeneric<>, and their Pass() methods referred to their ScopedGeneric<> superclass rather than their proper class types. This changes these scopers to work as ScopedGeneric<> intends, with a "using" or "typedef" declaration, so that names such as ScopedMachReceiveRight actually refer to the same type as the underlying ScopedGeneric<>. This allows Pass() and all other ScopedGeneric<> functionality to work as intended. Unfortunately, ScopedGeneric<> doesn't provide a type conversion operator to the underlying wrapped type, so many use sites need to be transformed to use the get() accessor. Many existing use sites already used this accessor. Review URL: https://codereview.chromium.org/1411523006 Cr-Commit-Position: refs/heads/master@{#355112}
* Attempt to isolate sandbox_linux_unittests on android.stip2015-10-142-0/+38
| | | | | | | | | BUG=525873 TBR=jln@chromium.org Review URL: https://codereview.chromium.org/1379753002 Cr-Commit-Position: refs/heads/master@{#354121}
* Fix order of initialization warning in target_process.cc.Hans Wennborg2015-10-131-3/+3
| | | | | | | | | | | | | | | | The build was failing with the following Clang error: ..\..\sandbox\win\src\target_process.cc(77,7): error: field 'initial_token_' will be initialized after field 'lowbox_token_' [-Werror,-Wreorder] initial_token_(initial_token.Pass()), ^ BUG=82385 TBR=forshaw Review URL: https://codereview.chromium.org/1408443002 . Cr-Commit-Position: refs/heads/master@{#353765}
* Rework target process creation to minimize creation routesforshaw2015-10-136-93/+62
| | | | | | | | | | | | | Changes the creation strategy for the target process to minimize the differences between the "normal" process creation and the appcontainer process creation. The hope is this minimization might remedy the failure to initialize the process when appcontainer is being used on win8+ BUG=467920 Review URL: https://codereview.chromium.org/1263603002 Cr-Commit-Position: refs/heads/master@{#353752}
* Enforce WARN_UNUSED_RESULT attribute on Windowsdcheng2015-10-102-2/+4
| | | | | | | | | | BUG=none R=cpu,danakj,dpranke,hans,kelvinp,rickyz,sky,sorin,thestig,tuttle,yukawa TBR=vitalybuka Review URL: https://codereview.chromium.org/1390223002 Cr-Commit-Position: refs/heads/master@{#353450}
* Use -fgnu-inline-asm flag for Non-SFI sandbox GYP buildphosek2015-10-061-1/+3
| | | | | | | | | | | | | | Following the change 1341963002, any use of inline assembly with PNaCl compiler now must be explicitly allowed by using the -fgnu-inline-asm flag. BUG= GYP build failure TEST= ninja -C ../Release BUG=491424 Review URL: https://codereview.chromium.org/1388143002 Cr-Commit-Position: refs/heads/master@{#352656}
* win: Remove uses of UNREFERENCED_PARAMETER.thakis2015-10-067-74/+40
| | | | | | | | | | | | | | | | | We don't build with warnings on unused parameters enabled, and almost none of the code in src/ annotates unused parameters. Since the Windows system header definition of UNREFERENCED_PARAMETERs is implemented in a way that clang's Wunused-value warns on, just remove the few uses of that macro. While here, also fix most `git cl lint` complaints about the files I touched. No intended behavior change. BUG=505318 Review URL: https://codereview.chromium.org/1374483003 Cr-Commit-Position: refs/heads/master@{#352479}
* Fold away now dead NSS code.davidben2015-10-024-278/+0
| | | | | | | | | | | Anything not built on iOS can now assume USE_OPENSSL is set. Most notably, the libc urandom override is now gone. BUG=519504 Review URL: https://codereview.chromium.org/1364023003 Cr-Commit-Position: refs/heads/master@{#352061}
* Add rickyz@ as sandbox/zygote ownerjln2015-10-011-0/+1
| | | | | | Review URL: https://codereview.chromium.org/1386453002 Cr-Commit-Position: refs/heads/master@{#351864}
* [Android] Add generated wrapper script for sandbox_linux_unittests in gyp.jbudorick2015-10-011-0/+11
| | | | | | | | | | The wrapper script already gets generated in GN. BUG= Review URL: https://codereview.chromium.org/1383523002 Cr-Commit-Position: refs/heads/master@{#351766}
* On 10.10+, do not use bootstrap_look_up() directly.rsesek2015-09-304-3/+72
| | | | | | | | | | | | | XPC performs a lot of potentially async-signal-unsafe allocations under the hood, making it unsuitable for use in sandbox::PreExecDelegate. By manually allocating the XPC message, attempt to avoid these allocations. BUG=537618 R=mark@chromium.org Review URL: https://codereview.chromium.org/1376583004 Cr-Commit-Position: refs/heads/master@{#351601}
* Make SharedMemoryHandle a class on windows.erikchen2015-09-253-9/+11
| | | | | | | | | | | | | | | | This CL is intended to be a refactor and should not introduce any behavior changes. Previously, SharedMemoryhandle was typedefed to HANDLE. Making it a class allows us to add metainformation about the process in which the HANDLE is valid. This will be used in the future by Chrome's IPC system to automatically duplicate HANDLEs into their destination process. BUG=493414, 535028 Review URL: https://codereview.chromium.org/1320783002 Cr-Commit-Position: refs/heads/master@{#350932}
* Sandbox: Remove myself from ownersrvargas2015-09-241-1/+0
| | | | | | | | | TBR=wfh@chromium.org BUG= Review URL: https://codereview.chromium.org/1369633002 Cr-Commit-Position: refs/heads/master@{#350699}
* Use glibc's sigaction unless we are building for nonsfi nacl.rickyz2015-09-221-32/+6
| | | | | | | | BUG=532180 Review URL: https://codereview.chromium.org/1358503005 Cr-Commit-Position: refs/heads/master@{#350260}
* Change type of kSUIDSandboxApiNumber to intricea2015-09-222-9/+11
| | | | | | | | | | | | | | | kSUIDSandboxApiNumber is declared as long, but treated as int in C++ code. C code treats it as a long, apparently in order to be able to use strtol. Declare it and treat it consistently as an int. TEST=sandbox_linux_unittests BUG=505479 Review URL: https://codereview.chromium.org/1348933003 Cr-Commit-Position: refs/heads/master@{#350096}
* Replace calls to rand_s with calls to RtlGenRandom.wfh2015-09-187-6/+102
| | | | | | | | | | | | | Add a test for GetGranularAlignedRandomOffset. This potentially fixes two similar crashes in sandbox::ApplyProcessMitigationsToSuspendedProcess and sandbox::InterceptionManager::PatchNtdll. BUG=379218,501813 TEST=sbox_unittests Review URL: https://codereview.chromium.org/1342303003 Cr-Commit-Position: refs/heads/master@{#349748}
* Refactor the bootstrap sandbox process launching integration.rsesek2015-09-187-84/+329
| | | | | | | | | | | | | | | | | | | | There are three changes: - A LaunchOptions::PreExecDelegate is now used to perform the bootstrap port replacement in the new child. This removes sandbox-specific knowledge from //base. - The replacement bootstrap port is no longer registered with launchd. Instead, a new sandbox manager port is registered. Clients communicate with this server to get the replacement bootstrap port. - Using the above port, clients now perform a post-fork-pre-exec handshake to check in with the sandbox server. This removes the complicated PrepareToFork/FinishedFork interface. BUG=367863,388214 R=mark@chromium.org Review URL: https://codereview.chromium.org/1346923006 Cr-Commit-Position: refs/heads/master@{#349571}
* Get rid of the token cache.rickyz2015-09-182-79/+3
| | | | | | | | | | The caching is not worth the additional complexity, and this would have required changes to work with appcontainer, so just get rid of it instead. Review URL: https://codereview.chromium.org/1346413002 Cr-Commit-Position: refs/heads/master@{#349555}
* Fixes to possible GetLastError bugsbrucedawson2015-09-174-4/+12
| | | | | | | | | | | | | | | | | GetLastError needs to be called immediately after the function whose error code it is retrieving. This has been made particularly important by VS 2015 which sometimes clears the error code when allocating memory. See bug 528394 for details of the underlying issue. These changes came from code inspection that looked for patterns that appeared wrong. None of the issues look critical, although that depends on what callers do with the error codes. BUG=529981 Review URL: https://codereview.chromium.org/1337223002 Cr-Commit-Position: refs/heads/master@{#349481}
* Fix a comment typo in init_process_reaper.ccki.stfu2015-09-171-1/+1
| | | | | | | | | | | | | | This CL fixes a typo in comment in init_process_reaper.cc. In CreateInitProcessReaper, the comment told us about exiting with the same error code as our parent but here was meant an our child. BUG= TEST= R=jln@chromium.org,jorgelo@chromium.org,mdempsky@chromium.org Review URL: https://codereview.chromium.org/1286093003 Cr-Commit-Position: refs/heads/master@{#349381}
* sandbox/linux: remove some gratuitous pointersmdempsky2015-09-148-26/+20
| | | | | | | | | | | Instead of unnecessary pointers (and scoped_ptrs), just take advantage of return-value optimization and C++11 move semantics. BUG=414363 Review URL: https://codereview.chromium.org/1310803002 Cr-Commit-Position: refs/heads/master@{#348661}
* sandbox/linux/bpf_dsl: collapse similar ResultExprImpl subclassesmdempsky2015-09-111-57/+16
| | | | | | | | | | | | Allow, Error, Kill, and Trace are all very similar as they just invoke pc->Return with appropriate SECCOMP_RET_* values, so instead compute that value once ahead of time. Saves a little bit of program size. BUG=414363 Review URL: https://codereview.chromium.org/1305323002 Cr-Commit-Position: refs/heads/master@{#348299}
* Sandbox: Reenable tests that were disabled "temporarily" 2 years ago.rvargas2015-09-101-2/+2
| | | | | | | | BUG=305815 Review URL: https://codereview.chromium.org/1291793003 Cr-Commit-Position: refs/heads/master@{#348234}
* Specify sa_restorer on x86-32.rickyz2015-09-101-10/+54
| | | | | | | | BUG=527209 Review URL: https://codereview.chromium.org/1306113006 Cr-Commit-Position: refs/heads/master@{#348072}
* Revert "Add sbox tests related to warming up of locales."Balazs Engedy2015-09-096-141/+1
| | | | | | | | | | | | | Speculative revert of https://codereview.chromium.org/1324523008. After that CL, multiple XP bots started failing in strange ways on content_browsertests, sync_integration_tests, and telemetry_tests. BUG=464430 TBR=liamjm@chromium.org, jochen@chromium.org, isherman@chromium.org, wfh@chromium.org Review URL: https://codereview.chromium.org/1328353002 . Cr-Commit-Position: refs/heads/master@{#347914}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-095-14/+1
| | | | | | | | | | | | | | | | | | | | | | This is a redo of https://codereview.chromium.org/1245873002 c6649f2e014a24a909 with fix for Official build. Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1320793004 Cr-Commit-Position: refs/heads/master@{#347912}
* Add sbox tests related to warming up of locales.liamjm2015-09-096-1/+141
| | | | | | | | | | | Warm up locales in LowerToken() after RevertToSelf() as existing warmup was not working on Win 8.1 x64. Remove existing warmup which was done outside of LowerToken(). BUG=464430 Review URL: https://codereview.chromium.org/1324523008 Cr-Commit-Position: refs/heads/master@{#347857}
* Correct PROCESS_BASIC_INFORMATION for 64 bit Windows.rickyz2015-09-097-9/+81
| | | | | | | | | | Based on the structure given at https://msdn.microsoft.com/en-us/library/windows/desktop/ms684280(v=vs.85).aspx. BUG=528450 Review URL: https://codereview.chromium.org/1328703003 Cr-Commit-Position: refs/heads/master@{#347842}
* sandbox/linux/bpf_dsl: eliminate implicit dependency on C++ compiler behaviormdempsky2015-09-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | For the expression F(G(), H()), C++ does not guarantee whether G() or H() will be evaluated first. Apparently the system compiler on Chrome OS makes a different decision than on Ubuntu, which causes the golden file tests introduced by https://crrev.com/1306723002 (which were generated on Ubuntu) to fail on Chrome OS. Easy fix: rewrite the expression as g = G() h = H() F(g, h) to avoid any compiler behavior dependency. BUG=529480 Review URL: https://codereview.chromium.org/1327693005 Cr-Commit-Position: refs/heads/master@{#347838}
* sandbox/linux/bpf_dsl: remove ErrorCode intermediary representationmdempsky2015-09-0411-599/+141
| | | | | | | | | | | | | | | This changes PolicyCompiler to skip the pass that converts ResultExprs into ErrorCodes, and instead it directly emits instructions using CodeGen. Reduces the size of sandbox_linux_unittests in release builds on amd64 by about 30kB. BUG=414363 Review URL: https://codereview.chromium.org/1309963002 Cr-Commit-Position: refs/heads/master@{#347470}
* Revert of Fix sbox_validation_tests & Make isolate_driver.py include the ↵stgao2015-09-035-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executable itself (patchset #3 id:90001 of https://codereview.chromium.org/1245873002/ ) Reason for revert: This CL seems to break compile http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Linux%20x64/builds/3900/. If the revert doesn't fix it, I will re-land this CL. Original issue's description: > Fix sbox_validation_tests & Make isolate_driver.py include the executable itself > > Further reduce the boilerplate in .isolate files and is necessary to add debug > symbols, to be done in a follow up. > > Slightly accelerate ninja file parsing by blacklisting more extensions. > > sbox_validation_tests wasn't run on Windows since > https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL > uncovered this copy-paste error. > > TBR=jam@chromium.org > BUG=98637 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/c6649f2e014a24a9093140a06fcadcaf2a06513c > Cr-Commit-Position: refs/heads/master@{#347027} TBR=jam@chromium.org,maruel@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=98637 Review URL: https://codereview.chromium.org/1329783003 Cr-Commit-Position: refs/heads/master@{#347071}
* Fix sbox_validation_tests & Make isolate_driver.py include the executable itselfmaruel2015-09-025-14/+1
| | | | | | | | | | | | | | | | | | | Further reduce the boilerplate in .isolate files and is necessary to add debug symbols, to be done in a follow up. Slightly accelerate ninja file parsing by blacklisting more extensions. sbox_validation_tests wasn't run on Windows since https://codereview.chromium.org/1212003003/ (~2 months ago). Thankfully this CL uncovered this copy-paste error. TBR=jam@chromium.org BUG=98637 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1245873002 Cr-Commit-Position: refs/heads/master@{#347027}
* Fix inherited handles conflicting with handle trackerscottmg2015-09-022-0/+64
| | | | | | | | | | | | | | | | | | | | | | The inherited handles are stored in a ScopedHandle, so the handle tracker marks them as non-closeable for the lifetime of that ScopedHandle in the browser process. That non-closeable handle is inherited to the child, but should be closeable there the child's is a new, valid handle. We can't mark only the child copy as closeable, so for the duration of target creation, mark the handle as closeable, and after process creation, restore the handle protection state. R=wfh@chromium.org BUG=524267 TEST=HandleInheritanceTests.InheritByValue Committed: https://crrev.com/bfca1f2f2e75e3d36a171ce9987e7a72bedfbd85 Cr-Commit-Position: refs/heads/master@{#346835} Review URL: https://codereview.chromium.org/1318803005 Cr-Commit-Position: refs/heads/master@{#346955}
* fix typo in comment: reverToSelf() -> revertToSelf()liamjm2015-09-021-1/+1
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1327463003 Cr-Commit-Position: refs/heads/master@{#346952}
* Revert of Fix inherited handles conflicting with handle tracker (patchset #5 ↵pneubeck2015-09-022-60/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:40002 of https://codereview.chromium.org/1318803005/ ) Reason for revert: Broke https://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/39844 Original issue's description: > Fix inherited handles conflicting with handle tracker > > The inherited handles are stored in a ScopedHandle, so the handle tracker > marks them as non-closeable for the lifetime of that ScopedHandle in the > browser process. That non-closeable handle is inherited to the child, but > should be closeable there the child's is a new, valid handle. > > We can't mark only the child copy as closeable, so for the duration of > target creation, mark the handle as closeable, and after process creation, > restore the handle protection state. > > R=wfh@chromium.org > BUG=524267 > TEST=HandleInheritanceTests.InheritByValue > > Committed: https://crrev.com/bfca1f2f2e75e3d36a171ce9987e7a72bedfbd85 > Cr-Commit-Position: refs/heads/master@{#346835} TBR=wfh@chromium.org,brucedawson@chromium.org,scottmg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=524267 Review URL: https://codereview.chromium.org/1319453004 Cr-Commit-Position: refs/heads/master@{#346899}
* Fix inherited handles conflicting with handle trackerscottmg2015-09-022-0/+60
| | | | | | | | | | | | | | | | | | | The inherited handles are stored in a ScopedHandle, so the handle tracker marks them as non-closeable for the lifetime of that ScopedHandle in the browser process. That non-closeable handle is inherited to the child, but should be closeable there the child's is a new, valid handle. We can't mark only the child copy as closeable, so for the duration of target creation, mark the handle as closeable, and after process creation, restore the handle protection state. R=wfh@chromium.org BUG=524267 TEST=HandleInheritanceTests.InheritByValue Review URL: https://codereview.chromium.org/1318803005 Cr-Commit-Position: refs/heads/master@{#346835}