From patchwork Tue Jul 23 12:02:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Mikityanskiy X-Patchwork-Id: 169526 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp8785568ilk; Tue, 23 Jul 2019 05:02:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqxkNReQCjf4rnXrlUsu1wR2tVrpC0VB6VF9RPh0qea7su2iH8xjwYofJoYLBLyJFrbBhWnh X-Received: by 2002:a17:902:b48c:: with SMTP id y12mr45926109plr.202.1563883353335; Tue, 23 Jul 2019 05:02:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1563883353; cv=pass; d=google.com; s=arc-20160816; b=On2VwrBAKJY9HpXBdZp9Znb6TCRDHUcTAYf2ud5YDYd6zC4jpnIz+qQrlheIx+d3CK affuy0UxZg0g59p4TltJif6c/BsnYAdaAymZsvhZWBjJVrPH2cTmsHfLQuqbYfSJmqnQ zY9ZQTldp79eE+R397bl/tkgYdCyIWamVQ5kAuXdxWv53bdNR3qZ6vmLVmcxPGvSmHBR +C/Cdmp4Dt2mo1OKJzvoKDKGnhT1YwM9/yUNNAr5sWkV4NQkZTomHfpWXTjZRNudvAZC 7EJwFC4/5S1b2AzcLbk+u1KgyYsc6SlHrVWMgpz3mhSiWcLGPZ/BAsPVzIS/Qdh9R7AZ n4gQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=98TbHuTdr663klLOJL9dnsNLjswGlS+TifwZrDUAc78=; b=vLhN5z6IBuGlrDNAbTp/4soPpBjaKodtoxtE+8MLMqw8UTtA9FNRYb9D2HecUVtTeh wewBF1rZHYLX9/0b93QLVvUdAJ02nhL8ylhK9pooexh5B7409u0Uyi5F/aupNiFQ4bOz 8tBfS+GQLiddyaQjCSblTNPLQ2dvM2Ei66kEx27E05Snv1Mzv5qTudSKcB7U9P1WtL8Z dqvI5d8m92eI8L80jywE5MY89sw1GMhqB3Ps+0WlqSsN0DutT0HBliAph+4OhHS9YT5o fHjw6KHoJk84YdBnhvUu877qf0K41RBIX4G3OlZR8SiHyDblLkapMHm0/ehPpA3aZ2Pv tFgg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector2 header.b=NVJ7kVzt; arc=pass (i=1 spf=pass spfdomain=mellanox.com dkim=pass dkdomain=mellanox.com dmarc=pass fromdomain=mellanox.com); spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j185si12013892pge.91.2019.07.23.05.02.33; Tue, 23 Jul 2019 05:02:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector2 header.b=NVJ7kVzt; arc=pass (i=1 spf=pass spfdomain=mellanox.com dkim=pass dkdomain=mellanox.com dmarc=pass fromdomain=mellanox.com); spf=pass (google.com: best guess record for domain of netdev-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387707AbfGWMCc (ORCPT + 9 others); Tue, 23 Jul 2019 08:02:32 -0400 Received: from mail-eopbgr00065.outbound.protection.outlook.com ([40.107.0.65]:27267 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728418AbfGWMCc (ORCPT ); Tue, 23 Jul 2019 08:02:32 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xfvq0mCOEUqwqftOZgRF1s0431/5JlYpIcUVcDAexj9S5MrxKdOQYW0sN8KdMQbLKbdatnE/hUf4W71/IvgSZjT5ER6zbm9tjElL+gm88S7xmqSBHPLoQpggE1DMlFmTrMaq42Ps+i7BKcV0ADM+a4baDV3T4G7BmIEe/MrwUjh80B9bd//E75RyeNdTF7qi+RVsnPhMeQdSyM+SKDnPpVmgXI/xMLEoktYqreLZwditmZjifEBVXDpZdX0H3NGqlSpGw/cqe2yB8ItkU2OOkd/udz0s1fe2SAEoV2mT5Yn4aNPBaE6LWXlh9LaZEpVhdZB1gw2QFYiIdQjbini23A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=98TbHuTdr663klLOJL9dnsNLjswGlS+TifwZrDUAc78=; b=RPvDXBBsMRg8Sgh9CAbCSBiShKWo9aG7Ht59Od/5EHvukZcgn2CsMYJ1OM0KZM0/JRFiPzmgrxj7/85ak6dznemB2sAlOdzRSMaZfhDi2Xfg3nyonCzSQUn0mNs7l0uLleGiRI8l1a/7t8wkvhAK7+UNce9rvwRDevKGCJcNDckZilhBC46Qc/1zaeuVhi6k0yyliiuL/ctoa1QvP3QpxQrQpFtBetUk/Czxd1TASuhA5nTGQgWHpcj8J8gUUdUAuf8GyvUYZFb/ZbRtaQbEALwTbEzJsFP33xP1FhZe1di4aUZOAF1VuidyQmUisCCCtYsjwmEHRiFuGpNhQBDzpg== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=mellanox.com;dmarc=pass action=none header.from=mellanox.com;dkim=pass header.d=mellanox.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=98TbHuTdr663klLOJL9dnsNLjswGlS+TifwZrDUAc78=; b=NVJ7kVztBYs4dKMxzLkicZlEZsFAGzhhjBlilT4i16ppMbLOfUAyuTBGLNzXcpxY9xU8hWwwehSwXPlJFYHN6D9VHot2p+akpXUTQQiJxVKmVJH0fbpnNS8erQITlFmpSU9FZn4DCDCJ41PHSI7HQAZvePpGeAyj8xc48NJWiM4= Received: from AM6PR05MB5879.eurprd05.prod.outlook.com (20.179.0.76) by AM6PR05MB5093.eurprd05.prod.outlook.com (20.177.36.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.11; Tue, 23 Jul 2019 12:02:27 +0000 Received: from AM6PR05MB5879.eurprd05.prod.outlook.com ([fe80::f9d8:38bc:4a18:f7a7]) by AM6PR05MB5879.eurprd05.prod.outlook.com ([fe80::f9d8:38bc:4a18:f7a7%5]) with mapi id 15.20.2094.013; Tue, 23 Jul 2019 12:02:26 +0000 From: Maxim Mikityanskiy To: Arnd Bergmann , Alexei Starovoitov , Daniel Borkmann , "David S. Miller" CC: "bpf@vger.kernel.org" , "netdev@vger.kernel.org" , Saeed Mahameed , Leon Romanovsky , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend , Tariq Toukan , Maxim Mikityanskiy Subject: [PATCH net-next v2] net/mlx5e: xsk: dynamically allocate mlx5e_channel_param Thread-Topic: [PATCH net-next v2] net/mlx5e: xsk: dynamically allocate mlx5e_channel_param Thread-Index: AQHVQU5+6tqHEGq4/EK+pU6XK/84gA== Date: Tue, 23 Jul 2019 12:02:26 +0000 Message-ID: <20190723120208.27423-1-maximmi@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0382.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::34) To AM6PR05MB5879.eurprd05.prod.outlook.com (2603:10a6:20b:a2::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=maximmi@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.19.1 x-originating-ip: [141.226.120.58] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7eed7b82-6e82-4358-c82c-08d70f65a0b9 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:AM6PR05MB5093; x-ms-traffictypediagnostic: AM6PR05MB5093: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0107098B6C x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(376002)(346002)(136003)(39860400002)(366004)(189003)(199004)(53936002)(99286004)(110136005)(4326008)(305945005)(7736002)(316002)(66946007)(107886003)(66476007)(6436002)(66556008)(54906003)(66446008)(64756008)(6486002)(8676002)(5660300002)(6512007)(7416002)(486006)(256004)(81166006)(81156014)(1076003)(6506007)(86362001)(52116002)(386003)(71200400001)(68736007)(36756003)(8936002)(102836004)(50226002)(66066001)(26005)(186003)(14454004)(2616005)(14444005)(478600001)(25786009)(2906002)(476003)(3846002)(6116002)(71190400001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5093; H:AM6PR05MB5879.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: MnQ1Tg4vKQTlluFf5szmhlDyt+Jo4SWiid0EaAAixk+ypxLiqptfxWDg7np8mcBINZxmxgBoixyySkq0qZ1z5zDPzXUu32rJXmxiLAPvFg+mn2FWQOBHgqPA2dfYBt3O4CA2j9lotlFgDwd/d6zZRDzJYOV7DvKlCxBtLHS1FQAopY6PBppvhMb0byuSFWGza0NFZMIIG8pGWcSrvxP1ViCQ64435cwiDouaiCNljQdygxMGXF5uULWod8Sdm0cjvGUB6Jb4KyaR+aLsLiq4/xKauVh5MWEovC/V0m7jIUNRxmsanSBXLyijMCs18VlRHpw7PtiDicfR1yAVi477sgtDINjsreccG/EjoqyeE9TKjh25APKhEp9Y5kXu7pUzI7I9Wa/ri2n6S+tpmYpNVm3Z9l9NPBbazNH8z5Us1g8= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7eed7b82-6e82-4358-c82c-08d70f65a0b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2019 12:02:26.0717 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: maximmi@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5093 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Arnd Bergmann The structure is too large to put on the stack, resulting in a warning on 32-bit ARM: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c:59:5: error: stack frame size of 1344 bytes in function 'mlx5e_open_xsk' [-Werror,-Wframe-larger-than=] Use kvzalloc() instead. Fixes: a038e9794541 ("net/mlx5e: Add XSK zero-copy support") Signed-off-by: Arnd Bergmann Signed-off-by: Maxim Mikityanskiy --- v2 changes: use kvzalloc/kvfree and fix a memory leak. .../mellanox/mlx5/core/en/xsk/setup.c | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) -- 2.19.1 diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c index aaffa6f68dc0..f701e4f3c076 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c @@ -60,24 +60,28 @@ int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, struct mlx5e_xsk_param *xsk, struct xdp_umem *umem, struct mlx5e_channel *c) { - struct mlx5e_channel_param cparam = {}; + struct mlx5e_channel_param *cparam; struct dim_cq_moder icocq_moder = {}; int err; if (!mlx5e_validate_xsk_param(params, xsk, priv->mdev)) return -EINVAL; - mlx5e_build_xsk_cparam(priv, params, xsk, &cparam); + cparam = kvzalloc(sizeof(*cparam), GFP_KERNEL); + if (!cparam) + return -ENOMEM; - err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam.rx_cq, &c->xskrq.cq); + mlx5e_build_xsk_cparam(priv, params, xsk, cparam); + + err = mlx5e_open_cq(c, params->rx_cq_moderation, &cparam->rx_cq, &c->xskrq.cq); if (unlikely(err)) - return err; + goto err_free_cparam; - err = mlx5e_open_rq(c, params, &cparam.rq, xsk, umem, &c->xskrq); + err = mlx5e_open_rq(c, params, &cparam->rq, xsk, umem, &c->xskrq); if (unlikely(err)) goto err_close_rx_cq; - err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam.tx_cq, &c->xsksq.cq); + err = mlx5e_open_cq(c, params->tx_cq_moderation, &cparam->tx_cq, &c->xsksq.cq); if (unlikely(err)) goto err_close_rq; @@ -87,21 +91,23 @@ int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, * is disabled and then reenabled, but the SQ continues receiving CQEs * from the old UMEM. */ - err = mlx5e_open_xdpsq(c, params, &cparam.xdp_sq, umem, &c->xsksq, true); + err = mlx5e_open_xdpsq(c, params, &cparam->xdp_sq, umem, &c->xsksq, true); if (unlikely(err)) goto err_close_tx_cq; - err = mlx5e_open_cq(c, icocq_moder, &cparam.icosq_cq, &c->xskicosq.cq); + err = mlx5e_open_cq(c, icocq_moder, &cparam->icosq_cq, &c->xskicosq.cq); if (unlikely(err)) goto err_close_sq; /* Create a dedicated SQ for posting NOPs whenever we need an IRQ to be * triggered and NAPI to be called on the correct CPU. */ - err = mlx5e_open_icosq(c, params, &cparam.icosq, &c->xskicosq); + err = mlx5e_open_icosq(c, params, &cparam->icosq, &c->xskicosq); if (unlikely(err)) goto err_close_icocq; + kvfree(cparam); + spin_lock_init(&c->xskicosq_lock); set_bit(MLX5E_CHANNEL_STATE_XSK, c->state); @@ -123,6 +129,9 @@ int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, err_close_rx_cq: mlx5e_close_cq(&c->xskrq.cq); +err_free_cparam: + kvfree(cparam); + return err; }