Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp4025389ioo; Wed, 25 May 2022 13:08:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxT4UCouLftAkhui4LpfuNk66qOotYvc5mSljkL6tmJ5q49hP2WEuTBLumncR91WHPUklhg X-Received: by 2002:a05:6402:1212:b0:42a:cae0:fd05 with SMTP id c18-20020a056402121200b0042acae0fd05mr36800214edw.70.1653509330292; Wed, 25 May 2022 13:08:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653509330; cv=none; d=google.com; s=arc-20160816; b=B+zWaUav/YRkCgNU2zTl9Q5YMED/xAowyQbLTVBmHMAG2iqf2yfMsMnB34JzKIdSo+ 9ioH7dLRU4AMFuDyyvDg55l+XEb5eFn3FDIrlgPWywtyfcma8rITjF33XIja5yzE5gIl RPL+kknHVqj+WWGzfbs1e03oSarNzG/AVH1dl/EVGkB3dGbuN/445RWk36dfaYWCyDd4 syd4AxWS6OW6c9rBxkY3yTB7ujSCjMpXNB0JFgTMeoB/DQj2EeeJ26ctUuKSkd4yL+GU JLPYtvk3fQDqOl7fDn2W0h5YcOR0r46s+PD4CmsEdZclsBvuGw1QCncfDBqhaBdq+S/Q K1fg== 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=3uRtfrODZaP6cR0RkQJZ2+zsYii1OwcOLnuKabGpEK8=; b=ntcJukvqk5dMp/ZRWBrzuE5zOCmgYp9KsTuv4QPSeOLgcQVXfksNsG5RUiud4NrJWe zqjbmSBIaupXOTov9CPqJuRrCucg8W4BRJJ5bJD24YgMCu34TnIM2aWDJ2xuMFWFl7bf PP1avEEqA6idtsGm5cggJQ906e67Y+gs+cFxJubo9KDibrvzaaxvjAXQjeT8Z0PPRvCL 0B1X0AVtPrlFjj5fIiGxU2o+b/3kt/YFpvdz9n4WP/viMPEvLy/0AqcYJU0WBPqDF5vO Qx8LdyxdRKLfKaOi03gIzyMF+uhYTNAEnXrqaoi/zzbcVlBnke6cG/CU5uay2h/vWEJ6 A5Kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@networkplumber-org.20210112.gappssmtp.com header.s=20210112 header.b=T5b5Xt9Y; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z13-20020a1709064e0d00b006f47e87800csi18211348eju.706.2022.05.25.13.08.18; Wed, 25 May 2022 13:08:50 -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=@networkplumber-org.20210112.gappssmtp.com header.s=20210112 header.b=T5b5Xt9Y; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238414AbiEXUrs (ORCPT + 99 others); Tue, 24 May 2022 16:47:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238638AbiEXUrq (ORCPT ); Tue, 24 May 2022 16:47:46 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A85BA7379F for ; Tue, 24 May 2022 13:47:44 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id p8so17447051pfh.8 for ; Tue, 24 May 2022 13:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3uRtfrODZaP6cR0RkQJZ2+zsYii1OwcOLnuKabGpEK8=; b=T5b5Xt9YaoxgVs4sV5AT0c/hlVtaFZxKefza3PoOUmHqZGiuEVXrmgipbywdk0MUHv LbZp53m4VRovrykWpWKYmL9BXOcQcpPZA4yDAC7jlOBrVu8qPWjzrtyG6soLeWcGb2xe njsftnjDBPYSxiLtaUKBxgn/7Nj/DEF3jdTA35hYa2v32+lALhxanhYg10oaanHqAU91 YlUx7iVa9M7JLF5z/JY7Tsuyn8T7My41ilTf3t6j8p4cRJ/xefmDHyRGgeswxSr/9Eef M4QVseQ8pftKqFsh4YfF14layFOZRoYWN/Y8vuEn8Zw3muUO5KqAZbQhByGQqabHdLXW 5U0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3uRtfrODZaP6cR0RkQJZ2+zsYii1OwcOLnuKabGpEK8=; b=GWSRmiMcdmGQnAhKy6AlJUwvuFJS1gDpjq0mKKXaXOK9QR7JiixSEkH8cMinQ9HkP8 Yx2Q6SRyooHN7lPVjHuvMbRZo8ugIgAZn70fgNlBYpyKwP/ORnp2QrHYzbqoUX43Zl27 ln6JpqoUv3BywlT16Y+Tl9XOWiFrGnNYcgGNcMOA6dRcvkqRLP21pW+o1HyR+omEfFS5 OA+saqPkLcTJwsQioH4t5fNmoMnH4kfmQFVIOFUw/jlJMFxiTVSt4JBTgLypdnqzwhyK pGmympHrUDDWqN+0v3pGYjEaUPg9/QOf1cxL4/yWwhHF8YvN0w541//aeoNif6exyv5w dIfQ== X-Gm-Message-State: AOAM531QZJEszc6/NNmCYgIvK6xoLmcqBxD8IbYFhElQQZJAEyqTyyxU Qsk0DPd4BUQNOFbMmNSWdUmxLmyPjAQZoQ== X-Received: by 2002:a05:6a00:1145:b0:4f6:3ebc:a79b with SMTP id b5-20020a056a00114500b004f63ebca79bmr30284723pfm.41.1653425264154; Tue, 24 May 2022 13:47:44 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id r8-20020a17090a690800b001dfffd861cbsm216333pjj.21.2022.05.24.13.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 May 2022 13:47:43 -0700 (PDT) From: Stephen Hemminger To: netdev@vger.kernel.org Cc: Stephen Hemminger , Steffen Klassert , Herbert Xu , "David S. Miller" , linux-kernel@vger.kernel.org (open list) Subject: [RFC] xfrm: convert alg_key to flexible array member Date: Tue, 24 May 2022 13:47:40 -0700 Message-Id: <20220524204741.980721-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,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 Iproute2 build generates a warning when built with gcc-12. This is because the alg_key in xfrm.h API has zero size array element instead of flexible array. CC xfrm_state.o In function ‘xfrm_algo_parse’, inlined from ‘xfrm_state_modify.constprop’ at xfrm_state.c:573:5: xfrm_state.c:162:32: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 162 | buf[j] = val; | ~~~~~~~^~~~~ This patch convert the alg_key into flexible array member. There are other zero size arrays here that should be converted as well. This patch is RFC only since it is only compile tested and passes trivial iproute2 tests. Signed-off-by: Stephen Hemminger --- include/uapi/linux/xfrm.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h index 65e13a099b1a..3ed61df9cc91 100644 --- a/include/uapi/linux/xfrm.h +++ b/include/uapi/linux/xfrm.h @@ -102,21 +102,21 @@ struct xfrm_replay_state_esn { struct xfrm_algo { char alg_name[64]; unsigned int alg_key_len; /* in bits */ - char alg_key[0]; + char alg_key[]; }; struct xfrm_algo_auth { char alg_name[64]; unsigned int alg_key_len; /* in bits */ unsigned int alg_trunc_len; /* in bits */ - char alg_key[0]; + char alg_key[]; }; struct xfrm_algo_aead { char alg_name[64]; unsigned int alg_key_len; /* in bits */ unsigned int alg_icv_len; /* in bits */ - char alg_key[0]; + char alg_key[]; }; struct xfrm_stats { -- 2.35.1