Message ID | 20231009184326.15777-6-farosas@suse.de |
---|---|
State | New |
Headers | show |
Series | scripts/migration: Fix analyze-migration.py and add a test | expand |
Fabiano Rosas <farosas@suse.de> wrote: > The migration code uses unsigned values for 16, 32 and 64-bit > operations. Fix the script to do the same. > > This was causing an issue when parsing the migration stream generated > on the ppc64 target because one of instance_ids was larger than the > 32bit signed maximum: > > Traceback (most recent call last): > File "/home/fabiano/kvm/qemu/build/scripts/analyze-migration.py", line 658, in <module> > dump.read(dump_memory = args.memory) > File "/home/fabiano/kvm/qemu/build/scripts/analyze-migration.py", line 592, in read > classdesc = self.section_classes[section_key] > KeyError: ('spapr_iommu', -2147483648) > > Signed-off-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Juan Quintela <quintela@redhat.com>
diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py index 56ab04dd2d..de506cb8bf 100755 --- a/scripts/analyze-migration.py +++ b/scripts/analyze-migration.py @@ -38,13 +38,13 @@ def __init__(self, filename): self.file = open(self.filename, "rb") def read64(self): - return int.from_bytes(self.file.read(8), byteorder='big', signed=True) + return int.from_bytes(self.file.read(8), byteorder='big', signed=False) def read32(self): - return int.from_bytes(self.file.read(4), byteorder='big', signed=True) + return int.from_bytes(self.file.read(4), byteorder='big', signed=False) def read16(self): - return int.from_bytes(self.file.read(2), byteorder='big', signed=True) + return int.from_bytes(self.file.read(2), byteorder='big', signed=False) def read8(self): return int.from_bytes(self.file.read(1), byteorder='big', signed=True)
The migration code uses unsigned values for 16, 32 and 64-bit operations. Fix the script to do the same. This was causing an issue when parsing the migration stream generated on the ppc64 target because one of instance_ids was larger than the 32bit signed maximum: Traceback (most recent call last): File "/home/fabiano/kvm/qemu/build/scripts/analyze-migration.py", line 658, in <module> dump.read(dump_memory = args.memory) File "/home/fabiano/kvm/qemu/build/scripts/analyze-migration.py", line 592, in read classdesc = self.section_classes[section_key] KeyError: ('spapr_iommu', -2147483648) Signed-off-by: Fabiano Rosas <farosas@suse.de> --- scripts/analyze-migration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)