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>
This commit is contained in:
Dmitry Vyukov 2017-09-08 16:17:35 -07:00 committed by Linus Torvalds
parent 229cf16d3c
commit 7483e5d420
1 changed files with 1 additions and 0 deletions

View File

@ -270,6 +270,7 @@ static long kcov_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
static const struct file_operations kcov_fops = { static const struct file_operations kcov_fops = {
.open = kcov_open, .open = kcov_open,
.unlocked_ioctl = kcov_ioctl, .unlocked_ioctl = kcov_ioctl,
.compat_ioctl = kcov_ioctl,
.mmap = kcov_mmap, .mmap = kcov_mmap,
.release = kcov_close, .release = kcov_close,
}; };