From patchwork Wed May 17 21:22:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gustavo A. R. Silva" X-Patchwork-Id: 95556 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp61275vqo; Wed, 17 May 2023 14:25:05 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6sLVXE8oS09YzhUId4mTfZxmttO7RAc10CCTMiTPrR1mJx/zSPToSFGH4hc2qAMPILuvbH X-Received: by 2002:a05:6a20:a120:b0:104:50ce:297d with SMTP id q32-20020a056a20a12000b0010450ce297dmr26570301pzk.40.1684358705440; Wed, 17 May 2023 14:25:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684358705; cv=none; d=google.com; s=arc-20160816; b=CakkDfMvLFdaoLZDX9BXrnt725S/1VdcqlLHPtmvXqYDSymRhRbytDz18IVty8uIm8 AJ8ghjWSrnz7zkKug94TTHVOfNJ+5CMB6hJKII7FHmv3XlXA3M9Ma+I7tqIjZeiiPZlB WNtO2oTGgrP1IKfzKWP6lgqkmTjDVcDl4uTqjGJ1QaJhEV16luPrqQfgKZgkHtgiACAg aTzy2cZ7UCfBCGuJWXmRsnZdaHfRrtmOz0dZe7s3INEczjRCqhx4/pVe/nd8z/At9tXf Qjt7eKZg/+unP3/e7x4wuGfDNOZN4QICvCEHHNfdI/ZFVkwUE21hK6jd6Zmw6dzhowlG 0VWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=hD2hzxap+H7EK3NmqyEiuwg5Q+i5WIgHkU16MTuhZFc=; b=p5Ms9mlUxJbgJPaIxT6klRLq9dva+F6SwqY8p1Feunpfq9YTVU0fLcsIXT33wiTTi6 YcYj5yo/cmuLNL+K5ShmzSi3pJrjUYvtrj0m/OgbDJlG3VS+wz3uEfIEt3F9QY7FDe4U LldlSXl86DJVrQHJdj8P+2x7TgU4bBCZhiUfYzGHLV3I1XX6THiKMlxnfVVQJy6ValAB nKMG8kceYFitOaqbVc6/i8Xc04p2lAE8fGwOZGiCpuEj26ypV4XLJKJXqkBvirrRTnxI D8XrRL/mRhEIRSrmzWx6l8zYl9/Q1RqnaU6YWiuwRNg2JN4QibnjjdHcjhf2l4u+P0tD sORw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="bo61x4//"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a71-20020a63904a000000b005303db0ebebsi22039805pge.313.2023.05.17.14.24.48; Wed, 17 May 2023 14:25:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="bo61x4//"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229961AbjEQVWa (ORCPT + 99 others); Wed, 17 May 2023 17:22:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230061AbjEQVW0 (ORCPT ); Wed, 17 May 2023 17:22:26 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BA81A24B; Wed, 17 May 2023 14:22:00 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7DE5264B62; Wed, 17 May 2023 21:21:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D00CEC4339C; Wed, 17 May 2023 21:21:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684358516; bh=XvBexFj2rQW5zTYaB8rdYO9gB1RQcrsqk8ElYdEfk6k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bo61x4//DPXMD6MwNBu/U4gPZFZiPY4VHbxUBWqvfzucpmlBJ3my9PPVDKfUBVPwt 7amwvotIJ/q2SahHGqw35NxHwIXP2SOcL1CK80F/GjbdtgnWmN5N2Y6zF8FyXhp4o9 d8ahE2PaLgnYWKXRtoDUuMQxM1bqUM2ZLs/7LrWq7TgNbyl4WXvL79WPujjE3JDcA4 8gNnS/5Q/9V4j0ZDeKSKVXSoGioDeYdDJvYtWqDkfUHobg+ThBVE/KjNNNrBKM5ssD lid+JdiudVC0LTXyHKx1KNs0RiHsg8Jy6NIosGWXOdkbIbFsk5uPoOtDYnD5IfJPov 9zFZ8npUYJnYQ== Date: Wed, 17 May 2023 15:22:45 -0600 From: "Gustavo A. R. Silva" To: "Martin K. Petersen" , "James E.J. Bottomley" , Dick Kennedy , James Smart Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH 1/2][next] scsi: lpfc: Replace one-element array with flexible-array member Message-ID: <6c6dcab88524c14c47fd06b9332bd96162656db5.1684358315.git.gustavoars@kernel.org> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766178089547887264?= X-GMAIL-MSGID: =?utf-8?q?1766178113871311461?= One-element arrays are deprecated, and we are replacing them with flexible array members instead. So, replace one-element arrays with flexible-array members in a couple of structures, 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=3 [1]. This results in no differences in binary output. Link: https://github.com/KSPP/linux/issues/79 Link: https://github.com/KSPP/linux/issues/295 Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1] Signed-off-by: Gustavo A. R. Silva Reviewed-by: Kees Cook --- drivers/scsi/lpfc/lpfc_ct.c | 6 ++++-- drivers/scsi/lpfc/lpfc_hw.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_ct.c b/drivers/scsi/lpfc/lpfc_ct.c index f3bdcebe67f5..e880d127d7f5 100644 --- a/drivers/scsi/lpfc/lpfc_ct.c +++ b/drivers/scsi/lpfc/lpfc_ct.c @@ -3748,7 +3748,8 @@ lpfc_vmid_cmd(struct lpfc_vport *vport, rap->obj[0].entity_id_len = vmid->vmid_len; memcpy(rap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len); size = RAPP_IDENT_OFFSET + - sizeof(struct lpfc_vmid_rapp_ident_list); + sizeof(struct lpfc_vmid_rapp_ident_list) + + sizeof(struct entity_id_object); retry = 1; break; @@ -3767,7 +3768,8 @@ lpfc_vmid_cmd(struct lpfc_vport *vport, dap->obj[0].entity_id_len = vmid->vmid_len; memcpy(dap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len); size = DAPP_IDENT_OFFSET + - sizeof(struct lpfc_vmid_dapp_ident_list); + sizeof(struct lpfc_vmid_dapp_ident_list) + + sizeof(struct entity_id_object); write_lock(&vport->vmid_lock); vmid->flag &= ~LPFC_VMID_REGISTERED; write_unlock(&vport->vmid_lock); diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index 19b2d2754f32..b2123ec4df88 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h @@ -1415,12 +1415,12 @@ struct app_id_object { struct lpfc_vmid_rapp_ident_list { uint32_t no_of_objects; - struct entity_id_object obj[1]; + struct entity_id_object obj[]; }; struct lpfc_vmid_dapp_ident_list { uint32_t no_of_objects; - struct entity_id_object obj[1]; + struct entity_id_object obj[]; }; #define GALLAPPIA_ID_LAST 0x80 From patchwork Wed May 17 21:23:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gustavo A. R. Silva" X-Patchwork-Id: 95586 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp89066vqo; Wed, 17 May 2023 15:25:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7H11HRYLMtPL2eVypwnv5Fsrt3sN8uBPFCXVOQYMUM8cDMHpRoZD4wMXcdhqlhA24mpubG X-Received: by 2002:a17:902:d504:b0:1ab:7c4:eb24 with SMTP id b4-20020a170902d50400b001ab07c4eb24mr456885plg.22.1684362315556; Wed, 17 May 2023 15:25:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684362315; cv=none; d=google.com; s=arc-20160816; b=DhbO52CjNQ/EwlQF+avFdshwcDIzZcMk15ARUMzWw5eYuLWcQU7RdBeptPk6XC8yZf gVtB4UbzpVcl6b2UBDuvE3zZqtm7+5m5BC7fKuqumc4PnLyWQvsCFUUrJ9u5mmET+W9B UVYVtu1AHgCfmRJ/1bveT6NgYhhEfKwPv65Gr7hhUlM204PUcF3Hz3v5C/BtrljchuPG L1lKS9meJi26XfI/ThHaozz+KQJFf8Vkpv8RQh1Yv9yAnC9OI2CMcRHQGeUvMjd93eu1 nQajGV2pHmaVcrp2/f2z6Yb3MLvFORq1mh/w2gYmcBhtDhdmGNazur2IaoFZMqBU1TY9 7ePg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=gPllLR/t94XnregBJTBnChlPe36zgLS6gqD44Np8rjQ=; b=hW8TfHRe74SJoBcAFkPpUmm92eK9c6LmlrGZuHPOaw1UgVHT3HK4CL1rm1OYoISveb hdvJ3zNlOyjd5jxWSt9rv4aQjUvF5QvnHHIm8HLOej/5/GXk/H+pIELeTlYbc7ktMn96 7JeT+n+drqTA0WSx+mPss5uP+nJfNHw4jropoeDGQ6F6jvDs68kxuWjcVz+t9fBkXoFj 0T9kUTlB4xKHLDeznJLgrRH1BU2FvgMKrmfNY5v88ftMUc32rWViuCCf8Vr7Z4wMl1v5 aq+wbLqAFNQdoR9o02uGCXHcFnIClRoiWiU3PA7EdqkQ907YHWI9DyC2aqe4ZihMjO6+ 00TA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Yc8dU4J0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o2-20020a170902778200b001a2445dd0fasi20710071pll.381.2023.05.17.15.25.00; Wed, 17 May 2023 15:25:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Yc8dU4J0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230127AbjEQVWr (ORCPT + 99 others); Wed, 17 May 2023 17:22:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230123AbjEQVWm (ORCPT ); Wed, 17 May 2023 17:22:42 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E91BE93C5; Wed, 17 May 2023 14:22:20 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2926463F50; Wed, 17 May 2023 21:22:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96D3FC433D2; Wed, 17 May 2023 21:22:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684358531; bh=+UBNma6+QwyfRTTsSbQ+zHDD3QPnoGuxziYDj6m1XuY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Yc8dU4J0tcVwCGLSjyi8RGTiECnCafsxjGaY8F+XnNdSSERYxet03Roajsp7Q28/B /bzFtVxGzCuLFM3DWHQ4NSZUcmpSUBkE/RPkhLHsczLNARSYJHXuCiqWa8U0PUmyOl j0Vs8lcpZG0kkSl0fC2TM8kEsV0tzLpWOJQnI8m0grj9Ln+IVotdDkOM8aN82Knz3y +FY1HAXD/98BeGiVmxs82ploHDxgyWw+l+5UFxW1fkalbMCrOv1NKoIks0GzcYqS3o dWO22EB5vtHBZk0PO1NYVub58HII6h03jc7y+rzeufa0yJtUA97PbS8Q/CedTaqJ6N nCKTX3NbHKaAw== Date: Wed, 17 May 2023 15:23:01 -0600 From: "Gustavo A. R. Silva" To: "Martin K. Petersen" , "James E.J. Bottomley" , Dick Kennedy , James Smart Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH 2/2][next] scsi: lpfc: Use struct_size() helper Message-ID: <99e06733f5f35c6cd62e05f530b93107bfd03362.1684358315.git.gustavoars@kernel.org> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766181899494706051?= X-GMAIL-MSGID: =?utf-8?q?1766181899494706051?= Prefer struct_size() over open-coded versions of idiom: sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count where count is the max number of items the flexible array is supposed to contain. Link: https://github.com/KSPP/linux/issues/160 Signed-off-by: Gustavo A. R. Silva --- drivers/scsi/lpfc/lpfc_ct.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_ct.c b/drivers/scsi/lpfc/lpfc_ct.c index e880d127d7f5..3b95c56023bf 100644 --- a/drivers/scsi/lpfc/lpfc_ct.c +++ b/drivers/scsi/lpfc/lpfc_ct.c @@ -3748,8 +3748,7 @@ lpfc_vmid_cmd(struct lpfc_vport *vport, rap->obj[0].entity_id_len = vmid->vmid_len; memcpy(rap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len); size = RAPP_IDENT_OFFSET + - sizeof(struct lpfc_vmid_rapp_ident_list) + - sizeof(struct entity_id_object); + struct_size(rap, obj, rap->no_of_objects); retry = 1; break; @@ -3768,8 +3767,7 @@ lpfc_vmid_cmd(struct lpfc_vport *vport, dap->obj[0].entity_id_len = vmid->vmid_len; memcpy(dap->obj[0].entity_id, vmid->host_vmid, vmid->vmid_len); size = DAPP_IDENT_OFFSET + - sizeof(struct lpfc_vmid_dapp_ident_list) + - sizeof(struct entity_id_object); + struct_size(dap, obj, dap->no_of_objects); write_lock(&vport->vmid_lock); vmid->flag &= ~LPFC_VMID_REGISTERED; write_unlock(&vport->vmid_lock);