Message ID | 20230117222707.3949974-1-dmatlack@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: selftests: Stop assuming stats are contiguous in kvm_binary_stats_test | expand |
On Tue, 17 Jan 2023 14:27:07 -0800, David Matlack wrote: > Remove the assumption from kvm_binary_stats_test that all stats are > laid out contiguously in memory. The current stats in KVM are > contiguously laid out in memory, but that may change in the future and > the ABI specifically allows holes in the stats data (since each stat > exposes its own offset). > > While here drop the check that each stats' offset is less than > size_data, as that is now always true by construction. > > [...] Applied to kvm-x86 selftests, thanks! [1/1] KVM: selftests: Stop assuming stats are contiguous in kvm_binary_stats_test https://github.com/kvm-x86/linux/commit/d9e552858fab -- https://github.com/kvm-x86/linux/tree/next https://github.com/kvm-x86/linux/tree/fixes
diff --git a/tools/testing/selftests/kvm/kvm_binary_stats_test.c b/tools/testing/selftests/kvm/kvm_binary_stats_test.c index 894417c96f70..a7001e29dc06 100644 --- a/tools/testing/selftests/kvm/kvm_binary_stats_test.c +++ b/tools/testing/selftests/kvm/kvm_binary_stats_test.c @@ -134,7 +134,7 @@ static void stats_test(int stats_fd) "Bucket size of stats (%s) is not zero", pdesc->name); } - size_data += pdesc->size * sizeof(*stats_data); + size_data = max(size_data, pdesc->offset + pdesc->size * sizeof(*stats_data)); } /* @@ -149,14 +149,6 @@ static void stats_test(int stats_fd) TEST_ASSERT(size_data >= header.num_desc * sizeof(*stats_data), "Data size is not correct"); - /* Check stats offset */ - for (i = 0; i < header.num_desc; ++i) { - pdesc = get_stats_descriptor(stats_desc, i, &header); - TEST_ASSERT(pdesc->offset < size_data, - "Invalid offset (%u) for stats: %s", - pdesc->offset, pdesc->name); - } - /* Allocate memory for stats data */ stats_data = malloc(size_data); TEST_ASSERT(stats_data, "Allocate memory for stats data");