linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / 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>,
	support@areca.com.tw
Subject: [PATCH 16/30] scsi: arcmsr: arcmsr_hba: Make room for the trailing NULL, even if it is over-written
Date: Wed,  8 Jul 2020 13:02:07 +0100	[thread overview]
Message-ID: <20200708120221.3386672-17-lee.jones@linaro.org> (raw)
In-Reply-To: <20200708120221.3386672-1-lee.jones@linaro.org>

Ensure we do not copy the final one (which is not overwitten).

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

 In file included from include/linux/bitmap.h:9,
 from include/linux/nodemask.h:95,
 from include/linux/mmzone.h:17,
 from include/linux/gfp.h:6,
 from include/linux/umh.h:4,
 from include/linux/kmod.h:9,
 from include/linux/module.h:16,
 from drivers/scsi/arcmsr/arcmsr_hba.c:47:
 In function ‘strncpy’,
 inlined from ‘arcmsr_handle_virtual_command’ at drivers/scsi/arcmsr/arcmsr_hba.c:3055:3:
 include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 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);
 | ^~~~~~~~~~~~~~~~~~~~
 In function ‘strncpy’,
 inlined from ‘arcmsr_handle_virtual_command’ at drivers/scsi/arcmsr/arcmsr_hba.c:3053:3:
 include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 16 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);
 | ^~~~~~~~~~~~~~~~~~~~
 In function ‘strncpy’,
 inlined from ‘arcmsr_handle_virtual_command’ at drivers/scsi/arcmsr/arcmsr_hba.c:3051:3:
 include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 8 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);
 | ^~~~~~~~~~~~~~~~~~~~

