mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
vmstate static checker: detect section renames
Commit 292b1634
changed the section name of "ICH9 LPC" to "ICH9-LPC",
and that causes the static checker to flag this:
Section "ICH9 LPC" does not exist in dest
This patch introduces a function that checks for section renames and
also a dictionary that maps those renames.
Reported-by: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
This is a small patch to a script; doesn't break qemu and helps with the
static checker, so it's a very low-risk patch for 2.1.
This commit is contained in:
parent
5a73480450
commit
79fe16c048
1 changed files with 22 additions and 5 deletions
|
@ -79,6 +79,18 @@ def check_fields_match(name, s_field, d_field):
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def get_changed_sec_name(sec):
|
||||||
|
# Section names can change -- see commit 292b1634 for an example.
|
||||||
|
changes = {
|
||||||
|
"ICH9 LPC": "ICH9-LPC",
|
||||||
|
}
|
||||||
|
|
||||||
|
for item in changes:
|
||||||
|
if item == sec:
|
||||||
|
return changes[item]
|
||||||
|
if changes[item] == sec:
|
||||||
|
return item
|
||||||
|
return ""
|
||||||
|
|
||||||
def exists_in_substruct(fields, item):
|
def exists_in_substruct(fields, item):
|
||||||
# Some QEMU versions moved a few fields inside a substruct. This
|
# Some QEMU versions moved a few fields inside a substruct. This
|
||||||
|
@ -314,13 +326,18 @@ def main():
|
||||||
dest_data = temp
|
dest_data = temp
|
||||||
|
|
||||||
for sec in src_data:
|
for sec in src_data:
|
||||||
if not sec in dest_data:
|
dest_sec = sec
|
||||||
print "Section \"" + sec + "\" does not exist in dest"
|
if not dest_sec in dest_data:
|
||||||
bump_taint()
|
# Either the section name got changed, or the section
|
||||||
continue
|
# doesn't exist in dest.
|
||||||
|
dest_sec = get_changed_sec_name(sec)
|
||||||
|
if not dest_sec in dest_data:
|
||||||
|
print "Section \"" + sec + "\" does not exist in dest"
|
||||||
|
bump_taint()
|
||||||
|
continue
|
||||||
|
|
||||||
s = src_data[sec]
|
s = src_data[sec]
|
||||||
d = dest_data[sec]
|
d = dest_data[dest_sec]
|
||||||
|
|
||||||
if sec == "vmschkmachine":
|
if sec == "vmschkmachine":
|
||||||
check_machine_type(s, d)
|
check_machine_type(s, d)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue