From patchwork Mon Mar 10 22:23:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 14010815 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2D220C28B30 for ; Mon, 10 Mar 2025 22:24:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 943DB10E0EA; Mon, 10 Mar 2025 22:24:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="dE6W90Jw"; dkim-atps=neutral Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6281F10E0EA; Mon, 10 Mar 2025 22:24:01 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3D07EA464C9; Mon, 10 Mar 2025 22:18:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0CA8AC4CEE5; Mon, 10 Mar 2025 22:24:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741645440; bh=CTv6x1iwe7lNlBx7Ev52FAfLLDsbcv7enQTrxI7zsyo=; h=From:To:Cc:Subject:Date:From; b=dE6W90JwOo6aVDSFYATuN8T0XBAFnZHt2qM3uwGDsKfNoDN4uaxGne8JYEVQPNRqS 9lHrAgwG+XkDZNsLNfMvrOBewxc7Nv7M04JJkX/VdIGLVdDjTf2jgdvAiKiVOq9t6T lKji9oROUTDf5D2z/W8G9y2qnbShoKuESVejF1FlGoZCvO8XAe5KcmZ4UTPitWuccb tC2QD0d3Ce9Bd3piBI5trgHv/xxhbNomEDoTyMnWhis/TkHpqtP/nK2dRhhIzVMjt4 DuiHj06xiqAFUqhILrPfPrgOEQkju4ceAR1ui6yWHIcNQ26QCyI1zj5/VHlCbrdLyL F+TQ/taWgOU6Q== From: Kees Cook To: Zhenyu Wang Cc: Kees Cook , Zhi Wang , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: [PATCH] drm/i915/gvt: Add __nonstring annotations for unterminated strings Date: Mon, 10 Mar 2025 15:23:56 -0700 Message-Id: <20250310222355.work.417-kees@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1815; i=kees@kernel.org; h=from:subject:message-id; bh=CTv6x1iwe7lNlBx7Ev52FAfLLDsbcv7enQTrxI7zsyo=; b=owGbwMvMwCVmps19z/KJym7G02pJDOnn06qZjaSni/V38P2dmxCtJXbfUFFs/iOzbZunHhYqZ DvGPaOno5SFQYyLQVZMkSXIzj3OxeNte7j7XEWYOaxMIEMYuDgFYCJZZxgZelmUT+/S4yirMam0 8Vur2ylbJH50ZlRwfeGly9OP8bRPZvhfWSbEu0dt9enTP9bU1fPe5FKS3c/t27JwwYqVa80ZhVw ZAQ== X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" When a character array without a terminating NUL character has a static initializer, GCC 15's -Wunterminated-string-initialization will only warn if the array lacks the "nonstring" attribute[1]. Mark the arrays with __nonstring to and correctly identify the char array as "not a C string" and thereby eliminate the warning. Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 [1] Cc: Zhenyu Wang Cc: Zhi Wang Cc: Jani Nikula Cc: Joonas Lahtinen Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: David Airlie Cc: Simona Vetter Cc: intel-gvt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Signed-off-by: Kees Cook --- drivers/gpu/drm/i915/gvt/opregion.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/opregion.c b/drivers/gpu/drm/i915/gvt/opregion.c index 509f9ccae3a9..f701638d3145 100644 --- a/drivers/gpu/drm/i915/gvt/opregion.c +++ b/drivers/gpu/drm/i915/gvt/opregion.c @@ -43,7 +43,7 @@ #define DEVICE_TYPE_EFP4 0x10 struct opregion_header { - u8 signature[16]; + u8 signature[16] __nonstring; u32 size; u32 opregion_ver; u8 bios_ver[32]; @@ -222,7 +222,7 @@ int intel_vgpu_init_opregion(struct intel_vgpu *vgpu) u8 *buf; struct opregion_header *header; struct vbt v; - const char opregion_signature[16] = OPREGION_SIGNATURE; + const char opregion_signature[16] __nonstring = OPREGION_SIGNATURE; gvt_dbg_core("init vgpu%d opregion\n", vgpu->id); vgpu_opregion(vgpu)->va = (void *)__get_free_pages(GFP_KERNEL |