Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp15582pxb; Tue, 19 Jan 2021 23:25:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJyV9bodQWNFmz5wfLRzu8z4OLcC6VkY4UA0lIuRmvwwIQL5kSCv03hq01yYkQXkvDmiN7zR X-Received: by 2002:a17:906:dfce:: with SMTP id jt14mr4406664ejc.435.1611127533705; Tue, 19 Jan 2021 23:25:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611127533; cv=none; d=google.com; s=arc-20160816; b=0IH7PK60Tihh3XxGYTYkiGOOUAT2OFmNOKL470RsT/U6+00uCmWGERQ5b6YzgFWu9r YJlTm+MwW1zTDRGu4AgqrvWDvBGon9fP0bifsckqRoOf4JB6dIR/HkFXK78I6Z4ZWWBV qKdRmRyb2yhg6OGXm+AQgIIHHiiBh4FQ3ErUFGPVIAq+TbiwP0nxhbIIJ9il2SRTHQDu qxx2OaKlFVii7ptTLVWo+S5Vi4BG3ovt8oDU0Ja6dTo0NC7boDWqoiujrFZA7mDOQL22 2GhG8lZbfP5HrS5KG0kmBTc3jA3DU+o+7cYDIz2vtT88IZkUWS2AddtXxkjg4YWVKPRo iQng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=ZEVfA8ptQcxWcSxcwnnx9xydF/M9XUsFuAprrrlvcuY=; b=P8T+OfYE+dImB4rrCvhiFgJc+ViJTlPK8yfpheNwpCqD10x9WQY2seW0KKFbzPyx1e 5vnqKqiT9eTS9i6wJtn0Pv5SqM38qEUX/CEX51zfuEW6yh7wkgUMvEyKC6F7vZH/2Moa W2Ct90mjRzFFnkj6hwm7TKKUU/7qr0eVxvLwR1rb7mZJ63inJKVi8Cgb9iGbim4WVfeF KporKVjW6jy/OBebkT/YAf6CPCmou8/y7o6uW48jVfUrdLgWneeYf20ppuVi/1svUyrk +Uhct2sIkUI2A+NNQuPkq++OcWGlNK80QTZtfnXngHaIsyrlHVRESEvWSrqyfJUmDOIr BXcw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a14si398851eju.209.2021.01.19.23.25.10; Tue, 19 Jan 2021 23:25:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727381AbhATHXq (ORCPT + 99 others); Wed, 20 Jan 2021 02:23:46 -0500 Received: from out30-130.freemail.mail.aliyun.com ([115.124.30.130]:39294 "EHLO out30-130.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726044AbhATHXg (ORCPT ); Wed, 20 Jan 2021 02:23:36 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R111e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04420;MF=abaci-bugfix@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0UMJDAla_1611127366; Received: from j63c13417.sqa.eu95.tbsite.net(mailfrom:abaci-bugfix@linux.alibaba.com fp:SMTPD_---0UMJDAla_1611127366) by smtp.aliyun-inc.com(127.0.0.1); Wed, 20 Jan 2021 15:22:49 +0800 From: Jiapeng Zhong To: njavali@marvell.com Cc: mrangankar@marvell.com, GR-QLogic-Storage-Upstream@marvell.com, jejb@linux.ibm.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Jiapeng Zhong Subject: [PATCH] drivers/scsi/qla4xxx: use scnprintf() instead of snprintf() Date: Wed, 20 Jan 2021 15:22:45 +0800 Message-Id: <1611127365-45929-1-git-send-email-abaci-bugfix@linux.alibaba.com> X-Mailer: git-send-email 1.8.3.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix the following coccicheck warning: ./drivers/scsi/qla4xxx/ql4_attr.c: WARNING: use scnprintf or sprintf The snprintf() function returns the number of characters which would have been printed if there were enough space, but the scnprintf() returns the number of characters which were actually printed. If the buffer is not large enough, then using snprintf() would result in a read overflow and an information leak. Reported-by: Abaci Robot Signed-off-by: Jiapeng Zhong --- drivers/scsi/qla4xxx/ql4_attr.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_attr.c b/drivers/scsi/qla4xxx/ql4_attr.c index ec43528..1a16017 100644 --- a/drivers/scsi/qla4xxx/ql4_attr.c +++ b/drivers/scsi/qla4xxx/ql4_attr.c @@ -170,7 +170,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->serial_number); + return scnprintf(buf, PAGE_SIZE, "%s\n", ha->serial_number); } static ssize_t @@ -178,7 +178,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major, + return scnprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major, ha->fw_info.iscsi_minor); } @@ -187,7 +187,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n", + return scnprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n", ha->fw_info.bootload_major, ha->fw_info.bootload_minor, ha->fw_info.bootload_patch, ha->fw_info.bootload_build); } @@ -197,7 +197,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "0x%08X\n", ha->board_id); + return scnprintf(buf, PAGE_SIZE, "0x%08X\n", ha->board_id); } static ssize_t @@ -207,7 +207,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); qla4xxx_get_firmware_state(ha); - return snprintf(buf, PAGE_SIZE, "0x%08X%8X\n", ha->firmware_state, + return scnprintf(buf, PAGE_SIZE, "0x%08X%8X\n", ha->firmware_state, ha->addl_fw_state); } @@ -220,7 +220,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_cnt); + return scnprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_cnt); } static ssize_t @@ -232,7 +232,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_num); + return scnprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_num); } static ssize_t @@ -244,7 +244,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->iscsi_pci_func_cnt); + return scnprintf(buf, PAGE_SIZE, "0x%04X\n", ha->iscsi_pci_func_cnt); } static ssize_t @@ -253,7 +253,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->model_name); + return scnprintf(buf, PAGE_SIZE, "%s\n", ha->model_name); } static ssize_t @@ -261,7 +261,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s %s\n", ha->fw_info.fw_build_date, + return scnprintf(buf, PAGE_SIZE, "%s %s\n", ha->fw_info.fw_build_date, ha->fw_info.fw_build_time); } @@ -309,7 +309,7 @@ void qla4_8xxx_free_sysfs_attr(struct scsi_qla_host *ha) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); qla4xxx_about_firmware(ha); - return snprintf(buf, PAGE_SIZE, "%u.%u secs\n", ha->fw_uptime_secs, + return scnprintf(buf, PAGE_SIZE, "%u.%u secs\n", ha->fw_uptime_secs, ha->fw_uptime_msecs); } -- 1.8.3.1