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

Side by Side Diff: sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h

Issue 226083005: Linux sandbox: componentize almost everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update dependencies. Created 6 years, 8 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
OLDNEW
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 #ifndef SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_ 5 #ifndef SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_
6 #define SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_ 6 #define SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "sandbox/linux/sandbox_export.h"
10 11
11 // The handlers are suitable for use in Trap() error codes. They are 12 // The handlers are suitable for use in Trap() error codes. They are
12 // guaranteed to be async-signal safe. 13 // guaranteed to be async-signal safe.
13 // See sandbox/linux/seccomp-bpf/trap.h to see how they work. 14 // See sandbox/linux/seccomp-bpf/trap.h to see how they work.
14 15
15 namespace sandbox { 16 namespace sandbox {
16 17
17 struct arch_seccomp_data; 18 struct arch_seccomp_data;
18 19
19 // This handler will crash the currently running process. The crashing address 20 // This handler will crash the currently running process. The crashing address
20 // will be the number of the current system call, extracted from |args|. 21 // will be the number of the current system call, extracted from |args|.
21 // This handler will also print to stderr the number of the crashing syscall. 22 // This handler will also print to stderr the number of the crashing syscall.
22 intptr_t CrashSIGSYS_Handler(const struct arch_seccomp_data& args, void* aux); 23 SANDBOX_EXPORT intptr_t
24 CrashSIGSYS_Handler(const struct arch_seccomp_data& args, void* aux);
23 25
24 // The following three handlers are suitable to report failures with the 26 // The following three handlers are suitable to report failures with the
25 // clone(), prctl() and ioctl() system calls respectively. 27 // clone(), prctl() and ioctl() system calls respectively.
26 28
27 // The crashing address will be (clone_flags & 0xFFFFFF), where clone_flags is 29 // The crashing address will be (clone_flags & 0xFFFFFF), where clone_flags is
28 // the clone(2) argument, extracted from |args|. 30 // the clone(2) argument, extracted from |args|.
29 intptr_t SIGSYSCloneFailure(const struct arch_seccomp_data& args, void* aux); 31 SANDBOX_EXPORT intptr_t
32 SIGSYSCloneFailure(const struct arch_seccomp_data& args, void* aux);
30 // The crashing address will be (option & 0xFFF), where option is the prctl(2) 33 // The crashing address will be (option & 0xFFF), where option is the prctl(2)
31 // argument. 34 // argument.
32 intptr_t SIGSYSPrctlFailure(const struct arch_seccomp_data& args, void* aux); 35 SANDBOX_EXPORT intptr_t
36 SIGSYSPrctlFailure(const struct arch_seccomp_data& args, void* aux);
33 // The crashing address will be request & 0xFFFF, where request is the ioctl(2) 37 // The crashing address will be request & 0xFFFF, where request is the ioctl(2)
34 // argument. 38 // argument.
35 intptr_t SIGSYSIoctlFailure(const struct arch_seccomp_data& args, void* aux); 39 SANDBOX_EXPORT intptr_t
40 SIGSYSIoctlFailure(const struct arch_seccomp_data& args, void* aux);
36 41
37 } // namespace sandbox. 42 } // namespace sandbox.
38 43
39 #endif // SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_ 44 #endif // SANDBOX_LINUX_SECCOMP_BPF_HELPERS_SIGSYS_HANDLERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698