From: Andrew Cooper Date: Wed, 26 Jun 2024 12:12:38 +0000 (+0200) Subject: xen/ubsan: Fix UB in type_descriptor declaration X-Git-Tag: RELEASE-4.17.5~35 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9dfe294cb6de52c34f1419394fde1fe2b6c2a70b;p=xen.git xen/ubsan: Fix UB in type_descriptor declaration struct type_descriptor is arranged with a NUL terminated string following the kind/info fields. The only reason this doesn't trip UBSAN detection itself (on more modern compilers at least) is because struct type_descriptor is only referenced in suppressed regions. Switch the declaration to be a real flexible member. No functional change. Fixes: 00fcf4dd8eb4 ("xen/ubsan: Import ubsan implementation from Linux 4.13") Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich master commit: bd59af99700f075d06a6d47a16f777c9519928e0 master date: 2024-06-18 14:55:04 +0100 --- diff --git a/xen/common/ubsan/ubsan.h b/xen/common/ubsan/ubsan.h index a3159040fe..3db42e75b1 100644 --- a/xen/common/ubsan/ubsan.h +++ b/xen/common/ubsan/ubsan.h @@ -10,7 +10,7 @@ enum { struct type_descriptor { u16 type_kind; u16 type_info; - char type_name[1]; + char type_name[]; }; struct source_location {