Message ID | 20171017120457.122693-1-shahafs@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 89B121B801; Tue, 17 Oct 2017 14:05:18 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0078.outbound.protection.outlook.com [104.47.1.78]) by dpdk.org (Postfix) with ESMTP id DD7B01B7FF for <dev@dpdk.org>; Tue, 17 Oct 2017 14:05:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Asm5idiw/7/9vWXAgDv8PNiASFHZpx1mlxkBQQvXxwU=; b=lb71QyoyS8nKlfCjJo9aGRb92jEvc7X7qYZBFj2T7UC5n4DyY+yqzAQLh96vHsMBLy7JCLwwGdQloUrs7S0o7Ubg/ayHn/D3NUkS7lThmd076B/WU93gP01E1YqaZlfIPOu9qvlU8+0J6lLTBu8mmxxi/Po4sXTrwJbb+oZw9pg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; Received: from mellanox.com (82.166.227.17) by DB6PR05MB3141.eurprd05.prod.outlook.com (2603:10a6:6:1a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 17 Oct 2017 12:05:14 +0000 From: Shahaf Shuler <shahafs@mellanox.com> To: nelio.laranjeiro@6wind.com, adrien.mazarguil@6wind.com, yskoh@mellanox.com Cc: dev@dpdk.org Date: Tue, 17 Oct 2017 15:04:56 +0300 Message-Id: <20171017120457.122693-1-shahafs@mellanox.com> X-Mailer: git-send-email 2.12.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [82.166.227.17] X-ClientProxiedBy: VI1PR0102CA0003.eurprd01.prod.exchangelabs.com (2603:10a6:802::16) To DB6PR05MB3141.eurprd05.prod.outlook.com (2603:10a6:6:1a::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00dbe868-3381-4b9f-99cd-08d515575386 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DB6PR05MB3141; X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3141; 3:HHESpmnMogc++7vhnwQrv9lCkDU8iDbd2nCUSAMFH1ROEyrBEnFj48iYErCzI5FSbuRRCnPyoZlSD62Ic41v+cVvVeSaAq71n6cUxnTyPMElaDqm8Wl7RcWjVSiM3qgfYJLtuJCqS9cw7UxYnjL3Lcsouo4h/YjVnrfLK0wYp7sEeZ/ksbb8Xi8G/GijvOaszAbb2/UiQwYS8xlJXLYfk3FhvokCMUa20baHVwDHsHJJnwHiXO4YzT2uBMGJRl/h; 25:o/P31VPMptizPIXteQmAK0iOC9LdWWbDiidMaJSL3yLMsCA0D0lm+wq/A8wtVBhtk2IsySn9Zzzz1ff4tvDDl5KCqDCi8ZfEzDROiHOLVK4D9FdmtK05Kir4Elb14BSt+GLRcZkG39wAHe8FimwzW/6oK9VrK1EkAEylbgAZRTaKH5R5Jq0E9LAuMd68nkon8jXgNartgSt3M5vHqxG2Ru8Ht7nSckBQ26lZ0deWXZnTmy8kJwk1ec+5LGpj2M6CcVtxCyypEVuBhiZ54ihCZb9G76JUqvl26NSdXqbaz85WIQODXguiK9psHdINSZ2OWH2e7PyZwfbsu/rZieg1GTPZ0MphjkfXg154qCcRUK0=; 31:UteMxCPLA4X6bayfq4SSXMidr6X5Ayc1t8wrMrjezl58Sq7I06vgQk3Z10P4tksSlX/G+ou6Mb5sa1bgVtDj0Z0b8sbyCGyA8MEHl4MuIcYEpCnDlhBVXPm4J8w4P8ygcYW68HkzIK+595FKvMTJ5YGVFi4/cpySJtCaG+L+d6LTeaSOpZOVJjrzQF0CjRL3gMqLBFOs94OFjdqo/R4n1QrOk4q6NfzaHFERpSZmRgA= X-MS-TrafficTypeDiagnostic: DB6PR05MB3141: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3141; 20:SCxESaSqyftWDoh6o0HiXEWf/NyoihFmHyepqw8eeUeD7waPu78OYm5Z5F1bf4pR1XVl1+wM0tewAoWD/WYpAC92g95QrBWiH3+SM+jzpE2WinmyAu7ALn43far/ZIpQJRPQIQ+yRsLudVauup0nFm50qzxRZlln68KOIx1Rsnh8LHHuNNUxah32GOlfFkk7XQH2DIEB0LNZwCO6nljeSIkH8BzK5+fhP1S8zZvZd/NxWTyW1UGgArGjlAuobIehR5mxsKtY0LZx3pHYOmeAHDaBlH/mLl6HQp21iQEGux2qLwZiaRMQyi+zsQ8VjJZI5izCJXI9Et1Fn+x3VjuCloz3+buR1JJocR3T9Jp2yAtQ1ZyV4smsePlJGENJmZAAHAR5d1dMvpJn03mk71qbaambMPWdoIuabbMkQRpc+DZyWTUZpE5RKeo0F8o3/noItRLo/1B5+ciONDKPPIi/SaLT1kZ/5816lngBRkSENKFgGwojKgcCfsg0eWLgYkWg; 4:jJry11kDmPEE+palvyUBR3BBnm+XZlEsHfRCgmkmb39CdfHT2f1C/3V2vGDQFx0altqROppqlqr9d3hRIrEnHg5+Bht52eLXcXelP2Qtn/1O69MldVYPNjG9FCTg1WEktUsMDjHCC6mNGnCSdldrniFfViSHl5YM+n6g04GX7i1/GW0oH7tcrXKTiKzwdCzlzTzWNPHz3mcWUKIuMcpI5cZkc7w/51S0WEUYDCHTqzTIDTNRggBeIZs0I4VjW9yA X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: <DB6PR05MB3141F0F8C5571B362CB2C63BC34C0@DB6PR05MB3141.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR05MB3141; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR05MB3141; X-Forefront-PRVS: 04631F8F77 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(39860400002)(189002)(199003)(7736002)(305945005)(478600001)(48376002)(50466002)(33646002)(316002)(66066001)(69596002)(101416001)(55016002)(6116002)(1076002)(3846002)(16526018)(21086003)(53936002)(97736004)(6636002)(47776003)(16586007)(50986999)(189998001)(6666003)(81166006)(50226002)(2906002)(36756003)(81156014)(8936002)(5660300001)(8676002)(68736007)(106356001)(105586002)(4326008)(86362001)(5003940100001)(33026002)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR05MB3141; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR05MB3141; 23:UMx0zo6fu+g1of5TJLpwt4KV6Y+NDmprrQi2iz+fH?= qd1xwUXaJr6/0YA5844iHedn8YUrzSQViEqOF7Iq+b5yOufS6rhzFboedq6rQt1oGy1naYcvnAMUOOazAnD9rIt/aY4TnzgMqHgK7Mlo8hiDojll6zgqhpKP696O2DGnnqSLbsht2sepMBspQob4RAhMDtLcSmJJ/iUctKJvswILT585YRsnaxxYrQOGhAq6OZlE9DZAx4DuTwOl/D1Ksm/djnu8ItQtPQnhKiZ0bOCsmK3mh0Q3If4EnwnN5mSU6Ud0HVBhQyqWSs4OlSD6WJ+MduAvnzCq/QFaccMse2ka+kr1zNBrAQ2S6apYRVqgz8PoCFMLCdzmmRrq0jHu9tVjf+Qt64FM7DScNAwalWQJFmYcH6Lt3bIRgw68tomekPgPvvJb0RtPrDye1m4ou/xd62sIu0ZdevQK/IujX9D+xk/zZPLi/4e+utugBo3pa6qG64eIXluRZs+9hwJ225r3jLZbS45Sf3sZ3c9F1NRoeDzvB88duu037pt7fBpzYLUDRW1Nkm/ymnQYuY7A8ogWtn+5Cg2EzvAbkEqbqOoxx/dPpiYkEUgyLK19ceDcIqsy53aBCSeQrIQESTTFlbboMMOSrc5QCML58/uQDnFKpUEuKvyXrTmZreQ/0vWeMlcD6cwilfpQ7iDqoGoaClT0DI0PUFQnp0pmP3u72rOI9gDe4UmVcMc0tkS6pQxSLbZHqDVY4YS86KLGfXy6iqgR6IkcbnkKjbdbipDdaKo1ZkCTgrrzXjJW6hrI8/BSO6sBl0N1M3AWrmutZEbMFzh4ppvxCM55qIaMS9vdnam3f06Ykrd1rdATfqxsB+FJLyRQEuwN/Hhc+m1sWpY8o8DYZioQhzl6TFEfDCdSFjFZer7n9f7MZJFDdND3Rah8DOG/dcGd1X0YP6dm9o8es7KNc8jBiLon3bQn2AIwzPlrSzTe9vQ0rtL+ZorGJBD3cHOKBDZkPJP+esM8wln6/ljhaCR5TfmQHchnR+CNGihnDrKQmU3hEdn4s/PjQ5vkSMSNJHMC0v2d/zOet4FOb+pAurLeYFjTLv5EjNwhLYcvQ== X-Microsoft-Exchange-Diagnostics: 1; DB6PR05MB3141; 6:roLzjov/ETaGqW5Ja5yWfHRoPAWkOepZsxXt2+tP0fxOus0ayPla9utTCegmFzIfn2IvSuUh8t5y9lzYJ30Av6HAOO6NAFMv2TQCy9MJFZRJSBybRbjHASOlJaJldDDZ2bxm5ZGTZpbylc4ury4HKGI7j0BjKTHDtbNOc7yJPbMk4KKYykf+EtRCmPhEHN6GqNShN8mv0k0IjfBsD6HYZCYzR26x5dxyAqPd6m8ncdAWaLOC6e61kle8HGYf5nPpT9KXG+c19gwArMBAQN+DT9i2N04FUDptyhqlQDeaJ9oUKyczyGL6FBZtyiE1NvKENVtvU3Cubs6+1vwWEyeC9g==; 5:YUXvKry0p/iWrE1mXMa6T4MPz67cc4RH2JA1JS8hFDr7NKD5QQQSlyMrzNRzL8LB8hKwfxjbLajv9Kgj31Jze+og2HAsmW+xRcp4XPBqi/R8zaWEhizDqRBkSgcbeBfaZW+xJBdIzJd0mOFOetmJjQ==; 24:0IJZ0n1KrUiMbic3rpKBSpcC4MQSz7pBX6OyIzzhL15z9JPqjIcqN/d4tG5B9QE4ylW8D0XdzZum7wVZDrTOVTRO1vn5ZoBg/wwG2innXa8=; 7:u4+3gqbDMd7iJrRYqq3dCpAo99r8DYjMRXRM6Zv3ZXQsDYir4OHd/+d6WTzxMp4wcds3BFzRt78c4JAHYCp5iQuLZ7Jco2K94u3DGvxshy0oDiJwfAt10oHr5B4jHHt8r8HPrg9XYuPCxiyTADw7c9zUDgz166osW8VyFjEeZeKya3mfwtqc/1biUX1TaCL/bnXoplqJUf1cGoEQt//Vcnsty7Lm4qXBuNde2tQ+mI0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2017 12:05:14.2492 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR05MB3141 Subject: [dpdk-dev] [PATCH 1/2] net/mlx5: fix segfault on interrupt disable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
Commit Message
Shahaf Shuler
Oct. 17, 2017, 12:04 p.m. UTC
Interrupt disable can be called when the interrupt vector is not yet allocated. Such case ends up with segmentation fault. Fixing it by adding verification for interrupt vector validity. Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects") Cc: nelio.laranjeiro@6wind.com Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> --- drivers/net/mlx5/mlx5_rxq.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Comments
On 10/17/2017 5:04 AM, Shahaf Shuler wrote: > Interrupt disable can be called when the interrupt vector is not yet > allocated. Such case ends up with segmentation fault. > > Fixing it by adding verification for interrupt vector validity. > > Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects") > Cc: nelio.laranjeiro@6wind.com > > Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> > Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Series applied to dpdk-next-net/master, thanks.
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index ad741ef44..2beebfdf2 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -396,6 +396,8 @@ priv_rx_intr_vec_disable(struct priv *priv) if (!priv->dev->data->dev_conf.intr_conf.rxq) return; + if (!intr_handle->intr_vec) + goto free; for (i = 0; i != n; ++i) { struct mlx5_rxq_ctrl *rxq_ctrl; struct mlx5_rxq_data *rxq_data; @@ -411,8 +413,10 @@ priv_rx_intr_vec_disable(struct priv *priv) rxq_ctrl = container_of(rxq_data, struct mlx5_rxq_ctrl, rxq); mlx5_priv_rxq_ibv_release(priv, rxq_ctrl->ibv); } +free: rte_intr_free_epoll_fd(intr_handle); - free(intr_handle->intr_vec); + if (intr_handle->intr_vec) + free(intr_handle->intr_vec); intr_handle->nb_efd = 0; intr_handle->intr_vec = NULL; }