From patchwork Wed Jun 28 17:56:31 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: 113989 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9110225vqr; Wed, 28 Jun 2023 11:02:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6fKkdOp99dGEuAhZUohwgoq5n3NxqN0LeXQ8XZehcg6fKUM91lIqxQPKG4ewhXHmyzAjGc X-Received: by 2002:a05:6a00:338b:b0:681:ed30:32e5 with SMTP id cm11-20020a056a00338b00b00681ed3032e5mr1290605pfb.0.1687975350213; Wed, 28 Jun 2023 11:02:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687975350; cv=none; d=google.com; s=arc-20160816; b=pO9p0oY/6NEg6KYMZLy8vsXoCNOubv7nHkM7fPk5p6fIHtUrWOgMPr+AKoNYnScgVx K9HVqYHmlPp2xGIaZjJ2788haYKOCYJTkuhV2HQvNkNda+7q0PxV55q8UJzAln4k5NvI DjqhRhdN/c3mZvqh0hB0XiAM/UuxoE3VoDsYSEh90wA3JqZduO/BNlZ0zZruj81RGlQV 8ta6c2rj9zaE0K9ZVEgThiFWbtWxaisFhNoNgjkyo7tMsb9ExWBSTwZYhlC16aKtBZYj RGfyPL5n8Z3iv/DKgw3UgLIVZcSsR+6Mt4ezJIvzPoTIeUwbh4pZuczBzVbpuqRvfDZs Whmw== 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=v9zD4lmo0c+jj+xheMk5RGeuLZZtPZ5jswOCjhDyw1I=; fh=2ET6nL/wlcZ4gumDTTusm6ilw662ytnheFDwMTsLDv4=; b=Mo+LL4w2we0J1fyUe5zkOKjTjI+jaoYhe5ukjxUTqT+BJqeq0YnWW+0JIAo0wOHg0S ct0pWcqjmr8OslFNtIeiDf6x6vYU9E2iVZGbTzn7UsOfaqZ64ZfyDBOE/Xwxjtqu8Mzv T6tN099nW9/NhWX8dwbWI8jayBC552tJ0n2RNun5ekCrEOA1RpgvXih4DBbvBLwnKfGS MqDu4uhaYyj+bqhYosjVcVwOoiTVr6ZhaVctg2NBbW09670KLexHwj9fq+aW8+HXMvVv 0tpFBfoybBgv5Qvlz45cw0+8EMbPKoIxCbS2eejN55rKwoA1pwJff6Mxujm4nW5oB+8Q HlDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=a+poLz5i; 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 c2-20020a056a00248200b0066871b54e15si922932pfv.359.2023.06.28.11.02.13; Wed, 28 Jun 2023 11:02:30 -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=a+poLz5i; 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 S232246AbjF1R4Q (ORCPT + 99 others); Wed, 28 Jun 2023 13:56:16 -0400 Received: from dfw.source.kernel.org ([139.178.84.217]:37064 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232260AbjF1Rzi (ORCPT ); Wed, 28 Jun 2023 13:55:38 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3378161447; Wed, 28 Jun 2023 17:55:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C09A2C433CB; Wed, 28 Jun 2023 17:55:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687974937; bh=7JUyr2dX63IraG+7yBFRgMvzzEv6qsJXwBtXtsyQIRg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=a+poLz5iSuMCS+/NCh2iMU0fnKSOL7K0254QTfODdY9ehKFz7PwZ0L1424dV6bpuP LazKhf9sGQAhwjY0vGc/YP9CSllExeuAk22cq1kcd5OpvjpMMYGSX22Fd2SgJsH3QM eUknnw01QGNcAYfq3Je4I1bvBkhtMWG/4P2AlqsCZzL4PsbHneJaaYYM+QYuqBPqEi 2lgDhdhdZweMvvV8udarefvKiJdLy37c42fM/6kgvqXqm6UC5pA0pGKz4Nyvoqfsnc RTvctdvyBTOVJj3Ua9ychfylMelEmD7e5rITvKO3qpvQj6FbkxPAUeXATeB8iMMnfg Dy1Hz6czDnb4A== Date: Wed, 28 Jun 2023 11:56:31 -0600 From: "Gustavo A. R. Silva" To: aacraid@microsemi.com, "James E.J. Bottomley" , "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook , "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH 06/10][next] scsi: aacraid: Use struct_size() helper in code related to struct sgmapraw Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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?1769970440486310484?= X-GMAIL-MSGID: =?utf-8?q?1769970440486310484?= Prefer struct_size() over open-coded versions. Link: https://github.com/KSPP/linux/issues/160 Signed-off-by: Gustavo A. R. Silva Reviewed-by: Kees Cook --- drivers/scsi/aacraid/aachba.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c index b3c0c2255e55..03ba974f6b2a 100644 --- a/drivers/scsi/aacraid/aachba.c +++ b/drivers/scsi/aacraid/aachba.c @@ -1266,8 +1266,7 @@ static int aac_read_raw_io(struct fib * fib, struct scsi_cmnd * cmd, u64 lba, u3 if (ret < 0) return ret; command = ContainerRawIo; - fibsize = sizeof(struct aac_raw_io) + - le32_to_cpu(readcmd->sg.count) * sizeof(struct sgentryraw); + fibsize = struct_size(readcmd, sg.sg, le32_to_cpu(readcmd->sg.count)); } BUG_ON(fibsize > (fib->dev->max_fib_size - sizeof(struct aac_fibhdr))); @@ -1400,8 +1399,7 @@ static int aac_write_raw_io(struct fib * fib, struct scsi_cmnd * cmd, u64 lba, u if (ret < 0) return ret; command = ContainerRawIo; - fibsize = sizeof(struct aac_raw_io) + - le32_to_cpu(writecmd->sg.count) * sizeof(struct sgentryraw); + fibsize = struct_size(writecmd, sg.sg, le32_to_cpu(writecmd->sg.count)); } BUG_ON(fibsize > (fib->dev->max_fib_size - sizeof(struct aac_fibhdr)));