summary refs log tree commit diff
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
parent229cf16d3c8ac2e9b082c223fd0e619dc8f62cc1 (diff)
downloadlinux-7483e5d420d9d5aa1732c5efb0da59e095a8b24e.tar.gz
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>
-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,
 };