]> xenbits.xensource.com Git - xen.git/commitdiff
livepatch: use appropriate type for buffer offset variables
authorJan Beulich <jbeulich@suse.com>
Thu, 20 Jun 2024 10:10:27 +0000 (12:10 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 20 Jun 2024 10:10:27 +0000 (12:10 +0200)
As was made noticeable by the last of the commits referenced below,
using a fixed-size type for such purposes is not only against
./CODING_STYLE, but can lead to actual issues. Switch to using size_t
instead, thus also allowing calculations to be lighter-weight in 32-bit
builds.

No functional change for 64-bit builds.

Link: https://gitlab.com/xen-project/xen/-/jobs/7136417308
Fixes: b145b4a39c13 ("livepatch: Handle arbitrary size names with the list operation")
Fixes: 5083e0ff939d ("livepatch: Add metadata runtime retrieval mechanism")
Fixes: 43d5c5d5f70b ("xen: avoid UB in guest handle arithmetic")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
xen/common/livepatch.c

index 502e264bc6fe180330c436b5c924f426ee9f1156..d93a556bcda29b3aa43a514097481a3de19e2e51 100644 (file)
@@ -1252,7 +1252,7 @@ static int livepatch_list(struct xen_sysctl_livepatch_list *list)
     list->metadata_total_size = 0;
     if ( list->nr )
     {
-        uint64_t name_offset = 0, metadata_offset = 0;
+        size_t name_offset = 0, metadata_offset = 0;
 
         list_for_each_entry( data, &payload_list, list )
         {