[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v3 5/8] fuzz: use ITIMER_REAL for timeouts
From: |
Alexander Bulekov |
Subject: |
[PULL v3 5/8] fuzz: use ITIMER_REAL for timeouts |
Date: |
Wed, 1 Sep 2021 07:50:01 -0400 |
Using ITIMER_VIRTUAL is a bad idea, if the fuzzer hits a blocking
syscall - e.g. ppoll with a NULL timespec. This causes timeout issues
while fuzzing some block-device code. Fix that by using wall-clock time.
This might cause inputs to timeout sometimes due to scheduling
effects/ambient load, but it is better than bringing the entire fuzzing
process to a halt.
Based-on: <20210713150037.9297-1-alxndr@bu.edu>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
---
tests/qtest/fuzz/generic_fuzz.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qtest/fuzz/generic_fuzz.c b/tests/qtest/fuzz/generic_fuzz.c
index 3e8ce29227..de427a3727 100644
--- a/tests/qtest/fuzz/generic_fuzz.c
+++ b/tests/qtest/fuzz/generic_fuzz.c
@@ -695,7 +695,7 @@ static void generic_fuzz(QTestState *s, const unsigned char
*Data, size_t Size)
while (cmd && Size) {
/* Reset the timeout, each time we run a new command */
if (timeout) {
- setitimer(ITIMER_VIRTUAL, &timer, NULL);
+ setitimer(ITIMER_REAL, &timer, NULL);
}
/* Get the length until the next command or end of input */
--
2.30.2
- [PULL v3 0/8] Fuzzing Patches for 2021-09-01, Alexander Bulekov, 2021/09/01
- [PULL v3 8/8] MAINTAINERS: add fuzzing reviewer, Alexander Bulekov, 2021/09/01
- [PULL v3 7/8] MAINTAINERS: Add myself as a reviewer for Device Fuzzing, Alexander Bulekov, 2021/09/01
- [PULL v3 4/8] fuzz: add an instrumentation filter, Alexander Bulekov, 2021/09/01
- [PULL v3 5/8] fuzz: use ITIMER_REAL for timeouts,
Alexander Bulekov <=
- [PULL v3 3/8] fuzz: make object-name matching case-insensitive, Alexander Bulekov, 2021/09/01
- [PULL v3 1/8] fuzz: fix sparse memory access in the DMA callback, Alexander Bulekov, 2021/09/01
- [PULL v3 6/8] fuzz: unblock SIGALRM so the timeout works, Alexander Bulekov, 2021/09/01
- [PULL v3 2/8] fuzz: adjust timeout to allow for longer inputs, Alexander Bulekov, 2021/09/01
- Re: [PULL v3 0/8] Fuzzing Patches for 2021-09-01, Peter Maydell, 2021/09/03