Cc: support@areca.com.tw
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/scsi/arcmsr/arcmsr_hba.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index 1c252934409c7..5feed135eb26c 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -3031,7 +3031,7 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
 {
 	switch (cmd->cmnd[0]) {
 	case INQUIRY: {
-		unsigned char inqdata[36];
+		unsigned char inqdata[37];
 		char *buffer;
 		struct scatterlist *sg;
 
@@ -3048,16 +3048,16 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb,
 		/* ISO, ECMA, & ANSI versions */
 		inqdata[4] = 31;
 		/* length of additional data */
-		strncpy(&inqdata[8], "Areca   ", 8);
+		strncpy(&inqdata[8], "Areca   ", 9);
 		/* Vendor Identification */
-		strncpy(&inqdata[16], "RAID controller ", 16);
+		strncpy(&inqdata[16], "RAID controller ", 17);
 		/* Product Identification */
-		strncpy(&inqdata[32], "R001", 4); /* Product Revision */
+		strncpy(&inqdata[32], "R001", 5); /* Product Revision */
 
 		sg = scsi_sglist(cmd);
 		buffer = kmap_atomic(sg_page(sg)) + sg->offset;
 
-		memcpy(buffer, inqdata, sizeof(inqdata));
+		memcpy(buffer, inqdata, sizeof(inqdata) - 1);
 		sg = scsi_sglist(cmd);
 		kunmap_atomic(buffer - sg->offset);
 
-- 
2.25.1


  parent reply	other threads:[~2020-07-08 12:04 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-08 12:01 [PATCH 00/30] Fix a bunch more SCSI related W=1 warnings Lee Jones
2020-07-08 12:01 ` [PATCH 01/30] scsi: libfc: fc_exch: Supply some missing kerneldoc struct/function attributes/params Lee Jones
2020-07-08 12:01 ` [PATCH 02/30] include: scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions Lee Jones
2020-07-08 12:01 ` [PATCH 03/30] scsi: libfc: fc_disc: trivial: Fix spelling mistake of 'discovery' Lee Jones
2020-07-08 12:04   ` Johannes Thumshirn
2020-07-08 12:12     ` Lee Jones
2020-07-08 12:14       ` Johannes Thumshirn
2020-07-08 12:01 ` [PATCH 04/30] scsi: fcoe: fcoe: Fix various kernel-doc infringements Lee Jones
2020-07-08 12:01 ` [PATCH 05/30] scsi: fcoe: fcoe_ctlr: Fix a myriad of documentation issues Lee Jones
2020-07-08 12:01 ` [PATCH 06/30] scsi: fcoe: fcoe_transport: Correct some kernel-doc issues Lee Jones
2020-07-08 12:01 ` [PATCH 07/30] scsi: bnx2fc: bnx2fc_fcoe: Repair a range of kerneldoc issues Lee Jones
2020-07-08 12:01 ` [PATCH 08/30] scsi: qedf: qedf_main: Demote obvious misuse of kerneldoc to standard comment blocks Lee Jones
2020-07-08 12:02 ` [PATCH 09/30] scsi: qedf: qedf_main: Remove set but not checked variable 'tmp' Lee Jones
2020-07-08 12:02 ` [PATCH 10/30] scsi: libfc: fc_lport: Repair function parameter documentation Lee Jones
2020-07-08 12:02 ` [PATCH 11/30] scsi: libfc: fc_rport: Fix a couple of misdocumented function parameters Lee Jones
2020-07-08 12:15   ` Johannes Thumshirn
2020-07-08 12:23     ` Lee Jones
2020-07-08 12:02 ` [PATCH 12/30] scsi: libfc: fc_fcp: Provide missing and repair existing function documentation Lee Jones
2020-07-08 12:02 ` [PATCH 13/30] scsi: libfc: fc_rport: Fix bitrotted function parameter and copy/paste error Lee Jones
2020-07-08 12:17   ` Johannes Thumshirn
2020-07-08 12:24     ` Lee Jones
2020-07-08 12:25       ` Lee Jones
2020-07-08 12:02 ` [PATCH 14/30] scsi: bnx2fc: bnx2fc_hwi: Fix a couple of bitrotted function documentation headers Lee Jones
2020-07-08 12:02 ` [PATCH 15/30] scsi: arcmsr: arcmsr_hba: Remove some set but unused variables Lee Jones
2020-07-08 12:02 ` Lee Jones [this message]
2020-07-15 20:26   ` [PATCH 16/30] scsi: arcmsr: arcmsr_hba: Make room for the trailing NULL, even if it is over-written Martin K. Petersen
2020-07-16  7:59     ` Lee Jones
2020-07-08 12:02 ` [PATCH 17/30] scsi: qedf: qedf_io: Remove a whole host of unused variables Lee Jones
2020-07-08 12:02 ` [PATCH 18/30] scsi: bnx2fc: bnx2fc_tgt: Demote obvious misuse of kerneldoc to standard comment blocks Lee Jones
2020-07-08 12:02 ` [PATCH 19/30] scsi: aic7xxx: aic7xxx_osm: Remove unused variable 'tinfo' Lee Jones
2020-07-08 12:02 ` [PATCH 20/30] scsi: aic7xxx: aic7xxx_osm: Remove unused variable 'ahc' Lee Jones
2020-07-08 12:02 ` [PATCH 21/30] scsi: aic7xxx: aic7xxx_osm: Remove unused variable 'targ' Lee Jones
2020-07-08 12:02 ` [PATCH 22/30] scsi: aic7xxx: aic7xxx_osm: Fix 'amount_xferred' set but not used issue Lee Jones
2020-07-08 12:02 ` [PATCH 23/30] scsi: qedf: qedf_debugfs: Demote obvious misuse of kerneldoc to standard comment blocks Lee Jones
2020-07-08 12:02 ` [PATCH 24/30] scsi: aacraid: linit: Provide suggested curly braces around empty body of if() Lee Jones
2020-07-08 12:02 ` [PATCH 25/30] scsi: aacraid: linit: Fix a couple of small kerneldoc issues Lee Jones
2020-07-08 12:02 ` [PATCH 26/30] scsi: aic94xx: aic94xx_init: Demote seemingly unintentional kerneldoc header Lee Jones
2020-07-08 12:02 ` [PATCH 27/30] scsi: pm8001: pm8001_init: Demote obvious misuse of kerneldoc and update others Lee Jones
2020-07-08 12:17   ` Jinpu Wang
2020-07-08 12:02 ` [PATCH 28/30] scsi: aic94xx: aic94xx_hwi: Repair kerneldoc formatting error and remove extra param Lee Jones
2020-07-08 12:02 ` [PATCH 29/30] scsi: aacraid: aachba: Fix a bunch of function doc formatting errors Lee Jones
2020-07-08 12:02 ` [PATCH 30/30] scsi: qla4xxx: ql4_init: Provide a missing function param description and fix formatting Lee Jones

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=20200708120221.3386672-17-lee.jones@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=support@areca.com.tw \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).