Message ID | 20230105223642.never.980-kees@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp531172wrt; Thu, 5 Jan 2023 14:54:48 -0800 (PST) X-Google-Smtp-Source: AMrXdXvb6l+n3XVNMtwlN/WFYT7nCS2Zr9JDNzr+l4hmvJiHvBaz5Sa6rm4iXbrBkWNE8QeUbbxK X-Received: by 2002:aa7:8809:0:b0:580:cc63:dcdc with SMTP id c9-20020aa78809000000b00580cc63dcdcmr44300673pfo.7.1672959288569; Thu, 05 Jan 2023 14:54:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672959288; cv=none; d=google.com; s=arc-20160816; b=bFc4Fj2iDo6tYv2kqkX/X6s+IvLsbNoVde3Zru50718Yg/bsfRYlxX8epQdiZZAB++ 9hMkoSYBqeDakuAqc+PNHWgl6shHxXBAp2GA08mhHw3L7iY8AqojlMnWb+lZ5efm2U/h 9AFqZ4VrskSiAvR5B4HNfbi+RANI7s7ucAQkhurbKPvytaJjkZwznAx3Fjyyc2rX8jrI hfBdDRpA4yp9TCllONKI4JfK21rMLo07hhIwwcbhA2fwxyyR+8lssGFPEGnKLqxmfkNa IIGScF897LXNIat7z5s8Goy9u2LS7tnU4+ca4ij+sDryhuX5n7Fqc4UzGANssNqxVILu ppgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vTnS8YGkz+TFlaH5VylWTT81FwP8SacJ4LHArMeisg0=; b=SwzzBI+ZAOI/PQ6yFjnIK6npulUifqwKh2+iDXIlRlzr8C6YHSnvrkmTj6icOuBXwE wI1t+SLEwa8ACx0tDPmO+UAkVLEycnRMNuiLXouSeexeXT8WYEIwPKYjUSSftH658AVJ DCQy6rIZS0MwA1WqnvIWZOaIT/VZZ6faaAPoPqkXU7ljphuSYu7nymMDJ4cFokWFj47R bNW3QErfs1D3jAV/k+LkJs+fN9t0usoA5jVEsn/k9dEBijI3WhvYIiBpV7NeqT7HIz/W xB5rxio3TeQ5ff3j+tiqSTiwYW36F26/g8Pe2XIjIiFNn1LpoQUbQ0guM8MSg5JIbaUc zCqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Od3RSE6L; 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=chromium.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h13-20020a056a00230d00b0056e3c566bfasi40779316pfh.201.2023.01.05.14.54.36; Thu, 05 Jan 2023 14:54:48 -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=@chromium.org header.s=google header.b=Od3RSE6L; 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=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236177AbjAEWgt (ORCPT <rfc822;tmhikaru@gmail.com> + 99 others); Thu, 5 Jan 2023 17:36:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236145AbjAEWgq (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 5 Jan 2023 17:36:46 -0500 Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2FC71B1CE for <linux-kernel@vger.kernel.org>; Thu, 5 Jan 2023 14:36:45 -0800 (PST) Received: by mail-pl1-x630.google.com with SMTP id jl4so34577977plb.8 for <linux-kernel@vger.kernel.org>; Thu, 05 Jan 2023 14:36:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=vTnS8YGkz+TFlaH5VylWTT81FwP8SacJ4LHArMeisg0=; b=Od3RSE6LiX0RDr6NqBn7rCVN/9DDDXs0q+tdT8jFQncP6Urx8T2WMJHv89zDyEDp7O 4gyuEjWhxh3h7/iqTPH5ceEQX64JBhrM5b5kHvdfaEVQ9hRdLJRNOppjlomjTaI3BIGf w+3D8bNOlw2KFUDHvYyOVXVe4LphI3IDQbgjc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vTnS8YGkz+TFlaH5VylWTT81FwP8SacJ4LHArMeisg0=; b=oKoSAKy+On2YJDwImIUNt6NxacpQ64Teci4ndoUEPXVzG9PeI+Fniwge09p9yPkgGc djVVdg2TOb7tpBa2rbBo9hfySrKRK3ao9W0NPGgdOxh9DJlvFkIetwIX1y7LKqGyx0hL abR5OBEUDN77lw8inaAhGJqcTYHR3Soy1MCQv/mKdlAYpw84BVwHq0QH1UAKamd627YI sryP8ZfrjWV7AK6v7ikhLyB8n8J9z3FPmYl9sewdQrKrAcmSk/OIiOXhDkLqyVVwJYru L5aruvFo40WbgEAf8G6mURFHwjgivvsJQu98EdyV3goy4RM4bC+qwMSHG3mQqLdfUoZy 1KCg== X-Gm-Message-State: AFqh2krq4eDa5JFbHvrHhNxua6qAx5NajPfW1enXFkYdXArJbcB0wsuA 3OSb0vMk8UgET4qHh/gAQA0Gbg== X-Received: by 2002:a17:902:f08a:b0:189:efe8:1e with SMTP id p10-20020a170902f08a00b00189efe8001emr51337863pla.68.1672958205276; Thu, 05 Jan 2023 14:36:45 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id a11-20020a63e40b000000b00478ca052819sm22392159pgi.47.2023.01.05.14.36.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jan 2023 14:36:44 -0800 (PST) From: Kees Cook <keescook@chromium.org> To: Saeed Mahameed <saeedm@nvidia.com> Cc: Kees Cook <keescook@chromium.org>, Leon Romanovsky <leon@kernel.org>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, "Gustavo A. R. Silva" <gustavoars@kernel.org>, netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: [PATCH] net/mlx5e: Replace 0-length array with flexible array Date: Thu, 5 Jan 2023 14:36:43 -0800 Message-Id: <20230105223642.never.980-kees@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2058; h=from:subject:message-id; bh=z9zLbe924cMlc9bCRVzAk3TMTpuiLHM3ITNjTKxLEL0=; b=owEBbQKS/ZANAwAKAYly9N/cbcAmAcsmYgBjt1D68KpUigmLbVjgVr7qwolklCRIkWm8FyY1lEal zrIwQ0OJAjMEAAEKAB0WIQSlw/aPIp3WD3I+bhOJcvTf3G3AJgUCY7dQ+gAKCRCJcvTf3G3AJszwD/ 40sd9lxHmJk2Jotmcy0c7sImQsz4M/iSxCz1Jpo1Acu/9tBXHYG1WSg/JM6HXMs25zbP83WqwZz0ta ScdPosftzA9wgmMXb8/vXf5cULI/T6DCXW0ZjMmLqmCK/rwtV3r7z6oheW3142vbpRV16KcUPEG3cd I4F56O0hNGAOds3VxCtoqEVp7piVlUf8dB0bVyBEmFpdaXdPqRdyAOwEq3YODbu6OA/FoiGnHHpg3I ydu80/WoZOPdRL6PkOS3k+bHThq6R5S3STEcXo1ZzL3p9pg5gO2oD73XIWp+O+5oEdQ44XJ5IeQlRB C83oU0jwWetg8xUaErm2gxRVENDxW7kkm3f9H5ua/0O0HqjXbIWmIGe/IW/U7zAS7n0LJihh/aarM5 eBN190UCobxYYRfBwBgDKNaOhyVpdGloA2ctVsKl73uBOYVh22Uiyxdf1kTHlq8jdZXHY4F7c3lcnx V3hmmqzjd9J5X1mX2UixvWWgYi2tElBFI6QWnp826wGAbGWWmo2k/Az3EuzS6KU9Zigo49zT2DPfV2 pCcEPuUsbIXEii75tbJ+5iL0Drqc9BeOHZengIsBO37yKw0hkbNI8ICcqNhFpUR2Y7lvFAOQ2eJy9+ TWP/koLD8R1zAvnL6ic+lKbJeF13un/q+KpvgSiiUvs1+7ynM31ceE79ROkg== X-Developer-Key: i=keescook@chromium.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754224958761647509?= X-GMAIL-MSGID: =?utf-8?q?1754224958761647509?= |
Series |
net/mlx5e: Replace 0-length array with flexible array
|
|
Commit Message
Kees Cook
Jan. 5, 2023, 10:36 p.m. UTC
Zero-length arrays are deprecated[1]. Replace struct mlx5e_rx_wqe_cyc's
"data" 0-length array with a flexible array. Detected with GCC 13,
using -fstrict-flex-arrays=3:
drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq':
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:827:42: warning: array subscript f is outside array bounds of 'struct mlx5_wqe_data_seg[0]' [-Warray-bounds=]
827 | wqe->data[f].byte_count = 0;
| ~~~~~~~~~^~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11,
from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:42:
drivers/net/ethernet/mellanox/mlx5/core/en.h:250:39: note: while referencing 'data'
250 | struct mlx5_wqe_data_seg data[0];
| ^~~~
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
Cc: Saeed Mahameed <saeedm@nvidia.com>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: netdev@vger.kernel.org
Cc: linux-rdma@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Thu, Jan 05, 2023 at 02:36:43PM -0800, Kees Cook wrote: > Zero-length arrays are deprecated[1]. Replace struct mlx5e_rx_wqe_cyc's > "data" 0-length array with a flexible array. Detected with GCC 13, > using -fstrict-flex-arrays=3: > > drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq': > drivers/net/ethernet/mellanox/mlx5/core/en_main.c:827:42: warning: array subscript f is outside array bounds of 'struct mlx5_wqe_data_seg[0]' [-Warray-bounds=] > 827 | wqe->data[f].byte_count = 0; > | ~~~~~~~~~^~~ > In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11, > from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48, > from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:42: > drivers/net/ethernet/mellanox/mlx5/core/en.h:250:39: note: while referencing 'data' > 250 | struct mlx5_wqe_data_seg data[0]; > | ^~~~ > > [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays > > Cc: Saeed Mahameed <saeedm@nvidia.com> > Cc: Leon Romanovsky <leon@kernel.org> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Eric Dumazet <edumazet@google.com> > Cc: Jakub Kicinski <kuba@kernel.org> > Cc: Paolo Abeni <pabeni@redhat.com> > Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org> > Cc: netdev@vger.kernel.org > Cc: linux-rdma@vger.kernel.org > Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Thanks! -- Gustavo > --- > drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h > index 2d77fb8a8a01..37cf3b1bb144 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h > @@ -247,7 +247,7 @@ struct mlx5e_rx_wqe_ll { > }; > > struct mlx5e_rx_wqe_cyc { > - struct mlx5_wqe_data_seg data[0]; > + DECLARE_FLEX_ARRAY(struct mlx5_wqe_data_seg, data); > }; > > struct mlx5e_umr_wqe { > -- > 2.34.1 >
Thu, Jan 05, 2023 at 11:36:43PM CET, keescook@chromium.org wrote: >Zero-length arrays are deprecated[1]. Replace struct mlx5e_rx_wqe_cyc's >"data" 0-length array with a flexible array. Detected with GCC 13, >using -fstrict-flex-arrays=3: > >drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq': >drivers/net/ethernet/mellanox/mlx5/core/en_main.c:827:42: warning: array subscript f is outside array bounds of 'struct mlx5_wqe_data_seg[0]' [-Warray-bounds=] > 827 | wqe->data[f].byte_count = 0; > | ~~~~~~~~~^~~ >In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11, > from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48, > from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:42: >drivers/net/ethernet/mellanox/mlx5/core/en.h:250:39: note: while referencing 'data' > 250 | struct mlx5_wqe_data_seg data[0]; > | ^~~~ > >[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays > >Cc: Saeed Mahameed <saeedm@nvidia.com> >Cc: Leon Romanovsky <leon@kernel.org> >Cc: "David S. Miller" <davem@davemloft.net> >Cc: Eric Dumazet <edumazet@google.com> >Cc: Jakub Kicinski <kuba@kernel.org> >Cc: Paolo Abeni <pabeni@redhat.com> >Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org> >Cc: netdev@vger.kernel.org >Cc: linux-rdma@vger.kernel.org >Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
On 05 Jan 14:36, Kees Cook wrote: >Zero-length arrays are deprecated[1]. Replace struct mlx5e_rx_wqe_cyc's >"data" 0-length array with a flexible array. Detected with GCC 13, >using -fstrict-flex-arrays=3: > >drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq': >drivers/net/ethernet/mellanox/mlx5/core/en_main.c:827:42: warning: array subscript f is outside array bounds of 'struct mlx5_wqe_data_seg[0]' [-Warray-bounds=] > 827 | wqe->data[f].byte_count = 0; > | ~~~~~~~~~^~~ >In file included from drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h:11, > from drivers/net/ethernet/mellanox/mlx5/core/eswitch.h:48, > from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:42: >drivers/net/ethernet/mellanox/mlx5/core/en.h:250:39: note: while referencing 'data' > 250 | struct mlx5_wqe_data_seg data[0]; > | ^~~~ > >[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays > >Cc: Saeed Mahameed <saeedm@nvidia.com> >Cc: Leon Romanovsky <leon@kernel.org> >Cc: "David S. Miller" <davem@davemloft.net> >Cc: Eric Dumazet <edumazet@google.com> >Cc: Jakub Kicinski <kuba@kernel.org> >Cc: Paolo Abeni <pabeni@redhat.com> >Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org> >Cc: netdev@vger.kernel.org >Cc: linux-rdma@vger.kernel.org >Signed-off-by: Kees Cook <keescook@chromium.org> Applied to net-next-mlx5, Thanks!
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index 2d77fb8a8a01..37cf3b1bb144 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -247,7 +247,7 @@ struct mlx5e_rx_wqe_ll { }; struct mlx5e_rx_wqe_cyc { - struct mlx5_wqe_data_seg data[0]; + DECLARE_FLEX_ARRAY(struct mlx5_wqe_data_seg, data); }; struct mlx5e_umr_wqe {