aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/signal
diff options
context:
space:
mode:
authorLiz Prucka <lizprucka@google.com>2023-05-02 11:19:00 -0500
committerAleksandr Nogikh <wp32pw@gmail.com>2023-06-12 15:29:38 +0200
commitaaed018397bf51a5aaff9a072ba223d81cd3c107 (patch)
treebbd1998a43a248ac96c446ac06c8c9f211f53e72 /pkg/signal
parent49519f067f7fc9bfbf869e6851a4d398a9f7863f (diff)
syz-manager, pkg/cover: normalize signals between VM instances
Adjust signal creation in syz-executor so hash is independent of module offsets. This allows for canonicalization of the signal between VMs. Added signals to canonicalization/decanonicalization between instances. Coverts serialized Signal values as they have already been serialized in rpc.go. Added a function in signal.go to update serial signal elements.
Diffstat (limited to 'pkg/signal')
-rw-r--r--pkg/signal/signal.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/signal/signal.go b/pkg/signal/signal.go
index d6fa8d459..705fab5d7 100644
--- a/pkg/signal/signal.go
+++ b/pkg/signal/signal.go
@@ -79,6 +79,10 @@ func (s Signal) Serialize() Serial {
return res
}
+func (ser Serial) UpdateElem(idx int, newElem uint32) {
+ ser.Elems[idx] = elemType(newElem)
+}
+
func (ser Serial) Deserialize() Signal {
if len(ser.Elems) != len(ser.Prios) {
panic("corrupted Serial")