From patchwork Tue Nov 15 21:53:27 2022 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: 20602 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2958280wru; Tue, 15 Nov 2022 13:56:09 -0800 (PST) X-Google-Smtp-Source: AA0mqf5NPyVbBd5zJTEU9iPgNb2Ioa8b2lsPnRz6vXnCH8JNw58KvUpfK8NeVqX/gQv9UrkEqlla X-Received: by 2002:a05:6a00:27a8:b0:56d:2e71:449 with SMTP id bd40-20020a056a0027a800b0056d2e710449mr20318081pfb.46.1668549368773; Tue, 15 Nov 2022 13:56:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668549368; cv=none; d=google.com; s=arc-20160816; b=BdYBreEKzxzn39B0l9UR838otY9bO+Sv1/i374O6efn5JmXRFj9b+/EneHYbFY+bJ5 ToIMOQyytSJj81K+lGPCgpkT1p60yGcSa+tZsXczJTiyDbZqtCBQ/h4j9XU3hMWdKYyy DklyoKlVxJIIYHtSiqqUsWDPvxFMRovbwotdSmfkFh+EpG5HR+JpTfYdiCHzZAMxgO6n IvIE6ClEYafvGprm+FKMps5rXswPfIdzQ0FNHkZdZlZe2Z48HdxSRoiPWCo8P0t/PUha 4RyqgNzMd4mawLiDUYrqI9NE58DRLMwXepdIvxDR7AbRF57Nthh7W99nhRUYIiP+hsHl B90A== 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=YWno1YVPoMYqOyx5QjDKH6ypVtZxUn1nL3ainubY33A=; b=APMEKIWx/v29h1IDhMfLfAhnIK12m2EjurKQYqsD6WlFeWYcBmMzkHp1gmVhnwmIPP xzrYyswETqxCYYjgQiDw970ZKtHd9kJr57gULqAT7O5FHAsVbvSSaoupM7PC/B0F4/nH VnADBFFE17Jps/mv/rAGRjXQWTobKv3TMoI/1eN0+bjGPyLNkIB7Gl5/13yOmPi7qP0u iDtd6IJhSoppqpAxUMycFuSPUcPZ/fIs7WdgTosGMNYj/m+kYOeIiGjcgDy+TgY50Eup 70uMuOwdnhlglAfDMU199o5c+MhINrIGFMmrkO6vIWy6MiLGmftag+SnH6VS2KslAcNS 9VkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=E77KupNN; 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 p10-20020a056a000b4a00b0056c8c1324f3si13642598pfo.103.2022.11.15.13.55.54; Tue, 15 Nov 2022 13:56:08 -0800 (PST) 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=E77KupNN; 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 S231684AbiKOVxr (ORCPT + 99 others); Tue, 15 Nov 2022 16:53:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229731AbiKOVxp (ORCPT ); Tue, 15 Nov 2022 16:53:45 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90D4813EB8; Tue, 15 Nov 2022 13:53:44 -0800 (PST) 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 DDB54618F5; Tue, 15 Nov 2022 21:53:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90CA0C433C1; Tue, 15 Nov 2022 21:53:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1668549223; bh=1/A6DlUT7AQ50h5Usn7ksWgo6qyQMDQggwXLiYYZZFY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=E77KupNN5UhHHN2DjW4uu0qINjVti3ELuUQkgmn/bJzgSDQoRuBtxopEnk0+7UmYH rpPVPHC7m3IMJ4qgYLkKoYtluj58Exuk5OIsR3HydqsBcoC5xaY7w0u8lvKAIHc4mq BiJMA2qD6bySjYmZMKmzLEpEa7FpA6FG9n6tW/OsrKRXB9w3Q36KlUv90veVoYrSTr fqF9FTNtP/GifzXPEc1qIovlYyzZShmBKh5CYq2MxAhPH4GKtFM4vxzbQWtN4PUl3V kfZ+KAatxyrlA7UbRHRhvJs7TK+iQARjLJ7VLXCQyh61ybvCPwd+N2cpO9l5Ag0ZH9 1YlxwgJKPJ1xA== Date: Tue, 15 Nov 2022 15:53:27 -0600 From: "Gustavo A. R. Silva" To: Hante Meuleman , Franky Lin , Arend van Spriel , Kalle Valo , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: SHA-cyfmac-dev-list@infineon.com, brcm80211-dev-list.pdl@broadcom.com, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" , linux-hardening@vger.kernel.org Subject: [PATCH 1/2][next] wifi: brcmfmac: replace one-element array with flexible-array member in struct brcmf_dload_data_le Message-ID: <905f5b68cf93c812360d081caae5b15221db09b6.1668548907.git.gustavoars@kernel.org> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS 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?1749600822806885264?= X-GMAIL-MSGID: =?utf-8?q?1749600822806885264?= 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 brcmf_dload_data_le. Important to mention is that doing a build before/after this patch results in no binary output differences. 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]. Link: https://github.com/KSPP/linux/issues/230 Link: https://github.com/KSPP/linux/issues/79 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/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 4 ++-- drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c index 22344e68fd59..2e836566e218 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -110,7 +110,7 @@ static int brcmf_c_download(struct brcmf_if *ifp, u16 flag, dload_buf->dload_type = cpu_to_le16(DL_TYPE_CLM); dload_buf->len = cpu_to_le32(len); dload_buf->crc = cpu_to_le32(0); - len = sizeof(*dload_buf) + len - 1; + len = sizeof(*dload_buf) + len; err = brcmf_fil_iovar_data_set(ifp, "clmload", dload_buf, len); @@ -139,7 +139,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp) return 0; } - chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN - 1, GFP_KERNEL); + chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN, GFP_KERNEL); if (!chunk_buf) { err = -ENOMEM; goto done; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h index f518e025d6e4..a69339f72c66 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h @@ -943,7 +943,7 @@ struct brcmf_dload_data_le { __le16 dload_type; __le32 len; __le32 crc; - u8 data[1]; + u8 data[]; }; /**