OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/common/sandbox_linux/bpf_gpu_policy_linux.h" | 5 #include "content/common/sandbox_linux/bpf_gpu_policy_linux.h" |
6 | 6 |
7 #include <dlfcn.h> | 7 #include <dlfcn.h> |
8 #include <errno.h> | 8 #include <errno.h> |
9 #include <fcntl.h> | 9 #include <fcntl.h> |
10 #include <sys/socket.h> | 10 #include <sys/socket.h> |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 | 242 |
243 if (IsArchitectureX86_64()) { | 243 if (IsArchitectureX86_64()) { |
244 I965DrvVideoPath = "/usr/lib64/va/drivers/i965_drv_video.so"; | 244 I965DrvVideoPath = "/usr/lib64/va/drivers/i965_drv_video.so"; |
245 } else if (IsArchitectureI386()) { | 245 } else if (IsArchitectureI386()) { |
246 I965DrvVideoPath = "/usr/lib/va/drivers/i965_drv_video.so"; | 246 I965DrvVideoPath = "/usr/lib/va/drivers/i965_drv_video.so"; |
247 } | 247 } |
248 | 248 |
249 dlopen(I965DrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); | 249 dlopen(I965DrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); |
250 dlopen("libva.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); | 250 dlopen("libva.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); |
251 dlopen("libva-x11.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); | 251 dlopen("libva-x11.so.1", RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); |
| 252 dlopen("libva-drm.so.1", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); |
252 } | 253 } |
253 } | 254 } |
254 | 255 |
255 return true; | 256 return true; |
256 } | 257 } |
257 | 258 |
258 void GpuProcessPolicy::InitGpuBrokerProcess( | 259 void GpuProcessPolicy::InitGpuBrokerProcess( |
259 sandbox::bpf_dsl::Policy* (*broker_sandboxer_allocator)(void), | 260 sandbox::bpf_dsl::Policy* (*broker_sandboxer_allocator)(void), |
260 const std::vector<std::string>& read_whitelist_extra, | 261 const std::vector<std::string>& read_whitelist_extra, |
261 const std::vector<std::string>& write_whitelist_extra) { | 262 const std::vector<std::string>& write_whitelist_extra) { |
(...skipping 21 matching lines...) Expand all Loading... |
283 broker_process_ = new BrokerProcess(GetFSDeniedErrno(), | 284 broker_process_ = new BrokerProcess(GetFSDeniedErrno(), |
284 read_whitelist, | 285 read_whitelist, |
285 write_whitelist); | 286 write_whitelist); |
286 // The initialization callback will perform generic initialization and then | 287 // The initialization callback will perform generic initialization and then |
287 // call broker_sandboxer_callback. | 288 // call broker_sandboxer_callback. |
288 CHECK(broker_process_->Init(base::Bind(&UpdateProcessTypeAndEnableSandbox, | 289 CHECK(broker_process_->Init(base::Bind(&UpdateProcessTypeAndEnableSandbox, |
289 broker_sandboxer_allocator))); | 290 broker_sandboxer_allocator))); |
290 } | 291 } |
291 | 292 |
292 } // namespace content | 293 } // namespace content |
OLD | NEW |