summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-06-21 10:54:57 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-06-21 10:54:57 +0000
commitbb273d554d61c1a851158b0c79c2d3f51a845bbd (patch)
tree88ab1dd0e6afc49abeaf4f442c8db2ad940d38e5 /lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
parent48e54204b82ba982ed7992847413dd0043fdc700 (diff)
[santizer] Disable several EVIOxxx ioctls on older kernels.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184539 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc')
-rwxr-xr-xlib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
index 80f252196..887530aed 100755
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -33,13 +33,15 @@ static unsigned ioctl_table_size = 0;
// require a global initializer. And this table must be available before global
// initializers are run.
static void ioctl_table_fill() {
-#define _(rq, tp, sz) \
- CHECK(ioctl_table_size < ioctl_table_max); \
- ioctl_table[ioctl_table_size].req = IOCTL_##rq; \
- ioctl_table[ioctl_table_size].type = ioctl_desc::tp; \
- ioctl_table[ioctl_table_size].size = sz; \
- ioctl_table[ioctl_table_size].name = #rq; \
- ++ioctl_table_size;
+#define _(rq, tp, sz) \
+ if (IOCTL_##rq != IOCTL_NOT_PRESENT) { \
+ CHECK(ioctl_table_size < ioctl_table_max); \
+ ioctl_table[ioctl_table_size].req = IOCTL_##rq; \
+ ioctl_table[ioctl_table_size].type = ioctl_desc::tp; \
+ ioctl_table[ioctl_table_size].size = sz; \
+ ioctl_table[ioctl_table_size].name = #rq; \
+ ++ioctl_table_size; \
+ }
_(FIOASYNC, READ, sizeof(int));
_(FIOCLEX, NONE, 0);