diff options
| author | Peter Xu | 2018-07-23 14:33:04 +0200 |
|---|---|---|
| committer | Dr. David Alan Gilbert | 2018-07-24 18:21:55 +0200 |
| commit | 829db8b497d855d39f85df4de9472c0b74ec5c3f (patch) | |
| tree | facec96d55337010c3fc74c02912488db5daa33f | |
| parent | migration: disallow recovery for release-ram (diff) | |
| download | qemu-829db8b497d855d39f85df4de9472c0b74ec5c3f.tar.gz qemu-829db8b497d855d39f85df4de9472c0b74ec5c3f.tar.xz qemu-829db8b497d855d39f85df4de9472c0b74ec5c3f.zip | |
tests: only update last_byte when at the edge
The only possible change of last_byte is when it reaches the edge.
Setting it every time might let last_byte contain an invalid data when
memory corruption is detected, then the check of the next byte will be
incorrect. For example, a single page corruption at address 0x14ad000
will also lead to a "fake" corruption at 0x14ae000:
Memory content inconsistency at 14ad000 first_byte = 44 last_byte = 44 current = ef hit_edge = 0
Memory content inconsistency at 14ae000 first_byte = 44 last_byte = ef current = 44 hit_edge = 0
After the patch, it'll only report the corrputed page:
Memory content inconsistency at 14ad000 first_byte = 44 last_byte = 44 current = ef hit_edge = 0
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180723123305.24792-4-peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
| -rw-r--r-- | tests/migration-test.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/migration-test.c b/tests/migration-test.c index 086f727b34..e079e0bdb6 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -300,6 +300,7 @@ static void check_guests_ram(QTestState *who) * to us yet. */ hit_edge = true; + last_byte = b; } else { fprintf(stderr, "Memory content inconsistency at %x" " first_byte = %x last_byte = %x current = %x" @@ -308,7 +309,6 @@ static void check_guests_ram(QTestState *who) bad = true; } } - last_byte = b; } g_assert_false(bad); } |
