xen: update PV-device interface headers
authorJuergen Gross <jgross@suse.com>
Tue, 5 Dec 2023 11:51:21 +0000 (12:51 +0100)
committerJuergen Gross <jgross@suse.com>
Tue, 9 Jan 2024 10:46:24 +0000 (11:46 +0100)
Update the Xen PV-device interface headers in order to avoid undefined
behavior with flexible arrays being defined with one array element.

Reported-by: Pry Mar <pryorm09@gmail.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Link: https://lore.kernel.org/r/20231205115121.11627-1-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
include/xen/interface/io/displif.h
include/xen/interface/io/ring.h
include/xen/interface/io/sndif.h

index 18417b0178699a8cf2dc231fae254f84d352940f..60e42d3b760e0fb2d1664cdd2a0b4bfa72de012a 100644 (file)
@@ -537,7 +537,7 @@ struct xendispl_dbuf_create_req {
 
 struct xendispl_page_directory {
        grant_ref_t gref_dir_next_page;
-       grant_ref_t gref[1]; /* Variable length */
+       grant_ref_t gref[];
 };
 
 /*
index ba4c4274b7146ed496629318a100152a1bd938c1..4fef1efcdcab5903fc976896c19d0fb94a296922 100644 (file)
@@ -95,7 +95,7 @@ struct __name##_sring {                                                 \
     RING_IDX req_prod, req_event;                                       \
     RING_IDX rsp_prod, rsp_event;                                       \
     uint8_t __pad[48];                                                  \
-    union __name##_sring_entry ring[1]; /* variable-length */           \
+    union __name##_sring_entry ring[];                                  \
 };                                                                      \
                                                                         \
 /* "Front" end's private variables */                                   \
index 445657cdb1defbe2ecec6e4cfc0a89f50a26bf3c..b818517588b508ee6194be7b1532de475d88712e 100644 (file)
@@ -659,7 +659,7 @@ struct xensnd_open_req {
 
 struct xensnd_page_directory {
        grant_ref_t gref_dir_next_page;
-       grant_ref_t gref[1]; /* Variable length */
+       grant_ref_t gref[];
 };
 
 /*