From patchwork Thu May 11 06:06:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AceLan Kao X-Patchwork-Id: 1779785 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=gOjtF2bs; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QH1cs5Wgkz20fn for ; Thu, 11 May 2023 16:06:53 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1pwzRu-0005mE-I8; Thu, 11 May 2023 06:06:46 +0000 Received: from mail-pl1-f170.google.com ([209.85.214.170]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1pwzRp-0005hD-Nf for kernel-team@lists.ubuntu.com; Thu, 11 May 2023 06:06:41 +0000 Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1aaed87d8bdso58510255ad.3 for ; Wed, 10 May 2023 23:06:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683785200; x=1686377200; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=QbEb12rBJqSSsG57RTP5Cwu4uEaDyDUHjTPVrZcDfYc=; b=gOjtF2bsOe0R9srPoYyUFSjHJtdAQMp3mbCwvMGNXrdcJFv43Q/rkagnlC2NHXQ5QH aVwjnM2CsmocawoAEFQ1ZmUFOuQ53NaG8WigVE/sFBL6zj7eAsDA/dIZjF/0UoAeUkIp h5QIkVk9FGpnpWEOXHprKcZtrkSvnVLGBjrplDbo2ol+1aCYzUBrbsv2g3daTlj/66Ul b5iPYCK9WQvyLOYodyIQPvve6T0ZdFECBjfa153/tY41OOgw+lxFXjEg3hgjK9dd1wp9 Ja0gP2dLp550fKXP5O5p720SZZfvplP3tVmIsyZqGvqb0vJjHiT7Ca/nUMod5WhI8hDD hh3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683785200; x=1686377200; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QbEb12rBJqSSsG57RTP5Cwu4uEaDyDUHjTPVrZcDfYc=; b=CUpsyQME2RPF3v/FSqDgyNm21Uca+zmAgdEg3Iz+iW7qUsjPNQj3E6bolN71Kk/ETw jSg5ttG1iH/aNTAbYqkPOt624CNOL8N1tRNb5O4df+UIwmrCYxdqC5vzSAZ+piQ1N5I0 UOeIhj6zsc08LaXTVlwTU1w+I0HZs94u/KBtulGiQmNa/XA0bUcRoMf5KO9FyG5FPItl LW3Um/tr6UR+uZQpQoRYTF/e35NmCC+dpR3CmNk7Df3JJR9qtND6onMlcyqt4bQFJdu5 y7gLF1gEYREuPCHY1fFFaVN0b4ZPoa4+wJIe1alwu99N/GbJbSq+cXM87IlDXvTNSX4L Ascg== X-Gm-Message-State: AC+VfDwRgU15pat0MgdZnjEFyFsuPPlMJDiv0cHKf9LoGeL+/nwPakM1 9MvJks6oRtmMUr1+zNW4ei2R+RnGXMEFZw== X-Google-Smtp-Source: ACHHUZ6V6Y6VbPNu69RBaKKUKhMJJF/mQw9lYcWkwYtuesRPgtbsB7cGDQAbiCCTsJTy6KH6cLVbcA== X-Received: by 2002:a17:903:41c3:b0:1a9:6b57:f400 with SMTP id u3-20020a17090341c300b001a96b57f400mr25863930ple.16.1683785199734; Wed, 10 May 2023 23:06:39 -0700 (PDT) Received: from localhost (220-135-95-34.hinet-ip.hinet.net. [220.135.95.34]) by smtp.gmail.com with ESMTPSA id d23-20020a170902729700b001a216d44440sm4892354pll.200.2023.05.10.23.06.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 May 2023 23:06:39 -0700 (PDT) From: AceLan Kao To: kernel-team@lists.ubuntu.com Subject: [PATCH 4/6][SRU][K] scsi: megaraid_sas: Replace one-element array with flexible-array member in MR_PD_CFG_SEQ_NUM_SYNC Date: Thu, 11 May 2023 14:06:26 +0800 Message-Id: <20230511060628.48935-5-acelan.kao@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230511060628.48935-1-acelan.kao@canonical.com> References: <20230511060628.48935-1-acelan.kao@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.214.170; envelope-from=acelan@gmail.com; helo=mail-pl1-f170.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: "Gustavo A. R. Silva" BugLink: https://launchpad.net/bugs/2008157 One-element arrays are deprecated, and we are replacing them with flexible array members instead. So, replace one-element array with flexible-array member in struct MR_PD_CFG_SEQ_NUM_SYNC and refactor the rest of the code accordingly. This helps with the ongoing efforts to tighten the FORTIFY_SOURCE routines on memcpy() and help us make progress towards globally enabling -fstrict-flex-arrays [0]. Link: https://github.com/KSPP/linux/issues/79 Link: https://github.com/KSPP/linux/issues/109 Link: Link: https://reviews.llvm.org/D126864 [0] Link: https://lore.kernel.org/r/78e9261591db072b67fcf49f0216d7046a67ca6d.1660592640.git.gustavoars@kernel.org Reviewed-by: Kees Cook Signed-off-by: Gustavo A. R. Silva Signed-off-by: Martin K. Petersen (cherry picked from commit ee92366a8439856136368a106e6e08ffa8306a1e) Signed-off-by: Chia-Lin Kao (AceLan) --- drivers/scsi/megaraid/megaraid_sas_base.c | 4 ++-- drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +- drivers/scsi/megaraid/megaraid_sas_fusion.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index da3647682dfa..cbd5e54de25b 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -5795,7 +5795,7 @@ megasas_setup_jbod_map(struct megasas_instance *instance) u32 pd_seq_map_sz; pd_seq_map_sz = sizeof(struct MR_PD_CFG_SEQ_NUM_SYNC) + - (sizeof(struct MR_PD_CFG_SEQ) * (MAX_PHYSICAL_DEVICES - 1)); + (sizeof(struct MR_PD_CFG_SEQ) * MAX_PHYSICAL_DEVICES); instance->use_seqnum_jbod_fp = instance->support_seqnum_jbod_fp; @@ -8048,7 +8048,7 @@ static void megasas_detach_one(struct pci_dev *pdev) megasas_release_fusion(instance); pd_seq_map_sz = sizeof(struct MR_PD_CFG_SEQ_NUM_SYNC) + (sizeof(struct MR_PD_CFG_SEQ) * - (MAX_PHYSICAL_DEVICES - 1)); + MAX_PHYSICAL_DEVICES); for (i = 0; i < 2 ; i++) { if (fusion->ld_map[i]) dma_free_coherent(&instance->pdev->dev, diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index 3e9b2b0099c7..b7ab4ecdaaa5 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -1310,7 +1310,7 @@ megasas_sync_pd_seq_num(struct megasas_instance *instance, bool pend) { pd_sync = (void *)fusion->pd_seq_sync[(instance->pd_seq_map_id & 1)]; pd_seq_h = fusion->pd_seq_phys[(instance->pd_seq_map_id & 1)]; - pd_seq_map_sz = struct_size(pd_sync, seq, MAX_PHYSICAL_DEVICES - 1); + pd_seq_map_sz = struct_size(pd_sync, seq, MAX_PHYSICAL_DEVICES); cmd = megasas_get_cmd(instance); if (!cmd) { diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.h b/drivers/scsi/megaraid/megaraid_sas_fusion.h index df92d4369e04..49e9a9048ee7 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.h +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.h @@ -1249,7 +1249,7 @@ struct MR_PD_CFG_SEQ { struct MR_PD_CFG_SEQ_NUM_SYNC { __le32 size; __le32 count; - struct MR_PD_CFG_SEQ seq[1]; + struct MR_PD_CFG_SEQ seq[]; } __packed; /* stream detection */