From: Greg Kroah-Hartman Date: Thu, 29 May 2025 11:41:12 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.4.294~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c964160f1e7a080644dacf23c9d3c0588f21177;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: drm-i915-gvt-fix-unterminated-string-initialization-warning.patch --- diff --git a/queue-5.10/drm-i915-gvt-fix-unterminated-string-initialization-warning.patch b/queue-5.10/drm-i915-gvt-fix-unterminated-string-initialization-warning.patch new file mode 100644 index 0000000000..7d92014849 --- /dev/null +++ b/queue-5.10/drm-i915-gvt-fix-unterminated-string-initialization-warning.patch @@ -0,0 +1,63 @@ +From 8df71970af64794683e6c537fbd2c8d6613ab9cf Mon Sep 17 00:00:00 2001 +From: Jani Nikula +Date: Thu, 27 Mar 2025 14:47:39 +0200 +Subject: drm/i915/gvt: fix unterminated-string-initialization warning + +From: Jani Nikula + +commit 2e43ae7dd71cd9bb0d1bce1d3306bf77523feb81 upstream. + +Initializing const char opregion_signature[16] = OPREGION_SIGNATURE +(which is "IntelGraphicsMem") drops the NUL termination of the +string. This is intentional, but the compiler doesn't know this. + +Switch to initializing header->signature directly from the string +litaral, with sizeof destination rather than source. We don't treat the +signature as a string other than for initialization; it's really just a +blob of binary data. + +Add a static assert for good measure to cross-check the sizes. + +Reported-by: Kees Cook +Closes: https://lore.kernel.org/r/20250310222355.work.417-kees@kernel.org +Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13934 +Tested-by: Nicolas Chauvet +Tested-by: Damian Tometzki +Cc: stable@vger.kernel.org +Reviewed-by: Zhenyu Wang +Link: https://lore.kernel.org/r/20250327124739.2609656-1-jani.nikula@intel.com +Signed-off-by: Jani Nikula +(cherry picked from commit 4f8207469094bd04aad952258ceb9ff4c77b6bfa) +Signed-off-by: Jani Nikula +[nathan: Move static_assert() to top of function to avoid instance of + -Wdeclaration-after-statement due to lack of b5ec6fd286df] +Signed-off-by: Nathan Chancellor +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/i915/gvt/opregion.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/i915/gvt/opregion.c ++++ b/drivers/gpu/drm/i915/gvt/opregion.c +@@ -222,7 +222,8 @@ int intel_vgpu_init_opregion(struct inte + u8 *buf; + struct opregion_header *header; + struct vbt v; +- const char opregion_signature[16] = OPREGION_SIGNATURE; ++ ++ static_assert(sizeof(header->signature) == sizeof(OPREGION_SIGNATURE) - 1); + + gvt_dbg_core("init vgpu%d opregion\n", vgpu->id); + vgpu_opregion(vgpu)->va = (void *)__get_free_pages(GFP_KERNEL | +@@ -236,8 +237,9 @@ int intel_vgpu_init_opregion(struct inte + /* emulated opregion with VBT mailbox only */ + buf = (u8 *)vgpu_opregion(vgpu)->va; + header = (struct opregion_header *)buf; +- memcpy(header->signature, opregion_signature, +- sizeof(opregion_signature)); ++ ++ memcpy(header->signature, OPREGION_SIGNATURE, sizeof(header->signature)); ++ + header->size = 0x8; + header->opregion_ver = 0x02000000; + header->mboxes = MBOX_VBT; diff --git a/queue-5.10/series b/queue-5.10/series index 66784b0d71..e9e8732f7d 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -250,3 +250,4 @@ spi-spi-fsl-dspi-restrict-register-range-for-regmap-.patch spi-spi-fsl-dspi-halt-the-module-after-a-new-message.patch spi-spi-fsl-dspi-reset-sr-flags-before-sending-a-new.patch kbuild-disable-wdefault-const-init-unsafe.patch +drm-i915-gvt-fix-unterminated-string-initialization-warning.patch