| Index: content/common/sandbox_win.cc
|
| diff --git a/content/common/sandbox_win.cc b/content/common/sandbox_win.cc
|
| index c1ab69baa8fefd2271cb313e901a640ab4811520..eab4521ba41d3a5f8420e70866c0937c4c3816a0 100644
|
| --- a/content/common/sandbox_win.cc
|
| +++ b/content/common/sandbox_win.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/command_line.h"
|
| #include "base/debug/activity_tracker.h"
|
| #include "base/debug/profiler.h"
|
| +#include "base/feature_list.h"
|
| #include "base/files/file_util.h"
|
| #include "base/hash.h"
|
| #include "base/logging.h"
|
| @@ -601,9 +602,23 @@ sandbox::ResultCode SetJobLevel(const base::CommandLine& cmd_line,
|
| return policy->SetJobLevel(job_level, ui_exceptions);
|
| }
|
|
|
| +// This is for finch. See also crbug.com/464430 for details.
|
| +const base::Feature kEnableCsrssLockdownFeature{
|
| + "EnableCsrssLockdown", base::FEATURE_DISABLED_BY_DEFAULT};
|
| +
|
| // TODO(jschuh): Need get these restrictions applied to NaCl and Pepper.
|
| // Just have to figure out what needs to be warmed up first.
|
| sandbox::ResultCode AddBaseHandleClosePolicy(sandbox::TargetPolicy* policy) {
|
| + if (base::win::GetVersion() >= base::win::VERSION_WIN10) {
|
| + if (base::FeatureList::IsEnabled(kEnableCsrssLockdownFeature)) {
|
| + // Close all ALPC ports.
|
| + sandbox::ResultCode ret =
|
| + policy->AddKernelObjectToClose(L"ALPC Port", NULL);
|
| + if (ret != sandbox::SBOX_ALL_OK) {
|
| + return ret;
|
| + }
|
| + }
|
| + }
|
| // TODO(cpu): Add back the BaseNamedObjects policy.
|
| base::string16 object_path = PrependWindowsSessionPath(
|
| L"\\BaseNamedObjects\\windows_shell_global_counters");
|
|
|