fuzz: Add fuzzing functions for entries of refcount table and blocks
Reviewed-by: Fam Zheng <famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Maria Kustova <maria.k@catit.be> Message-id: c9f4027b6f401c67e9d18f94aed29be445e81d48.1408450493.git.maria.k@catit.be Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
56271efdea
commit
2e5be6b77e
@ -18,8 +18,8 @@
|
||||
|
||||
import random
|
||||
|
||||
|
||||
UINT8 = 0xff
|
||||
UINT16 = 0xffff
|
||||
UINT32 = 0xffffffff
|
||||
UINT64 = 0xffffffffffffffff
|
||||
# Most significant bit orders
|
||||
@ -28,6 +28,8 @@ UINT64_M = 63
|
||||
# Fuzz vectors
|
||||
UINT8_V = [0, 0x10, UINT8/4, UINT8/2 - 1, UINT8/2, UINT8/2 + 1, UINT8 - 1,
|
||||
UINT8]
|
||||
UINT16_V = [0, 0x100, 0x1000, UINT16/4, UINT16/2 - 1, UINT16/2, UINT16/2 + 1,
|
||||
UINT16 - 1, UINT16]
|
||||
UINT32_V = [0, 0x100, 0x1000, 0x10000, 0x100000, UINT32/4, UINT32/2 - 1,
|
||||
UINT32/2, UINT32/2 + 1, UINT32 - 1, UINT32]
|
||||
UINT64_V = UINT32_V + [0x1000000, 0x10000000, 0x100000000, UINT64/4,
|
||||
@ -351,3 +353,15 @@ def l2_entry(current):
|
||||
value = offset + (is_cow << UINT64_M) + \
|
||||
(is_compressed << UINT64_M - 1) + is_zero
|
||||
return value
|
||||
|
||||
|
||||
def refcount_table_entry(current):
|
||||
"""Fuzz an entry of the refcount table."""
|
||||
constraints = UINT64_V
|
||||
return selector(current, constraints)
|
||||
|
||||
|
||||
def refcount_block_entry(current):
|
||||
"""Fuzz an entry of a refcount block."""
|
||||
constraints = UINT16_V
|
||||
return selector(current, constraints)
|
||||
|
Loading…
x
Reference in New Issue
Block a user