Linux-SCSI Archive on lore.kernel.org
 help / color / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: jejb@linux.ibm.com, martin.petersen@oracle.com
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	Lee Jones <lee.jones@linaro.org>,
	Adaptec OEM Raid Solutions <aacraid@microsemi.com>,
	ipslinux@adaptec.com, Christoph Hellwig <hch@infradead.org>
Subject: [PATCH 13/40] scsi: ips: Convert strnlen() to memcpy() since result should not be NUL terminated
Date: Thu, 23 Jul 2020 13:24:19 +0100
Message-ID: <20200723122446.1329773-14-lee.jones@linaro.org> (raw)
In-Reply-To: <20200723122446.1329773-1-lee.jones@linaro.org>

Fixes the following W=1 kernel build warning(s):

 In file included from arch/arm/include/asm/io.h:23,
 from drivers/scsi/ips.c:164:
 In function ‘strncpy’,
 inlined from ‘ips_send_cmd’ at drivers/scsi/ips.c:3522:6:
 include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output
 truncated before terminating nul cop ying 4 bytes from a string of the same length [-Wstringop-truncation]
 297 | #define __underlying_strncpy __builtin_strncpy
 | ^
 include/linux/string.h:307:9: note: in expansion of macro ‘__underlying_strncpy’
 307 | return __underlying_strncpy(p, q, size);
 | ^~~~~~~~~~~~~~~~~~~~
 NB: Lots of these - snipping for brevity

Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
Cc: ipslinux@adaptec.com
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/scsi/ips.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index ec85ccce96647..2e6077c502fc7 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -2239,7 +2239,7 @@ ips_get_bios_version(ips_ha_t * ha, int intr)
 	major = 0;
 	minor = 0;
 
