| 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 "sandbox/linux/seccomp-bpf-helpers/syscall_sets.h" | 5 #include "sandbox/linux/seccomp-bpf-helpers/syscall_sets.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 #include "sandbox/linux/services/linux_syscalls.h" | 8 #include "sandbox/linux/services/linux_syscalls.h" |
| 9 | 9 |
| 10 namespace sandbox { | 10 namespace sandbox { |
| 11 | 11 |
| 12 // The functions below cover all existing i386, x86_64, and ARM system calls; | 12 // The functions below cover all existing i386, x86_64, and ARM system calls; |
| 13 // excluding syscalls made obsolete in ARM EABI. | 13 // excluding syscalls made obsolete in ARM EABI. |
| 14 // The implicitly defined sets form a partition of the sets of | 14 // The implicitly defined sets form a partition of the sets of |
| 15 // system calls. | 15 // system calls. |
| 16 | 16 |
| 17 bool SyscallSets::IsKill(int sysno) { | 17 bool SyscallSets::IsKill(int sysno) { |
| 18 switch (sysno) { | 18 switch (sysno) { |
| 19 case __NR_kill: | 19 case __NR_kill: |
| 20 case __NR_tgkill: | 20 case __NR_tgkill: |
| 21 case __NR_tkill: // Deprecated. | 21 case __NR_tkill: // Deprecated. |
| 22 return true; | 22 return true; |
| 23 default: | 23 default: |
| 24 return false; | 24 return false; |
| 25 } | 25 } |
| 26 } | 26 } |
| 27 | 27 |
| 28 bool SyscallSets::IsAllowedGettime(int sysno) { | 28 bool SyscallSets::IsAllowedGettime(int sysno) { |
| 29 switch (sysno) { | 29 switch (sysno) { |
| 30 case __NR_clock_gettime: | |
| 31 case __NR_gettimeofday: | 30 case __NR_gettimeofday: |
| 32 #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) | 31 #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) |
| 33 case __NR_time: | 32 case __NR_time: |
| 34 #endif | 33 #endif |
| 35 return true; | 34 return true; |
| 36 case __NR_adjtimex: // Privileged. | 35 case __NR_adjtimex: // Privileged. |
| 37 case __NR_clock_adjtime: // Privileged. | 36 case __NR_clock_adjtime: // Privileged. |
| 38 case __NR_clock_getres: // Could be allowed. | 37 case __NR_clock_getres: // Could be allowed. |
| 38 case __NR_clock_gettime: |
| 39 case __NR_clock_nanosleep: // Could be allowed. | 39 case __NR_clock_nanosleep: // Could be allowed. |
| 40 case __NR_clock_settime: // Privileged. | 40 case __NR_clock_settime: // Privileged. |
| 41 #if defined(__i386__) || defined(__mips__) | 41 #if defined(__i386__) || defined(__mips__) |
| 42 case __NR_ftime: // Obsolete. | 42 case __NR_ftime: // Obsolete. |
| 43 #endif | 43 #endif |
| 44 case __NR_settimeofday: // Privileged. | 44 case __NR_settimeofday: // Privileged. |
| 45 #if defined(__i386__) || defined(__mips__) | 45 #if defined(__i386__) || defined(__mips__) |
| 46 case __NR_stime: | 46 case __NR_stime: |
| 47 #endif | 47 #endif |
| 48 default: | 48 default: |
| (...skipping 1003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1052 switch (sysno) { | 1052 switch (sysno) { |
| 1053 case __NR_sysmips: | 1053 case __NR_sysmips: |
| 1054 case __NR_unused150: | 1054 case __NR_unused150: |
| 1055 return true; | 1055 return true; |
| 1056 default: | 1056 default: |
| 1057 return false; | 1057 return false; |
| 1058 } | 1058 } |
| 1059 } | 1059 } |
| 1060 #endif // defined(__mips__) | 1060 #endif // defined(__mips__) |
| 1061 } // namespace sandbox. | 1061 } // namespace sandbox. |
| OLD | NEW |