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

Side by Side Diff: src/trusted/service_runtime/web_worker_stub.c

Issue 3539011: Enable check for DEP / NX page protection (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Modify windows check to use Noel's signal interface Created 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/trusted/service_runtime/sel_main_chrome.c ('k') | tests/fake_browser/nacl.scons » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2008 The Native Client Authors. All rights reserved. 2 * Copyright 2008 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can 3 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file. 4 * be found in the LICENSE file.
5 */ 5 */
6 6
7 /* 7 /*
8 * Chrome native WebWorker support. 8 * Chrome native WebWorker support.
9 */ 9 */
10 #include "native_client/src/include/portability.h" 10 #include "native_client/src/include/portability.h"
11 #include "native_client/src/include/portability_io.h" 11 #include "native_client/src/include/portability_io.h"
12 12
13 #include <stdio.h> 13 #include <stdio.h>
14 #include <stdlib.h> 14 #include <stdlib.h>
15 #include <string.h> 15 #include <string.h>
16 16
17 /* 17 /*
18 * There is a lot of partial commonality between this and sel_main.c 18 * There is a lot of partial commonality between this and sel_main.c
19 * TODO(sehr): refactor to eliminate the commonality. 19 * TODO(sehr): refactor to eliminate the commonality.
20 */ 20 */
21 21
22 #include "native_client/src/shared/gio/gio.h" 22 #include "native_client/src/shared/gio/gio.h"
23 #include "native_client/src/shared/imc/nacl_imc_c.h" 23 #include "native_client/src/shared/imc/nacl_imc_c.h"
24 #include "native_client/src/shared/platform/nacl_log.h" 24 #include "native_client/src/shared/platform/nacl_log.h"
25 #include "native_client/src/shared/platform/nacl_sync.h" 25 #include "native_client/src/shared/platform/nacl_sync.h"
26 #include "native_client/src/shared/platform/nacl_sync_checked.h" 26 #include "native_client/src/shared/platform/nacl_sync_checked.h"
27 #include "native_client/src/shared/srpc/nacl_srpc.h" 27 #include "native_client/src/shared/srpc/nacl_srpc.h"
28 28
29 #include "native_client/src/trusted/desc/nacl_desc_imc.h" 29 #include "native_client/src/trusted/desc/nacl_desc_imc.h"
30 #include "native_client/src/trusted/platform_qualify/nacl_dep_qualify.h"
30 #include "native_client/src/trusted/platform_qualify/nacl_os_qualify.h" 31 #include "native_client/src/trusted/platform_qualify/nacl_os_qualify.h"
31 32
32 #include "native_client/src/trusted/service_runtime/nacl_globals.h" 33 #include "native_client/src/trusted/service_runtime/nacl_globals.h"
33 #include "native_client/src/trusted/service_runtime/expiration.h" 34 #include "native_client/src/trusted/service_runtime/expiration.h"
34 #include "native_client/src/trusted/service_runtime/nacl_all_modules.h" 35 #include "native_client/src/trusted/service_runtime/nacl_all_modules.h"
35 #include "native_client/src/trusted/service_runtime/nacl_app.h" 36 #include "native_client/src/trusted/service_runtime/nacl_app.h"
36 #include "native_client/src/trusted/service_runtime/nacl_globals.h" 37 #include "native_client/src/trusted/service_runtime/nacl_globals.h"
37 #include "native_client/src/trusted/service_runtime/nacl_syscall_common.h" 38 #include "native_client/src/trusted/service_runtime/nacl_syscall_common.h"
38 #include "native_client/src/trusted/service_runtime/sel_ldr.h" 39 #include "native_client/src/trusted/service_runtime/sel_ldr.h"
39 #include "native_client/src/trusted/service_runtime/web_worker_stub.h" 40 #include "native_client/src/trusted/service_runtime/web_worker_stub.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 136
136 *nap = state; 137 *nap = state;
137 138
138 /* 139 /*
139 * Ensure this operating system platform is supported. 140 * Ensure this operating system platform is supported.
140 */ 141 */
141 if (!NaClOsIsSupported()) { 142 if (!NaClOsIsSupported()) {
142 goto done; 143 goto done;
143 } 144 }
144 /* 145 /*
146 * Ensure this platform has Data Execution Prevention enabled.
147 */
148 if (!NaClCheckDEP()) {
149 goto done;
150 }
151 /*
145 * Load the NaCl module from the memory file. 152 * Load the NaCl module from the memory file.
146 */ 153 */
147 if (LOAD_OK != NaClAppLoadFile((struct Gio *) &gf, 154 if (LOAD_OK != NaClAppLoadFile((struct Gio *) &gf,
148 *nap, 155 *nap,
149 NACL_ABI_CHECK_OPTION_CHECK)) { 156 NACL_ABI_CHECK_OPTION_CHECK)) {
150 goto done; 157 goto done;
151 } 158 }
152 /* 159 /*
153 * Close the memory pseudo-file used for passing in the .nexe. 160 * Close the memory pseudo-file used for passing in the .nexe.
154 */ 161 */
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 } 437 }
431 438
432 /* 439 /*
433 * Part of the initialization of a worker. Sends the descriptor to the 440 * Part of the initialization of a worker. Sends the descriptor to the
434 * worker library to indicate where to send postMessage RPCs. 441 * worker library to indicate where to send postMessage RPCs.
435 */ 442 */
436 int NaClSrpcSendUpcallDesc(struct NaClSrpcChannel *channel, 443 int NaClSrpcSendUpcallDesc(struct NaClSrpcChannel *channel,
437 struct NaClDesc *nacl_desc) { 444 struct NaClDesc *nacl_desc) {
438 return NaClSrpcInvokeBySignature(channel, "setUpcallDesc:h:", nacl_desc); 445 return NaClSrpcInvokeBySignature(channel, "setUpcallDesc:h:", nacl_desc);
439 } 446 }
OLDNEW
« no previous file with comments | « src/trusted/service_runtime/sel_main_chrome.c ('k') | tests/fake_browser/nacl.scons » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698