-	strncpy(ha->bios_version, "       ?", 8);
+	memcpy(ha->bios_version, "       ?", 8);
 
 	if (ha->pcidev->device == IPS_DEVICEID_COPPERHEAD) {
 		if (IPS_USE_MEMIO(ha)) {
@@ -3515,11 +3515,11 @@ ips_send_cmd(ips_ha_t * ha, ips_scb_t * scb)
 					inquiry.Flags[1] =
 					    IPS_SCSI_INQ_WBus16 |
 					    IPS_SCSI_INQ_Sync;
-					strncpy(inquiry.VendorId, "IBM     ",
+					memcpy(inquiry.VendorId, "IBM     ",
 						8);
-					strncpy(inquiry.ProductId,
+					memcpy(inquiry.ProductId,
 						"SERVERAID       ", 16);
-					strncpy(inquiry.ProductRevisionLevel,
+					memcpy(inquiry.ProductRevisionLevel,
 						"1.00", 4);
 
 					ips_scmd_buf_write(scb->scsi_cmd,
@@ -4036,9 +4036,9 @@ ips_inquiry(ips_ha_t * ha, ips_scb_t * scb)
 	inquiry.Flags[0] = IPS_SCSI_INQ_Address16;
 	inquiry.Flags[1] =
 	    IPS_SCSI_INQ_WBus16 | IPS_SCSI_INQ_Sync | IPS_SCSI_INQ_CmdQue;
-	strncpy(inquiry.VendorId, "IBM     ", 8);
-	strncpy(inquiry.ProductId, "SERVERAID       ", 16);
-	strncpy(inquiry.ProductRevisionLevel, "1.00", 4);
+	memcpy(inquiry.VendorId, "IBM     ", 8);
+	memcpy(inquiry.ProductId, "SERVERAID       ", 16);
+	memcpy(inquiry.ProductRevisionLevel, "1.00", 4);
 
 	ips_scmd_buf_write(scb->scsi_cmd, &inquiry, sizeof (inquiry));
 
@@ -5620,10 +5620,10 @@ ips_write_driver_status(ips_ha_t * ha, int intr)
 	/* change values (as needed) */
 	ha->nvram->operating_system = IPS_OS_LINUX;
 	ha->nvram->adapter_type = ha->ad_type;
-	strncpy((char *) ha->nvram->driver_high, IPS_VERSION_HIGH, 4);
-	strncpy((char *) ha->nvram->driver_low, IPS_VERSION_LOW, 4);
-	strncpy((char *) ha->nvram->bios_high, ha->bios_version, 4);
-	strncpy((char *) ha->nvram->bios_low, ha->bios_version + 4, 4);
+	memcpy((char *) ha->nvram->driver_high, IPS_VERSION_HIGH, 4);
+	memcpy((char *) ha->nvram->driver_low, IPS_VERSION_LOW, 4);
+	memcpy((char *) ha->nvram->bios_high, ha->bios_version, 4);
+	memcpy((char *) ha->nvram->bios_low, ha->bios_version + 4, 4);
 
 	ha->nvram->versioning = 0;	/* Indicate the Driver Does Not Support Versioning */
 
-- 
2.25.1


  parent reply index

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-23 12:24 [PATCH 00/40] Set 5: Penultimate set of SCSI related W=1 warnings Lee Jones
2020-07-23 12:24 ` [PATCH 01/40] scsi: lpfc: lpfc_els: Fix some function parameter descriptions Lee Jones
2020-07-23 12:24 ` [PATCH 02/40] scsi: lpfc: lpfc_hbadisc: Fix kerneldoc parameter formatting/misnaming/missing issues Lee Jones
2020-07-23 12:24 ` [PATCH 03/40] scsi: ufs: ufs-qcom: Demote nonconformant kerneldoc headers Lee Jones
2020-07-23 12:24 ` [PATCH 04/40] scsi: bnx2i: bnx2i_init: Fix parameter misnaming in function header Lee Jones
2020-07-23 12:24 ` [PATCH 05/40] scsi: ufs: ufs-exynos: Make stubs 'static inline' Lee Jones
2020-07-23 12:24 ` [PATCH 06/40] scsi: ufs: ufs-exynos: Demote seemingly unintentional kerneldoc header Lee Jones
2020-07-23 12:24 ` [PATCH 07/40] scsi: bfa: bfa_port: Staticify local functions Lee Jones
2020-07-23 12:24 ` [PATCH 08/40] scsi: bnx2i: bnx2i_sysfs: Add missing descriptions for 'attr' parameter Lee Jones
2020-07-23 12:24 ` [PATCH 09/40] scsi: bfa: bfa_fcpim: Remove set but unused variable 'rp' Lee Jones
2020-07-23 12:24 ` [PATCH 10/40] scsi: bfa: bfa_fcpim: Demote seemingly unintentional kerneldoc header Lee Jones
2020-07-23 12:24 ` [PATCH 11/40] scsi: qedi: qedi_main: Remove 2 set but unused variables Lee Jones
2020-07-23 12:24 ` [PATCH 12/40] scsi: ips: Remove some " Lee Jones
2020-07-23 12:24 ` Lee Jones [this message]
2020-07-23 12:24 ` [PATCH 14/40] scsi: qla4xxx: ql4_83xx: Remove set but unused variable 'status' Lee Jones
2020-07-23 12:24 ` [PATCH 15/40] scsi: lpfc: lpfc_init: Use __printf() format notation Lee Jones
2020-07-23 12:24 ` [PATCH 16/40] scsi: lpfc: lpfc_init: Add and rename a whole bunch of function parameter descriptions Lee Jones
2020-07-23 12:24 ` [PATCH 17/40] scsi: qla4xxx: ql4_bsg: Rename " Lee Jones
2020-07-23 12:24 ` [PATCH 18/40] scsi: lpfc: lpfc_mbox: Fix a bunch of kerneldoc misdemeanours Lee Jones
2020-07-23 12:24 ` [PATCH 19/40] scsi: lpfc: lpfc_nportdisc: Add description for lpfc_release_rpi()'s 'ndlpl param Lee Jones
2020-07-23 12:24 ` [PATCH 20/40] scsi: bfa: bfa_ioc: Remove a few unused variables 'pgoff' and 't' Lee Jones
2020-07-23 12:24 ` [PATCH 21/40] scsi: csiostor: csio_hw: Mark known unused variable as __always_unused Lee Jones
2020-07-23 12:24 ` [PATCH 22/40] scsi: csiostor: csio_hw_t5: Remove 2 unused variables {mc,edc}_bist_status_rdata_reg Lee Jones
2020-07-23 12:24 ` [PATCH 23/40] scsi: bfa: bfa_ioc: Staticify non-external functions Lee Jones
2020-07-23 12:24 ` [PATCH 24/40] scsi: csiostor: csio_rnode: Add missing description for csio_rnode_fwevt_handler()'s 'fwevt' param Lee Jones
2020-07-23 12:24 ` [PATCH 25/40] scsi: bfa: bfa_ioc_ct: Demote non-compliant kerneldoc headers to standard comments Lee Jones
2020-07-23 12:24 ` [PATCH 26/40] scsi: mvsas: mv_init: Place 'core_nr' inside correct clause Lee Jones
2020-07-23 12:24 ` [PATCH 27/40] scsi: bfa: bfa_fcs_rport: Remove unused variable 'adisc' Lee Jones
2020-07-23 12:24 ` [PATCH 28/40] scsi: bnx2i: bnx2i_hwi: Fix a whole host of kerneldoc issues Lee Jones
2020-07-23 12:24 ` [PATCH 29/40] scsi: bnx2i: bnx2i_iscsi: Add, remove and edit some function parameter descriptions Lee Jones
2020-07-23 12:24 ` [PATCH 30/40] scsi: be2iscsi: be_iscsi: Correct misdocumentation of function param 'ep' Lee Jones
2020-07-23 12:24 ` [PATCH 31/40] scsi: qedi: qedi_fw: Remove set but unused variable 'tmp' Lee Jones
2020-07-23 12:24 ` [PATCH 32/40] scsi: esas2r: esas2r: Add braces around the one-line if() Lee Jones
2020-07-23 12:24 ` [PATCH 33/40] scsi: bfa: bfa_ioc: Demote non-kerneldoc headers down to standard comment blocks Lee Jones
2020-07-23 12:24 ` [PATCH 34/40] scsi: bfa: bfa_core: Demote seemingly unintentional kerneldoc header Lee Jones
2020-07-23 12:24 ` [PATCH 35/40] scsi: bfa: bfa_svc: " Lee Jones
2020-07-23 12:24 ` [PATCH 36/40] scsi: qedi: qedi_main: " Lee Jones
2020-07-23 12:24 ` [PATCH 37/40] scsi: qedi: qedi_iscsi: Staticify non-external function 'qedi_get_iscsi_error' Lee Jones
2020-07-23 12:24 ` [PATCH 38/40] scsi: bfa: bfa_ioc: Ensure a blank line precedes next function/header Lee Jones
2020-07-23 12:24 ` [PATCH 39/40] scsi: bnx2i: bnx2i_iscsi: Add parameter description and rename another Lee Jones
2020-07-23 12:24 ` [PATCH 40/40] scsi: esas2r: esas2r_log: Demote a few non-conformant kerneldoc headers Lee Jones
2020-07-25  2:58 ` [PATCH 00/40] Set 5: Penultimate set of SCSI related W=1 warnings Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200723122446.1329773-14-lee.jones@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=aacraid@microsemi.com \
    --cc=hch@infradead.org \
    --cc=ipslinux@adaptec.com \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-SCSI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-scsi/0 linux-scsi/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-scsi linux-scsi/ https://lore.kernel.org/linux-scsi \
		linux-scsi@vger.kernel.org
	public-inbox-index linux-scsi

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-scsi


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git