summaryrefslogtreecommitdiff
path: root/kernel/kcov.c
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-08 16:17:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-08 18:26:51 -0700
commit7483e5d420d9d5aa1732c5efb0da59e095a8b24e (patch)
tree65184563486601b0ef131c00a24793dc4c721fa8 /kernel/kcov.c
parent229cf16d3c8ac2e9b082c223fd0e619dc8f62cc1 (diff)
kcov: support compat processes
Support compat processes in KCOV by providing compat_ioctl callback. Compat mode uses the same ioctl callback: we have 2 commands that do not use the argument and 1 that already checks that the arg does not overflow INT_MAX. This allows to use KCOV-guided fuzzing in compat processes. Link: http://lkml.kernel.org/r/20170823100553.55812-1-dvyukov@google.com Signed-off-by: Dmitry Vyukov <dvyukov@google.com> Cc: <syzkaller@googlegroups.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/kcov.c')
-rw-r--r--kernel/kcov.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/kcov.c b/kernel/kcov.c
index cd771993f96f..3f693a0f6f3e 100644
--- a/kernel/kcov.c
+++ b/kernel/kcov.c
@@ -270,6 +270,7 @@ static long kcov_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
static const struct file_operations kcov_fops = {
.open = kcov_open,
.unlocked_ioctl = kcov_ioctl,
+ .compat_ioctl = kcov_ioctl,
.mmap = kcov_mmap,
.release = kcov_close,
};