From patchwork Fri Feb 7 01:00:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863730 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FBAF27442; Fri, 7 Feb 2025 01:00:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=m0E5tfS6oj7IHSShbTt4Oc3G/yu+nBIzXI5Z8ADM7pOsPq7s/a+NtU7N9riktkZTBI5QUX3KZFnlQr0WOciWZYiXPp2UqEcNqV4lxPgKSu7JvF7RvxBQL5EjZRnxOzphRvBs1EgcEdd3lLqPE7FQ2dzLY99tXz0BX5+PfrovehI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=tN5HoDasgGs57yWRv1TCfAho0gjol32j6KoFqgeXgFQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Btu+z+y36O8dgPTPoQgYRINJKuH9E0jdw26ZhP9azlIsAtUIHqyQbhtcdcw43xG5mt2KsC9Q9nXHS2d5l4hvD9QSVcUafJ3UIBTEXOLoLR34XYW9ZJ9XZ+kpMce542HBuPhWQlvNkTrNTiyz5YQor4YP42HAQZmwDkIPYbTYqhI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Pj4LWa1E; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Pj4LWa1E" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B63DBC4CEDD; Fri, 7 Feb 2025 01:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890022; bh=tN5HoDasgGs57yWRv1TCfAho0gjol32j6KoFqgeXgFQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pj4LWa1Eap7F2oZPp49MBSTEHcl75OuXc+G9fNce/PSm+Kj5CioqbdpAcasNihaAO 7+lBjoo2VJVpOs/mp8uDi++SXwZvWxDf9l15hEJpyTSalXhXkJ9SFhVn8UKdcsZ2R1 SsHHsiwSCHBT3RbNW84ZEQOyZoOwy8TABRLSbxeyKChSkXfFsV8iAIqRDzI4xowByA SxwAjQ5A99TGnEsgFLqzHhjQnntG5UAKmLreBUgiyZx55jWW2nagc+Lw9jxcINARgj d3YGNATPFL8B8wmzefd58Xla8AwvsFDzH9JzEK0vxJwqJ3t1+X5XFDkw6bwnNL/gSm rn8z+ZRxRDZNw== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 01/10] scsi: mptfusion: Mark device strings as nonstring Date: Thu, 6 Feb 2025 17:00:10 -0800 Message-Id: <20250207010022.749952-1-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1366; i=kees@kernel.org; h=from:subject; bh=tN5HoDasgGs57yWRv1TCfAho0gjol32j6KoFqgeXgFQ=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLo+VlwhV7zqecu3Bw1pVpTwO3P85fNf+ZM8sjl1eHl pqLrXbf2FHKwiDGxSArpsgSZOce5+Lxtj3cfa4izBxWJpAhDFycAjCR89kM/xTXvzi0LvxvpzK7 teLqAuulj9nW/Fva1TyVa/OD4p7+1UaMDLdmrSlZobF8aoahY3+PRmFYz9YCxvxnFe+ZldmDvig p8gIA X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for memtostr*() checking that its source is marked as nonstring, annotate the device strings accordingly. Signed-off-by: Kees Cook --- Cc: Sathya Prakash Cc: Sreekanth Reddy Cc: Suganath Prabu Subramani Cc: MPT-FusionLinux.pdl@broadcom.com Cc: linux-scsi@vger.kernel.org --- drivers/message/fusion/mptsas.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index d0549a4daf76..9e3a823ca4eb 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c @@ -2834,10 +2834,10 @@ struct rep_manu_reply{ u8 sas_format:1; u8 reserved1:7; u8 reserved2[3]; - u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN]; - u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN]; - u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN]; - u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN]; + u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN] __nonstring; + u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN] __nonstring; + u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN] __nonstring; + u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN] __nonstring; u16 component_id; u8 component_revision_id; u8 reserved3; From patchwork Fri Feb 7 01:00:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863729 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FBF927735; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=VfEdzhzdPRCDUAlEhqhuSS93K02CkaDpiVlI2yyDm67r+shnhLOp0rczPdT74HuETvhLK21qt5D4/NOrTIg+jPzFhg3ogml0olb7o3NFu7eHTq6HM0AK79FzIJ64vnXgCbUMEgdtTnJYpUqGCPZupoVAJ8yvPK8d2qs12OqPS3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=FW3cCFVFQ9UxOSFMNhwCs/UdzXxwEvz5yZH5h49ti2g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Dk68uFi3qIzdPFg40dANtMTa11Bp7AmnnFis/wrWuhmibLn1aMaDwoNzmk922Xu8YwaHWKVyfaTB5i0hNdvSBlQeujIjjRezLg/TqNVfzyQihYswBzOtu4PSlZoOT8jtsEznoRawU7ySQBlTc/E0HQ8RYzBXlw4YhT9vE2G32+Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NzP1dxz9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NzP1dxz9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BCE59C4CEE3; Fri, 7 Feb 2025 01:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890022; bh=FW3cCFVFQ9UxOSFMNhwCs/UdzXxwEvz5yZH5h49ti2g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NzP1dxz9lwmjvHPqiw9l278vpnXmGce84c1WI7Pwg9RzYXFwUyTp4mBB1UPZWJa5u 7wtMk9I61Xktx/iA/TP337SkRYMgfLoFhlH32XeUL+zOPEOX8ki4wXMoC06IzK46fZ iEd8RgKKUhMGHTznVk6qws2yjucXtGGCEjEdPmkf+DUAGh7JD+FoXIxiYIMQDIvwoQ yOE47L0TehY+R3VZUTPw92zI6v7LrYeWzZJHnRN28kuoCR2VCVj+mbYMjLJkgEIrV+ zPfu09ru1Gl8QDXBtcGaCeFc+x6NQRkPb7rlimFTrF/vdSBi7dIM3vOEOXa3n69xDa HLB3goUYac2cw== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Sathya Prakash Veerichetty , Kashyap Desai , Sumit Saxena , Sreekanth Reddy , "James E.J. Bottomley" , "Martin K. Petersen" , mpi3mr-linuxdrv.pdl@broadcom.com, linux-scsi@vger.kernel.org, Suganath Prabu Subramani , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 02/10] scsi: mpi3mr: Mark device strings as nonstring Date: Thu, 6 Feb 2025 17:00:11 -0800 Message-Id: <20250207010022.749952-2-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1558; i=kees@kernel.org; h=from:subject; bh=FW3cCFVFQ9UxOSFMNhwCs/UdzXxwEvz5yZH5h49ti2g=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLo+U9FopxhVrvZ7/uEMml/WRCbfdWtl19s9bt+XZQ7 yJLs9mrjlIWBjEuBlkxRZYgO/c4F4+37eHucxVh5rAygQxh4OIUgIm8vc/I0JQs9M+QXUP9ae8U I/28RIYT4p3HtJ+0Rfwy5VexueZ6mZHhz4JE1ecqXFfyj8ltUJ36QMe65U6LofSVDSsrjxRrbP/ GDgA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for memtostr*() checking that its source is marked as nonstring, annotate the device strings accordingly. Signed-off-by: Kees Cook --- Cc: Sathya Prakash Veerichetty Cc: Kashyap Desai Cc: Sumit Saxena Cc: Sreekanth Reddy Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: mpi3mr-linuxdrv.pdl@broadcom.com Cc: linux-scsi@vger.kernel.org --- drivers/scsi/mpi3mr/mpi3mr_transport.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/mpi3mr/mpi3mr_transport.c b/drivers/scsi/mpi3mr/mpi3mr_transport.c index 0ba9e6a6a13c..c8d6ced5640e 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_transport.c +++ b/drivers/scsi/mpi3mr/mpi3mr_transport.c @@ -105,10 +105,10 @@ struct rep_manu_reply { u8 reserved0[2]; u8 sas_format; u8 reserved2[3]; - u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN]; - u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN]; - u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN]; - u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN]; + u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN] __nonstring; + u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN] __nonstring; + u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN] __nonstring; + u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN] __nonstring; u16 component_id; u8 component_revision_id; u8 reserved3; From patchwork Fri Feb 7 01:00:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863731 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 231E22417F6; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=hRlcWJsiZAo27QDV70EQERFU76Mw1a58BM9jtv2O6zTeqTTv2h6e7Y1m0rnTC9UzLLGZEo7ZSKeHgZGx/96DwiKNjjf+I2gUCV5yVmDGb6s8/SAl8LxHdS9H/g2VHxLdXB35D3Qoyz+0s93PVw6ZDj2KlpzrUyBi6cIw8rqLr58= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=V/auFlplC4lNkwyu5TsfDCGYYHQ1U9JN/b/NDVqoD00=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rx0Ul4NGq/zHUG03EmD7Wnt2QSfyvlKaqqZNqPtyIr4JIQMme9Wl5SitLq0HERBVZfRS2YHsEPQJ8SU803u27mxkZqyeR18dQ4g9izkjQQ46IAKi2PdORdHtLJz5PRUn/adgU2DFG+AfD9aAONVcB7M+lWr1QV8xvYi20qoISn8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=K5cIRmNa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="K5cIRmNa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF0EFC4CEE5; Fri, 7 Feb 2025 01:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890022; bh=V/auFlplC4lNkwyu5TsfDCGYYHQ1U9JN/b/NDVqoD00=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=K5cIRmNa5X35xmajVBLOhiGFfSp2lvzvXBoiBeT1Tt2OUX3yuMiFPcc8ddVzZGPpO yLMO98/Z6MwLIUsL8wFm+A12crw+lebpAagqrT8fz870tdSYW+T4Lpvmlzy0htbl+b Zv6AZyHSQapUYt1NtQqmsnSGcVIMAyLX8drKpTZbfo15xzkUfOQi0shDVDAeBAsgKV 3ilaKPe93nxFgPMxSZF1IrkURPCPSH7jrbdqSfBcR7lAENV3MHOGoYthWWcxLvpuvf n3uI786lBewgzRyYljbOTa+zmHOzRHHhIBcD6LBmGV4VsMf4EUaQUEfWuG4qGkxOoN Pu3QNMjmVr0xg== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , "James E.J. Bottomley" , "Martin K. Petersen" , MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, Kashyap Desai , Sumit Saxena , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 03/10] scsi: mpt3sas: Mark device strings as nonstring Date: Thu, 6 Feb 2025 17:00:12 -0800 Message-Id: <20250207010022.749952-3-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2295; i=kees@kernel.org; h=from:subject; bh=V/auFlplC4lNkwyu5TsfDCGYYHQ1U9JN/b/NDVqoD00=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxWqNi1nvPp8fmr5YTfTptvFD+s+f215tPHkviT+e UwOZdpOHaUsDGJcDLJiiixBdu5xLh5v28Pd5yrCzGFlAhnCwMUpABORNGb4X3nzaKNp352Lyss+ ODf/tZzZuvmA4GzfOu/W1zm/Fj3J+Q5Ucesn/7by+VG7zwfK1sw5OG2r8qqO/McPnWYwFcx4LWv NCgA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for memtostr*() checking that its source is marked as nonstring, annotate the device strings accordingly. Signed-off-by: Kees Cook --- Cc: Sathya Prakash Cc: Sreekanth Reddy Cc: Suganath Prabu Subramani Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: MPT-FusionLinux.pdl@broadcom.com Cc: linux-scsi@vger.kernel.org --- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 2 +- drivers/scsi/mpt3sas/mpt3sas_transport.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h index 587f7d248219..d123d3b740e1 100644 --- a/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h +++ b/drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h @@ -606,7 +606,7 @@ typedef struct _MPI2_CONFIG_REPLY { typedef struct _MPI2_CONFIG_PAGE_MAN_0 { MPI2_CONFIG_PAGE_HEADER Header; /*0x00 */ - U8 ChipName[16]; /*0x04 */ + U8 ChipName[16] __nonstring; /*0x04 */ U8 ChipRevision[8]; /*0x14 */ U8 BoardName[16]; /*0x1C */ U8 BoardAssembly[16]; /*0x2C */ diff --git a/drivers/scsi/mpt3sas/mpt3sas_transport.c b/drivers/scsi/mpt3sas/mpt3sas_transport.c index d84413b77d84..dc74ebc6405a 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_transport.c +++ b/drivers/scsi/mpt3sas/mpt3sas_transport.c @@ -328,10 +328,10 @@ struct rep_manu_reply { u8 reserved0[2]; u8 sas_format; u8 reserved2[3]; - u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN]; - u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN]; - u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN]; - u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN]; + u8 vendor_id[SAS_EXPANDER_VENDOR_ID_LEN] __nonstring; + u8 product_id[SAS_EXPANDER_PRODUCT_ID_LEN] __nonstring; + u8 product_rev[SAS_EXPANDER_PRODUCT_REV_LEN] __nonstring; + u8 component_vendor_id[SAS_EXPANDER_COMPONENT_VENDOR_ID_LEN] __nonstring; u16 component_id; u8 component_revision_id; u8 reserved3; From patchwork Fri Feb 7 01:00:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863240 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FB7E200CD; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=A9LQQS7i9kHCDFD6ozYWrsNI8fJHHCugkGSAqQeFW8digNqbudUVOGas0WQzZlPMn9WeW7PC9qmuT1QjtvJj48XqfvLPbZx5g0ZI+uHhIJYu7NEb+2E12Ms6NhPtivRxPiM/mXqpw6opRunfJ67OezJiP1fcvVbUmxa8clntJ4k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=hodZU7GQjZAKYVi5akVklCZ+GiDLGTui0BikdPpJ14c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=b+2sxc93zUda0cuZsX9CZH/c99nqKvagXKRFn7kZ6GTNclb3rwjPkd/bBcfWTvXTWNxaGPY6U0KqzdWYpZIDQ15V7r6Ax4qwcGfQM4oML2cxopNtDaX365qoss3CENr/E9CmGZkEgOvMOmBiul4ya4wi8myV4lc7CEsAw1zmfqo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uSjQsoxW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uSjQsoxW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7F79C4CEE4; Fri, 7 Feb 2025 01:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=hodZU7GQjZAKYVi5akVklCZ+GiDLGTui0BikdPpJ14c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uSjQsoxW2kEoxwAcBMQ5Dnraq+NRXXUoLUs62pDQLDqR4+p3Bi6W+3CqLBWRC6c9R kY8ER2vmVCYIk9CKMM1yZGFk6KTsZEb3tgn/NrUq4BUzMCjGo9FRCnOvICB1GGgcqq NxFkypG/5UG2m5nThQp3TTcl9ESJ30lbJuZN28vIIT/gkb74rpfGHMB8UlmfqwMu3b 8ws/ZshiZEMqP+a9yDP//NTb58yS2M6fEOO1p7pS/SpCzs81ysJx8uiDESEveR+snd fPUb4VnlBhqo6QukXnWUyfyvt6x6/z0LO1ubGjBwGtSEP6aoh+gM/I456MIYbz0Wjx ao7M4jGOe7siA== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Nilesh Javali , GR-QLogic-Storage-Upstream@marvell.com, "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org, Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, mpi3mr-linuxdrv.pdl@broadcom.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 04/10] scsi: qla2xxx: Mark device strings as nonstring Date: Thu, 6 Feb 2025 17:00:13 -0800 Message-Id: <20250207010022.749952-4-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1092; i=kees@kernel.org; h=from:subject; bh=hodZU7GQjZAKYVi5akVklCZ+GiDLGTui0BikdPpJ14c=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxX0n158JD5V/Wf9u85oySd+7YwSZzfd4/8o6MSa5 v0/21Wso5SFQYyLQVZMkSXIzj3OxeNte7j7XEWYOaxMIEMYuDgFYCIdbxn+WTpdNvdlnCl1/8r6 HWvu/mIKO9Hga5TImPXcgWvm/56jkxgZ1k7mnOV4Unuq2IfQXzH7zbltci8t9s6895ejwOPq7LT tLAA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for memtostr*() checking that its source is marked as nonstring, annotate the device strings accordingly. Signed-off-by: Kees Cook --- Cc: Nilesh Javali Cc: GR-QLogic-Storage-Upstream@marvell.com Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org --- drivers/scsi/qla2xxx/qla_mr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_mr.h b/drivers/scsi/qla2xxx/qla_mr.h index 4f63aff333db..3a2bd953a976 100644 --- a/drivers/scsi/qla2xxx/qla_mr.h +++ b/drivers/scsi/qla2xxx/qla_mr.h @@ -282,8 +282,8 @@ struct register_host_info { #define QLAFX00_TGT_NODE_LIST_SIZE (sizeof(uint32_t) * 32) struct config_info_data { - uint8_t model_num[16]; - uint8_t model_description[80]; + uint8_t model_num[16] __nonstring; + uint8_t model_description[80] __nonstring; uint8_t reserved0[160]; uint8_t symbolic_name[64]; uint8_t serial_num[32]; From patchwork Fri Feb 7 01:00:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863728 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 917F38172A; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=WgKNUSIcyZ4hqWCsSytWnRYeUD0rkIQlTzIh3/x+9NWApmYchfndo+pl1aEBVG2fg1rq3MV7YvdbOq9lRY3Q1EjeMTBdgGsIz1A/bPA3VJv+5cIk8Jm2E+bMMwUFRn1ota5cTVCANrG5FLB8tnFdb0h7Ztn3wRROKpNNAELNyfk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=4KeQJBNPB0Q5KIE870XgtEtrG/Op6CZMA5oc8jFXtQA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mFmcIHLl3RbXy6wAM6usMAlDB/bipu/SN6POtWabMF069njNvorWBriGNATGvlsXC81Dw4P4aeDCxYKFCu7WHFO2Oq9qBJkd2xFg9NpKRzSXBp36VA4AhpZ8AV5/xqzNr/dXeFatVeQBoRTQzNhADEGVSYYu6950NJ7MYnXXij0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sQ5oTJ+7; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sQ5oTJ+7" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E5DCC4CEF1; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=4KeQJBNPB0Q5KIE870XgtEtrG/Op6CZMA5oc8jFXtQA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sQ5oTJ+750ycYbVPLnYKkcV403+k86ysv/nxr+d9xcJ51a5DBaRQn0pb758KbKON8 LkRUcPKEjYJLEgBmtFbGbPbXgudrAWjiFB9eTOQFwwyJA58ZtNZSXnLoP2tWhfnUKe uFTeBUTJCw4gr6Yy28+bizKl0uuZ5bVAPu7sDuohUmSY+FuCaNGtY54DVwMn++yFGC 29FKuwhuv7Bc1UJRlisuHdUDHgnOd3U/H7NjldrSDt564dBbyswlUud1rppIHwi5uj +SZ3NCwsq35J4ua+TfR3HiswfjPb/4EF0MgnO2qyVYY+FtG7wJc5hcuH5Wc6zE52cv XfEOK/F0INJkQ== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Andrew Morton , linux-hardening@vger.kernel.org, Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 05/10] string: kunit: Mark nonstring test strings as __nonstring Date: Thu, 6 Feb 2025 17:00:14 -0800 Message-Id: <20250207010022.749952-5-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1065; i=kees@kernel.org; h=from:subject; bh=4KeQJBNPB0Q5KIE870XgtEtrG/Op6CZMA5oc8jFXtQA=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxWYZijYhtbMvzDjjcShsmCjbHEFgdIezckh0Us/+ pc+m3C7o5SFQYyLQVZMkSXIzj3OxeNte7j7XEWYOaxMIEMYuDgFYCKWpxkZXpo8cyzmTj/luFNM v4b9R6H9/Am8UUeWMDqwxa+7L8fcxshwd6WkPUday48YbddpW1eo3rU7z/R2zdr9ChftK4OklRo YAA== X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for strtomem*() checking that its destination is a __nonstring, annotate "nonstring" and "nonstring_small" variables accordingly. Signed-off-by: Kees Cook --- Cc: Andy Shevchenko Cc: Andrew Morton Cc: linux-hardening@vger.kernel.org --- lib/string_kunit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/string_kunit.c b/lib/string_kunit.c index c919e3293da6..0ed7448a26d3 100644 --- a/lib/string_kunit.c +++ b/lib/string_kunit.c @@ -579,8 +579,8 @@ static void string_test_strtomem(struct kunit *test) static void string_test_memtostr(struct kunit *test) { - char nonstring[7] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g' }; - char nonstring_small[3] = { 'a', 'b', 'c' }; + char nonstring[7] __nonstring = { 'a', 'b', 'c', 'd', 'e', 'f', 'g' }; + char nonstring_small[3] __nonstring = { 'a', 'b', 'c' }; char dest[sizeof(nonstring) + 1]; /* Copy in a non-NUL-terminated string into exactly right-sized dest. */ From patchwork Fri Feb 7 01:00:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863726 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2AD913C9A3; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=tY+mEuCqnnjnMdcj0WB/rpeJ5bFZW5JDy77HV+kr+zcFmym40Ovu7T7eQ2/1cbW4Di+DvqQqVqyO4DKAq3mTmnBoXFRpZHA4z2oFUwnaUI0McO83e8PaSw5YCQQ7kXoZPxUPvJZTq2asbDRvl3QZnf1t9+oGf/C6l0NEkiajdc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=Opu1xXyyZ3aCe64Oqm1K1/bSvXQOECiF/s4lP93IAgM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Kiy2EQfA+3hnvzVpx/FJQ4id/5Z2g6VOGC1xlQOcihj5+wlpT3sJj2jXYyFjtGlB7HuOj7KIl5zir3uKQ34A/3Nu1CAT9qWuZZJQFwZRCHks98yX982fkU+11tHSb5+8KCMKZhbKdzpL6y/0agp5URd4MX2FP4VVoQy8HVUlHpk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l5T51yNs; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="l5T51yNs" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32F3CC4CEF4; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=Opu1xXyyZ3aCe64Oqm1K1/bSvXQOECiF/s4lP93IAgM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l5T51yNscCYGt1Edn/A2clAER9RG9za+q2NWF0ds3FvOGP3Gm64us8UWo6wdz5gRj QwyU/+MHcPG0QHTbSwqSKxEIz91aellUc/HQGKfxhSvse7LXa3QuCM+aq+3osYHNcI S4y2Efpcd62r099O53jJ/nt9YhyM0vIKuUppXrqDuLz2CUCQUJTg1ii7DaabB0t/z6 vRYjzcLLdKRdILI79jwnfg5KvR8kqmOaxDYQObBEGZUVOtstXzPO2t6pQaez3tJDYw PPy2hPh0bWu29g5djjfrJBXi5oBTFPV73BsPJ2RhAmDbh6UWMvsZZgiSGk4SoHUAnP XkcJPHZjzZEjg== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , linux-coco@lists.linux.dev, Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, linux-nilfs@vger.kernel.org Subject: [PATCH 06/10] x86/tdx: Mark message.str as nonstring Date: Thu, 6 Feb 2025 17:00:15 -0800 Message-Id: <20250207010022.749952-6-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1065; i=kees@kernel.org; h=from:subject; bh=Opu1xXyyZ3aCe64Oqm1K1/bSvXQOECiF/s4lP93IAgM=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxVb/a45ye1N3nZuqsmMqdt3iX/LT7mgOIuZk9miY tKcyQynO0pZGMS4GGTFFFmC7NzjXDzetoe7z1WEmcPKBDKEgYtTACbCoMDwV+aBrT9ffG/FQZ6r uj1PbPwD7nH58IRq8pqwzop7MbOHgZFh6sOyGdatOv9PRHA8uLy6X+Rxw6H7l6a1iEf+kXrNbfm MEwA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for strtomem*() checking that its destination is a nonstring, annotate message.str accordingly. Signed-off-by: Kees Cook Acked-by: Kirill A. Shutemov --- Cc: "Kirill A. Shutemov" Cc: Dave Hansen Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: x86@kernel.org Cc: "H. Peter Anvin" Cc: linux-coco@lists.linux.dev --- arch/x86/coco/tdx/tdx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/coco/tdx/tdx.c b/arch/x86/coco/tdx/tdx.c index 0d9b090b4880..977ab1ffa3fe 100644 --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -170,7 +170,7 @@ static void __noreturn tdx_panic(const char *msg) /* Define register order according to the GHCI */ struct { u64 r14, r15, rbx, rdi, rsi, r8, r9, rdx; }; - char str[64]; + char str[64] __nonstring; } message; /* VMM assumes '\0' in byte 65, if the message took all 64 bytes */ From patchwork Fri Feb 7 01:00:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863239 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F67E130A7D; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=C5nQgRDvAjwp78pavi8/KswGHLxl2LQeVbEO/hqzjlbPBeB0arJ7q/1Az+9xXh29nbW/L1r1uwk3jxeAr0rXDI4uryttE/opwt3mn9jj2puTxcYZrzXeEXQggdGlkOMNpQSrrr3S+xi6w7l53/VyJbn6FB9+51NI6dhQaYCm0mA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=AU4TtQLPUdYghKYrNhONEb5bDCAkZ0FgafFKK4ZzDeY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=q8h4UQXiZyhoSuJMWZ1HzFrCuA15j7blAktj7VcBC/Sl3z88Cu9viR24ONhJwAKBqrOu2lh+/U6MFgzhHuGZ+gFjR3RwNSqaQ4BkrU7FRG1qve/HXPQ/cCMopB/YgFfFcs/UdJJibklCAnYqdVQrFIouMadZR2Q8w4smVjePXw4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ISqZHQ6X; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ISqZHQ6X" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3142DC4CEF2; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=AU4TtQLPUdYghKYrNhONEb5bDCAkZ0FgafFKK4ZzDeY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ISqZHQ6X9bEOFfl/1QaPI0iUHHJOCrar0Oi7tQvo379zrUeGILh17VA6n9KHRl8MJ UswQ5HWsIpXjqVyVxLnCcCuEPH7sy2x/r8tIIXaHhoT+ffyoTsK1xCVCxg7gFZurSz VtLZkc4QyA6wyE68OKYZ5ClN4updhXb0CxVgVgqGFuC1dhP6JL2NlFkV26W4+i/LoH 1A/W//Fatt9Bvgjc2pKdt92FUwsltQajY5ut5gWjxj98lfeRqnOe7zZ/wmCtfLWkKp Ii4OwfJ/PaQSPPeneXfIaRTxPb/DFxP9ooxnLDpFEs/9aIq6BVl5uWVtsTx+YJdfgM rh67TfpHPV0Iw== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , Erick Archer , Dmitry Antipov , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , kernel test robot , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 07/10] uapi: stddef.h: Introduce __kernel_nonstring Date: Thu, 6 Feb 2025 17:00:16 -0800 Message-Id: <20250207010022.749952-7-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=976; i=kees@kernel.org; h=from:subject; bh=AU4TtQLPUdYghKYrNhONEb5bDCAkZ0FgafFKK4ZzDeY=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxVLUp5s3XfF6NPUBW9uL1kopuLAm3TZaMdFvfOc/ k6fluTadJSyMIhxMciKKbIE2bnHuXi8bQ93n6sIM4eVCWQIAxenAEykv5zhD//3/UYFBW7RbMqH 9vQc7f4gJTtBhv2zRd6SLtWtTOqVLAx/hSzUTbrljHYlNjXcS2zlXHIp88XPU4ZhLw3Fdj4Nm3a IBQA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In order to annotate byte arrays in UAPI that are not C strings (i.e. they may not be NUL terminated), the "nonstring" attribute is needed. However, we can't expose this to userspace as it is compiler version specific. Signed-off-by: Kees Cook --- Cc: Alexey Dobriyan Cc: Sven Eckelmann Cc: Tadeusz Struk Cc: Erick Archer Cc: Dmitry Antipov --- include/uapi/linux/stddef.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/uapi/linux/stddef.h b/include/uapi/linux/stddef.h index 58154117d9b0..0e7d289b7c2e 100644 --- a/include/uapi/linux/stddef.h +++ b/include/uapi/linux/stddef.h @@ -63,4 +63,10 @@ #define __counted_by_be(m) #endif +#ifdef __KERNEL__ +#define __kernel_nonstring __nonstring +#else +#define __kernel_nonstring +#endif + #endif /* _UAPI_LINUX_STDDEF_H */ From patchwork Fri Feb 7 01:00:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863237 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A12C313BAE4; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=tDyPtcCvzwAwh39QyhJmihn/cNWnnFnGrbZBD7HsnGeW6VAn3sWrrmoMuKa2DRMIsgGE4ePBKPGUGFYlHFGyYh6pMGFL99lWbY3/Ygez1GDFk/TSgrTuIqnJHvOR9S0Z4IyXIVYXgPtxCAAXknq9omdyn8d0S8ysHVLA/HxsEKA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=CbM+GnN2ANWE4Vaa6vW+0UlcVuo8j7mn5KKDXvIqbBE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IapRX5rFNobvE5Wb95Gn+NCZUGeSbMsywC3zov8yLM9A2foHpIbXmaW5ummKCpRV+BWLvS4z//goCkIQgq2+lgmOu2Rt40Tv2anGM1qi7Owc3VbALBHKviqn8kz8VMLxzd3sJM+AaoxR+a4fRkYpVt0cleuKlLQdtmhuINlNaP8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Cr6304fw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Cr6304fw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51079C4AF0F; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=CbM+GnN2ANWE4Vaa6vW+0UlcVuo8j7mn5KKDXvIqbBE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Cr6304fwYeeuZX2bZra7G3/Z6F7SDGU+yPYFysuApvvLQ78eLazkWtxw2rXUBF8Jp L8cijDC6lpAngQLp6PJKujxEn/Bdf963Ej6mZgNFG1Aawv2z9F3kp/57meY5/9jYg4 i7J7yBE6dZPkn0is1yZmZ4EGPVrAW2H7y+izwbjdRJaKtqsXiFKotZ3wnFjbhq8fKr 8TBKS9/WRC0cpWedQfE9j8jV7Dm5pCM8NB5IiH3hqVn21PPazHdYa5RDTiTfpL4xuk f0TfUwyBhvDZTBLxKJUFW+pnth3OQaoiIK4m5R+ENtKqWvs5C8v3EhCZx7vpxyWgW7 P+JN0kvDAi58A== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Ryusuke Konishi , linux-nilfs@vger.kernel.org, Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev Subject: [PATCH 08/10] nilfs2: Mark on-disk strings as nonstring Date: Thu, 6 Feb 2025 17:00:17 -0800 Message-Id: <20250207010022.749952-8-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1048; i=kees@kernel.org; h=from:subject; bh=CbM+GnN2ANWE4Vaa6vW+0UlcVuo8j7mn5KKDXvIqbBE=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLoxV3RF3+srip7wUnS9GrT/Uvj0t4nNrjt4nJdFH9/ 6asj6EXOkpZGMS4GGTFFFmC7NzjXDzetoe7z1WEmcPKBDKEgYtTACai84rhr9DLb6s795Rcl3v7 za1JXsPfK19jcnJQKu9iQZfXBoknIhkZtruvZYuL/3jdUpdxg2f7eYdDJlfjG6do2U5c/pJnGas cCwA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for memtostr*() checking that its source is marked as nonstring, annotate the device strings accordingly using the new UAPI alias for the "nonstring" attribute. Signed-off-by: Kees Cook --- Cc: Ryusuke Konishi Cc: linux-nilfs@vger.kernel.org --- include/uapi/linux/nilfs2_ondisk.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/nilfs2_ondisk.h b/include/uapi/linux/nilfs2_ondisk.h index c23f91ae5fe8..3196cc44a002 100644 --- a/include/uapi/linux/nilfs2_ondisk.h +++ b/include/uapi/linux/nilfs2_ondisk.h @@ -188,7 +188,8 @@ struct nilfs_super_block { __le16 s_segment_usage_size; /* Size of a segment usage */ /*98*/ __u8 s_uuid[16]; /* 128-bit uuid for volume */ -/*A8*/ char s_volume_name[80]; /* volume name */ +/*A8*/ char s_volume_name[80] /* volume name */ + __kernel_nonstring; /*F8*/ __le32 s_c_interval; /* Commit interval of segment */ __le32 s_c_block_max; /* From patchwork Fri Feb 7 01:00:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863238 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FBA013B29F; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=m41yOO/GetYoYJQ9No4M+BBTbSPeQOWjyZfAmCF9Av/KdJbuI1QJSlJOzEWWITIl4p4TUgpydj4qLsYM5spYygdKrMogBn9PIrvFuzuRidjLawQC5tUo9Qm8OKDFz+cdpTY52KFGWaEwYheiOPqEdxuv4YXHS0WyqtM7SrZgoow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=OD080QOcsvmWmkyEpokD8TJxBS24XHP/FqYv3Q/+7eQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OC6Tl+yTKWXIiffr4oknt7nLCbXCz7PmIOv5DelHL2GNJcjWjvMPmQWCasRUE3WwQMFJc4/q7Xc6xSPhT/4ZatCkU5OYRLb+XpQZGUf62fY4YD5/C7e7n+Vwjq5JZex3uxSYCe7zErMRyvXJAamhXUaqFG7aGNqctRWgcoIjOC4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=p4xkj2HN; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="p4xkj2HN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48D03C4CEF3; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=OD080QOcsvmWmkyEpokD8TJxBS24XHP/FqYv3Q/+7eQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p4xkj2HNHL0fP3uLxXElWkqOEMghzdy+9+fMKprTafPGPgA8dQLUGLz6FkHfoS28R sR418rmGcDPxnomHC7EVpWCfCW+CX8EQBEf17uOXZ6CY/dP5XbGtAvKzFx8joaC6jH Yz4nK0nLWKP4ObeHKKFDvjNiIBHa+mvTHD0/gD18v8w0IWk9+jTNcaCX2HogJtPpMq IrsKj3jMLdKe6dxKqE5w7bQKQS0sv+jYLTGEVD4xipjwsPOl9GtU9jFzYyK4monSIE cBGFuuwO4DNGnO+v8wpUm9H7JssjR/tuOxFns5OFK0kFsIIICot8StIXGThzOU5Ekn 8l0TGUKl+AD7A== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, linux-hardening@vger.kernel.org, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 09/10] compiler.h: Introduce __must_be_noncstr() Date: Thu, 6 Feb 2025 17:00:18 -0800 Message-Id: <20250207010022.749952-9-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1662; i=kees@kernel.org; h=from:subject; bh=OD080QOcsvmWmkyEpokD8TJxBS24XHP/FqYv3Q/+7eQ=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLo5VM/jrvuzHT8t+U5qBbdwzFMtU1rI7yr439WeE0M eZqjoVGRykLgxgXg6yYIkuQnXuci8fb9nD3uYowc1iZQIYwcHEKwERWSDP893F8yq70KFA4Olrv 1sQXuh/mnj5cefTo2kp/q+2FDz5IvmJkOLNdd/ZkvbDdr6+cypnQ+jZBQH/PjaS9ysffvD06aZK dGAsA X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 In preparation for adding more type checking to the memtostr/strtomem*() helpers, introduce the ability to check for the "nonstring" attribute. This is the reverse of what was added to strscpy*() in commit 559048d156ff ("string: Check for "nonstring" attribute on strscpy() arguments"). Signed-off-by: Kees Cook --- include/linux/compiler.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 1c0688319435..c89070a2f964 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -229,9 +229,25 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val, #define __must_be_byte_array(a) __BUILD_BUG_ON_ZERO_MSG(!__is_byte_array(a), \ "must be byte array") +/* + * If the "nonstring" attribute isn't available, we have to return true + * so the __must_*() checks pass when "nonstring" isn't supported. + */ +#if __has_attribute(__nonstring__) +#define __is_cstr(a) (!__annotated(a, nonstring)) +#define __is_noncstr(a) (__annotated(a, nonstring)) +#else +#define __is_cstr(a) (true) +#define __is_noncstr(a) (true) +#endif + /* Require C Strings (i.e. NUL-terminated) lack the "nonstring" attribute. */ #define __must_be_cstr(p) \ - __BUILD_BUG_ON_ZERO_MSG(__annotated(p, nonstring), "must be cstr (NUL-terminated)") + __BUILD_BUG_ON_ZERO_MSG(!__is_cstr(p), \ + "must be C-string (NUL-terminated)") +#define __must_be_noncstr(p) \ + __BUILD_BUG_ON_ZERO_MSG(!__is_noncstr(p), \ + "must be non-C-string (not NUL-terminated)") #endif /* __KERNEL__ */ From patchwork Fri Feb 7 01:00:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 863727 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 95B1D12C470; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; cv=none; b=ez9QZ5bo7K5ThoYPbZmo0fPmeMi058iDi7m/8ZLIQNaKcRdSPPX5VzgqwyYzTFo740MYDrvx/gZJVQB9b3iFuKeN4okmkGAs32XEe1nkG+DMzUJBs1TeNyR/Fria6H946zFJkdRgmbaP5VE1ceC1AdCJ6Mv+OK3XRmTGecXXfAU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738890023; c=relaxed/simple; bh=K/07rfCFA4BfrBoFR8MW3miwLviZUsM4VUjLPRUHQSk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NDtAwvitC+HKP5V024DxmPI7ubjxa/Ub8Uj/lrWJnj+jeuY+/2tpWCCzmEpm6q1stwwB5AZJhj1MEVne7QGz4Gm87doX7qRVM8CL8IyC1lcCpfvWt/KYAVZ4wgYDaB3mBw2e/v7iUq82h7YlIImD6+QEyAapAbjMjoZ8mnx38L4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DqkdQDHi; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DqkdQDHi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 44699C4CEE6; Fri, 7 Feb 2025 01:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738890023; bh=K/07rfCFA4BfrBoFR8MW3miwLviZUsM4VUjLPRUHQSk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DqkdQDHi32+fVMBhJIDpDTsAD2KQxIW6emKqDpEwDIeNEsKRSUE3Jdo7K7nnI2L+b UhJgJLVG9dUctxMfqz8+aA5yZcS6NWu7beIJo6jlapVkpPjfb0vBYzfX/2F3YyFOdU qL/GbOB4z4wQA69Xp12J7bOE1HQeP6I6iWZbDHJmMQ3WMAYUCtcvUt98ISXzU2ZqL1 TKhfr6HXq2vd296XeXUa2nGaR/oAGU2HWjMS2EMz7a6QRbZ+bc07fqt9Yr1cdiW79d +pYPhK1tpMPtgB+9SpPJG2+dCuvRM2/zcGg6H8ns4ObNPRxlcDz0By9PjUwZyVCT+3 2WYJpzowanURQ== From: Kees Cook To: Andy Shevchenko Cc: Kees Cook , linux-hardening@vger.kernel.org, Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , Kashyap Desai , Sumit Saxena , "James E.J. Bottomley" , "Martin K. Petersen" , Nilesh Javali , Andrew Morton , "Kirill A. Shutemov" , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Alexey Dobriyan , Sven Eckelmann , Tadeusz Struk , kernel test robot , Erick Archer , Dmitry Antipov , Ryusuke Konishi , Luc Van Oostenryck , linux-kernel@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org, mpi3mr-linuxdrv.pdl@broadcom.com, GR-QLogic-Storage-Upstream@marvell.com, x86@kernel.org, linux-coco@lists.linux.dev, linux-nilfs@vger.kernel.org Subject: [PATCH 10/10] string.h: Validate memtostr*()/strtomem*() arguments more carefully Date: Thu, 6 Feb 2025 17:00:19 -0800 Message-Id: <20250207010022.749952-10-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250207005832.work.324-kees@kernel.org> References: <20250207005832.work.324-kees@kernel.org> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2779; i=kees@kernel.org; h=from:subject; bh=K/07rfCFA4BfrBoFR8MW3miwLviZUsM4VUjLPRUHQSk=; b=owGbwMvMwCVmps19z/KJym7G02pJDOlLo5WkWqvKtx3a+ezM9LfZXLZVF1S28bTHnSzv5Fyfe SC9+ZxHRykLgxgXg6yYIkuQnXuci8fb9nD3uYowc1iZQIYwcHEKwETmXWJk6GU+ymF/TDzEnnUJ z98paYVBW1b09Ci9/W40l/Hq1ZB9qxkZ/grIVM+9nq/nfq96Owvf5erEL48nZzz9es/+TVJKtu0 EDgA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 Since these functions handle moving between C strings and non-C strings, they should check for the appropriate presence/lack of the nonstring attribute on arguments. Signed-off-by: Kees Cook --- Cc: Andy Shevchenko Cc: linux-hardening@vger.kernel.org --- include/linux/string.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/include/linux/string.h b/include/linux/string.h index fc5ae145bd78..26491a2f8010 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -412,8 +412,10 @@ void memcpy_and_pad(void *dest, size_t dest_len, const void *src, size_t count, */ #define strtomem_pad(dest, src, pad) do { \ const size_t _dest_len = __must_be_byte_array(dest) + \ + __must_be_noncstr(dest) + \ ARRAY_SIZE(dest); \ - const size_t _src_len = __builtin_object_size(src, 1); \ + const size_t _src_len = __must_be_cstr(src) + \ + __builtin_object_size(src, 1); \ \ BUILD_BUG_ON(!__builtin_constant_p(_dest_len) || \ _dest_len == (size_t)-1); \ @@ -436,8 +438,10 @@ void memcpy_and_pad(void *dest, size_t dest_len, const void *src, size_t count, */ #define strtomem(dest, src) do { \ const size_t _dest_len = __must_be_byte_array(dest) + \ + __must_be_noncstr(dest) + \ ARRAY_SIZE(dest); \ - const size_t _src_len = __builtin_object_size(src, 1); \ + const size_t _src_len = __must_be_cstr(src) + \ + __builtin_object_size(src, 1); \ \ BUILD_BUG_ON(!__builtin_constant_p(_dest_len) || \ _dest_len == (size_t)-1); \ @@ -456,8 +460,10 @@ void memcpy_and_pad(void *dest, size_t dest_len, const void *src, size_t count, */ #define memtostr(dest, src) do { \ const size_t _dest_len = __must_be_byte_array(dest) + \ + __must_be_cstr(dest) + \ ARRAY_SIZE(dest); \ - const size_t _src_len = __builtin_object_size(src, 1); \ + const size_t _src_len = __must_be_noncstr(src) + \ + __builtin_object_size(src, 1); \ const size_t _src_chars = strnlen(src, _src_len); \ const size_t _copy_len = min(_dest_len - 1, _src_chars); \ \ @@ -482,8 +488,10 @@ void memcpy_and_pad(void *dest, size_t dest_len, const void *src, size_t count, */ #define memtostr_pad(dest, src) do { \ const size_t _dest_len = __must_be_byte_array(dest) + \ + __must_be_cstr(dest) + \ ARRAY_SIZE(dest); \ - const size_t _src_len = __builtin_object_size(src, 1); \ + const size_t _src_len = __must_be_noncstr(src) + \ + __builtin_object_size(src, 1); \ const size_t _src_chars = strnlen(src, _src_len); \ const size_t _copy_len = min(_dest_len - 1, _src_chars); \ \