[{"id":1863008,"web_url":"http://patchwork.ozlabs.org/comment/1863008/","msgid":"<20180223215248.GA20989@roeck-us.net>","list_archive_url":null,"date":"2018-02-23T21:52:48","subject":"Re: [v3,net-next,2/2] tls: Use correct sk->sk_prot for IPV6","submitter":{"id":21889,"url":"http://patchwork.ozlabs.org/api/people/21889/","name":"Guenter Roeck","email":"linux@roeck-us.net"},"content":"Hi Ilya,\n\nOn Mon, Sep 04, 2017 at 01:14:01PM +0300, Ilya Lesokhin wrote:\n> The tls ulp overrides sk->prot with a new tls specific proto structs.\n> The tls specific structs were previously based on the ipv4 specific\n> tcp_prot sturct.\n> As a result, attaching the tls ulp to an ipv6 tcp socket replaced\n> some ipv6 callback with the ipv4 equivalents.\n> \n> This patch adds ipv6 tls proto structs and uses them when\n> attached to ipv6 sockets.\n> \n\nDo you plan to update this patch with the missing TCPv6 support ?\nAs far as I can see, the part that was accepted upstream does not fix\nthe TCPv6 protocol issue which triggers CVE-2018-5703.\n\nIf adding IPv6 support is not possible/acceptable, would it make sense\nto limit TLS support to TCPv4, ie add something like\n\n\tif (sk->sk_prot != &tcp_prot)\n\t\treturn -EINVAL;\n\nto tls_init() ?\n\nThanks,\nGuenter\n\n> Fixes: 3c4d7559159b ('tls: kernel TLS support')\n> Signed-off-by: Boris Pismenny <borisp@mellanox.com>\n> Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>\n> ---\n>  net/tls/Kconfig    |  1 +\n>  net/tls/tls_main.c | 50 ++++++++++++++++++++++++++++++++++++++------------\n>  2 files changed, 39 insertions(+), 12 deletions(-)\n> \n> diff --git a/net/tls/Kconfig b/net/tls/Kconfig\n> index eb58303..7e9cf8b 100644\n> --- a/net/tls/Kconfig\n> +++ b/net/tls/Kconfig\n> @@ -7,6 +7,7 @@ config TLS\n>  \tselect CRYPTO\n>  \tselect CRYPTO_AES\n>  \tselect CRYPTO_GCM\n> +\tselect IPV6\n>  \tdefault n\n>  \t---help---\n>  \tEnable kernel support for TLS protocol. This allows symmetric\n> diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c\n> index 60aff60..33c499e 100644\n> --- a/net/tls/tls_main.c\n> +++ b/net/tls/tls_main.c\n> @@ -40,13 +40,25 @@\n>  #include <linux/sched/signal.h>\n>  \n>  #include <net/tls.h>\n> +#include <net/transp_v6.h>\n>  \n>  MODULE_AUTHOR(\"Mellanox Technologies\");\n>  MODULE_DESCRIPTION(\"Transport Layer Security Support\");\n>  MODULE_LICENSE(\"Dual BSD/GPL\");\n>  \n> -static struct proto tls_base_prot;\n> -static struct proto tls_sw_prot;\n> +enum {\n> +\tTLSV4,\n> +\tTLSV6,\n> +\tTLS_NUM_PROTS,\n> +};\n> +\n> +enum {\n> +\tTLS_BASE_TX,\n> +\tTLS_SW_TX,\n> +\tTLS_NUM_CONFIG,\n> +};\n> +\n> +static struct proto tls_prots[TLS_NUM_PROTS][TLS_NUM_CONFIG];\n>  \n>  int wait_on_pending_writer(struct sock *sk, long *timeo)\n>  {\n> @@ -342,6 +354,7 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval,\n>  \tstruct tls_context *ctx = tls_get_ctx(sk);\n>  \tstruct proto *prot = NULL;\n>  \tint rc = 0;\n> +\tint ip_ver = sk->sk_family == AF_INET6 ? TLSV6 : TLSV4;\n>  \n>  \tif (!optval || (optlen < sizeof(*crypto_info))) {\n>  \t\trc = -EINVAL;\n> @@ -396,7 +409,7 @@ static int do_tls_setsockopt_tx(struct sock *sk, char __user *optval,\n>  \n>  \t/* currently SW is default, we will have ethtool in future */\n>  \trc = tls_set_sw_offload(sk, ctx);\n> -\tprot = &tls_sw_prot;\n> +\tprot = &tls_prots[ip_ver][TLS_SW_TX];\n>  \tif (rc)\n>  \t\tgoto err_crypto_info;\n>  \n> @@ -443,6 +456,12 @@ static int tls_init(struct sock *sk)\n>  \tstruct inet_connection_sock *icsk = inet_csk(sk);\n>  \tstruct tls_context *ctx;\n>  \tint rc = 0;\n> +\tint ip_ver = TLSV4;\n> +\n> +\tif (sk->sk_prot == &tcpv6_prot)\n> +\t\tip_ver = TLSV6;\n> +\telse if (sk->sk_prot != &tcp_prot)\n> +\t\treturn -EINVAL;\n>  \n>  \t/* allocate tls context */\n>  \tctx = kzalloc(sizeof(*ctx), GFP_KERNEL);\n> @@ -453,7 +472,8 @@ static int tls_init(struct sock *sk)\n>  \ticsk->icsk_ulp_data = ctx;\n>  \tctx->setsockopt = sk->sk_prot->setsockopt;\n>  \tctx->getsockopt = sk->sk_prot->getsockopt;\n> -\tsk->sk_prot = &tls_base_prot;\n> +\n> +\tsk->sk_prot = &tls_prots[ip_ver][TLS_BASE_TX];\n>  out:\n>  \treturn rc;\n>  }\n> @@ -464,16 +484,22 @@ static int tls_init(struct sock *sk)\n>  \t.init\t\t\t= tls_init,\n>  };\n>  \n> +static void build_protos(struct proto *prot, struct proto *base)\n> +{\n> +\tprot[TLS_BASE_TX] = *base;\n> +\tprot[TLS_BASE_TX].setsockopt = tls_setsockopt;\n> +\tprot[TLS_BASE_TX].getsockopt = tls_getsockopt;\n> +\n> +\tprot[TLS_SW_TX] = prot[TLS_BASE_TX];\n> +\tprot[TLS_SW_TX].close\t\t= tls_sk_proto_close;\n> +\tprot[TLS_SW_TX].sendmsg\t\t= tls_sw_sendmsg;\n> +\tprot[TLS_SW_TX].sendpage\t= tls_sw_sendpage;\n> +}\n> +\n>  static int __init tls_register(void)\n>  {\n> -\ttls_base_prot\t\t\t= tcp_prot;\n> -\ttls_base_prot.setsockopt\t= tls_setsockopt;\n> -\ttls_base_prot.getsockopt\t= tls_getsockopt;\n> -\n> -\ttls_sw_prot\t\t\t= tls_base_prot;\n> -\ttls_sw_prot.sendmsg\t\t= tls_sw_sendmsg;\n> -\ttls_sw_prot.sendpage            = tls_sw_sendpage;\n> -\ttls_sw_prot.close               = tls_sk_proto_close;\n> +\tbuild_protos(tls_prots[TLSV4], &tcp_prot);\n> +\tbuild_protos(tls_prots[TLSV6], &tcpv6_prot);\n>  \n>  \ttcp_register_ulp(&tcp_tls_ulp_ops);\n>","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"QUyK0ljN\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3zp4hn2Sg8z9sWD\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 24 Feb 2018 08:52:56 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751907AbeBWVwx (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 23 Feb 2018 16:52:53 -0500","from mail-pf0-f195.google.com ([209.85.192.195]:44895 \"EHLO\n\tmail-pf0-f195.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751578AbeBWVww (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 23 Feb 2018 16:52:52 -0500","by mail-pf0-f195.google.com with SMTP id 17so4041939pfw.11\n\tfor <netdev@vger.kernel.org>; Fri, 23 Feb 2018 13:52:51 -0800 (PST)","from localhost (108-223-40-66.lightspeed.sntcca.sbcglobal.net.\n\t[108.223.40.66]) by smtp.gmail.com with ESMTPSA id\n\tx124sm5957037pfx.105.2018.02.23.13.52.49\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 23 Feb 2018 13:52:50 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=sender:date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:in-reply-to:user-agent;\n\tbh=AQhu2QxsOVNj0nndAzZ9uANzPiXZX45Ui40OtWveJew=;\n\tb=QUyK0ljNJS2ljrHHnw6je3TKBoD5CHIQAwmlH17v6siwTjIYMYowE5fZwEWLNI+6pA\n\tMzqdKk3UeFLTY7eTMxNXQLrgRjjoOCyeYFzAu/HzZ8p+VhgUzw+gMBbmzwYu7GyFj1fr\n\tYODy52CI5I/Z+wp+cHjvBxWBVS/y7LJmHCGevovHOIt3Ozq2TrH1r+FWW7senS8iS9MS\n\tKTqdU3BhLFCkEfO44Cc22V4nanj7Oa5L5TwTk/1NfacZ+LixEunbFlnP97sjIMA/zzus\n\tUWdKVbjgj08CTIK9bMC5l+oa0xgtO2Kh6ZSlUqCuhe5ae6K63TxTmCCvIp1wnVNj4K6s\n\t0wEw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:date:from:to:cc:subject:message-id\n\t:references:mime-version:content-disposition:in-reply-to:user-agent; \n\tbh=AQhu2QxsOVNj0nndAzZ9uANzPiXZX45Ui40OtWveJew=;\n\tb=Fazd7crRUtDaaXdlMtG/3y2MZAUJAOgak3RRTaTvhGt55Za1UXvzbkd5hvQtmsiSgP\n\tLCISXgLOhfU9AU3wgnp1H2Oj/d80hy4v4I2ZJJ60YmfVLxRvKL6lFlTuSs79pdbcrSDb\n\t/8yY/dNKUdIAVQmq6A5nYEQcJxhhFLKlxbqBU9L1UAvWlTxkJn1A+NxS3DYV+bX0j1E2\n\tRDevqrDTTeypuboX6u1qYUM1N0VwpIQVicHRs1p0GWZmG27/V6+5SUKAeWZypCCinrtm\n\tzLdUU/F7RXDOU1B9M4/5DyFJfIucOEqa0rAteI2+vZEYTy9+xuZJ4U8idqYjEuKqgIGb\n\t0bEg==","X-Gm-Message-State":"APf1xPCbjWKm/jXeRODJ+mkeUhTab+IdawF0QyjTUod2R+PPLp2R/k33\n\tbxxcOLFcsjJD7QvMXdjWLbE=","X-Google-Smtp-Source":"AH8x2251W2gBlHrzZHSrw0EbVh+khvspUebDKCvAVksVUdYaLpHWY4cKjfW1+uyVipUyKAj5ImBmLw==","X-Received":"by 10.101.77.7 with SMTP id i7mr2499283pgt.330.1519422771533;\n\tFri, 23 Feb 2018 13:52:51 -0800 (PST)","Date":"Fri, 23 Feb 2018 13:52:48 -0800","From":"Guenter Roeck <linux@roeck-us.net>","To":"Ilya Lesokhin <ilyal@mellanox.com>","Cc":"netdev@vger.kernel.org, davem@davemloft.net, davejwatson@fb.com,\n\taviadye@mellanox.com, Boris Pismenny <borisp@mellanox.com>","Subject":"Re: [v3,net-next,2/2] tls: Use correct sk->sk_prot for IPV6","Message-ID":"<20180223215248.GA20989@roeck-us.net>","References":"<1504520041-55634-3-git-send-email-ilyal@mellanox.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1504520041-55634-3-git-send-email-ilyal@mellanox.com>","User-Agent":"Mutt/1.5.24 (2015-08-30)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1864538,"web_url":"http://patchwork.ozlabs.org/comment/1864538/","msgid":"<8310f232-4a7b-8bf0-7589-ffc4c300d8d6@mellanox.com>","list_archive_url":null,"date":"2018-02-27T07:49:36","subject":"Re: [v3,net-next,2/2] tls: Use correct sk->sk_prot for IPV6","submitter":{"id":68344,"url":"http://patchwork.ozlabs.org/api/people/68344/","name":"Boris Pismenny","email":"borisp@mellanox.com"},"content":"Hi Guenter,\n\nOn 2/23/2018 11:52 PM, Guenter Roeck wrote:\n> Hi Ilya,\n> \n> On Mon, Sep 04, 2017 at 01:14:01PM +0300, Ilya Lesokhin wrote:\n>> The tls ulp overrides sk->prot with a new tls specific proto structs.\n>> The tls specific structs were previously based on the ipv4 specific\n>> tcp_prot sturct.\n>> As a result, attaching the tls ulp to an ipv6 tcp socket replaced\n>> some ipv6 callback with the ipv4 equivalents.\n>>\n>> This patch adds ipv6 tls proto structs and uses them when\n>> attached to ipv6 sockets.\n>>\n> \n> Do you plan to update this patch with the missing TCPv6 support ?\n\nWe'll re-spin a v4 by EOW.\n\n> As far as I can see, the part that was accepted upstream does not fix\n> the TCPv6 protocol issue which triggers CVE-2018-5703.\n> \n> If adding IPv6 support is not possible/acceptable, would it make sense\n> to limit TLS support to TCPv4, ie add something like\n> \n> \tif (sk->sk_prot != &tcp_prot)\n> \t\treturn -EINVAL;\n> \n> to tls_init() ?\n\nAFAIK there are users of TLS over IPv6 who wouldn't find this acceptable.\n\nBest,\nBoris.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dmarc=pass (p=none dis=none)\n\theader.from=mellanox.com","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=Mellanox.com header.i=@Mellanox.com\n\theader.b=\"c2PRerCW\"; dkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=borisp@mellanox.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3zr9p56jLlz9s19\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 27 Feb 2018 18:49:49 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752096AbeB0Htq (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 27 Feb 2018 02:49:46 -0500","from mail-he1eur01on0049.outbound.protection.outlook.com\n\t([104.47.0.49]:39648\n\t\"EHLO EUR01-HE1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1750945AbeB0Hto (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tTue, 27 Feb 2018 02:49:44 -0500","from [10.8.8.16] (193.47.165.251) by\n\tAM4PR0501MB2225.eurprd05.prod.outlook.com (2603:10a6:200:52::20) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.548.13;\n\tTue, 27 Feb 2018 07:49:41 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=8WDvAJh+IEFvIQjBVAsJKJZiVbjYWmc0yOceHR4oKtw=;\n\tb=c2PRerCWlgXdM3zi93RN4TGLD0TJkozmh5GS1QQ6fBXQNQRsXveKJ9dm2y5+DQl70UyRLsSNWh4+DOSI+Mok0XMX7MzsuxGWoX+Qn+EYwpv8hxKNQR+Mt8LLX03nBoFjU40nNDbM55AiPtuCR7qGE3T8U4ut3NvXhOLWnYAZ36Q=","Subject":"Re: [v3,net-next,2/2] tls: Use correct sk->sk_prot for IPV6","To":"Guenter Roeck <linux@roeck-us.net>, Ilya Lesokhin <ilyal@mellanox.com>","Cc":"netdev@vger.kernel.org, davem@davemloft.net, davejwatson@fb.com,\n\taviadye@mellanox.com","References":"<1504520041-55634-3-git-send-email-ilyal@mellanox.com>\n\t<20180223215248.GA20989@roeck-us.net>","From":"Boris Pismenny <borisp@mellanox.com>","Message-ID":"<8310f232-4a7b-8bf0-7589-ffc4c300d8d6@mellanox.com>","Date":"Tue, 27 Feb 2018 09:49:36 +0200","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.6.0","MIME-Version":"1.0","In-Reply-To":"<20180223215248.GA20989@roeck-us.net>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Originating-IP":"[193.47.165.251]","X-ClientProxiedBy":"DB6PR0202CA0007.eurprd02.prod.outlook.com\n\t(2603:10a6:4:29::17) To AM4PR0501MB2225.eurprd05.prod.outlook.com\n\t(2603:10a6:200:52::20)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-HT":"Tenant","X-MS-Office365-Filtering-Correlation-Id":"b32e2f6b-c7d4-4c8a-a4a7-08d57db6a928","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);\n\tSRVR:AM4PR0501MB2225; ","X-Microsoft-Exchange-Diagnostics":["1; AM4PR0501MB2225;\n\t3:YTwjNAsCjWonB3rKL+EY7zhg5NI7hvpjtaUhHwwKQ0BtcLNc6v+OIFWnUiXpI6tZYYUt9HH/Z3/Ixhre7lV4s0yNITKoHJvp8p+g3tmhI2hnODxvpl6gREgtt8Oa1Iy+3ycO/Wz3Bus/eW+/QV48rfOpr4atQc/XXYmhg3uZoeKZOva3KBpiFOcntNPzAQvCFmGPV86FMnDeJCUQvU8iflnXjkkxc2+SJ4B3xu3ZFLwV3LUbcjHZpQU54BZTuMeD;\n\t25:4PCT7lzMnF9qZc4xTZeyU83ZNwLlL/9B37KE/R2cDIvry+uyCKbENYGwFQNO9GFOil5LCEVQGiZt1hAoOe9kOUVlxHnhkfCl4v+S/9Fb0SOEoB79n5n133CS11grf8EfQAb1RqKV16D19KsuyjMtw0IwJ2R5AYdBm3Ylm0F+jRD4XNFlgco9DPT0mqmeKXdOl+/nr0reFqcY7A6HovOaTCplUGeuwj0Wn5mdpqNVx35uFIOz09+X42KmV0J7yUzr2cahswIPu8YSbPrgJgactwqcThzeEjpn2lHeJZ7sFhspWCQYe0rIAN7HG2/tCzrG+NBJ1+cySTWDQsfrtI8xRA==;\n\t31:O3fLgVB0RaDGBbPQ20mEBsVQmsbJTQlxV76UD1SYeYdXqx0Xmrf7Qf7yOwcbHKoaMPQB9ayViRs1VjfSo7p+RECf3j0e4RfXqKASI1zoEoIHrBd/G4NbNPG8XdSQ58tQV9sJhQwe/TU4MQlgeW4cBOg2QWZqPEy2pxyzl85exSjaVhW6qNBrk45sriKinDk06EwPW5LYs3k4n53XJoLrSFQ/aty+4xNUbBUQEmXuo94=","1; AM4PR0501MB2225;\n\t20:XCEZOwgrUibWfnOVXIJOM9UeA3kEbQGL6YE0yIuQNMQUPVumPz+LZpUsGkwRxAF8gPIBncVT6X3mZ0bC8DyYxVgAatRxu+BxG9CGGAO+9WDLeoXLXNOZ1GpCs3MNzQ/FIpROqaa1ivX+M6F2v+BUufY8Zpw/QwmRfijXqVmSU5GH20/I1vUQ4izcsQMrjzxid95XjoonhzkhqwogwPFFQjJABVSlbKY8gvPTrrG+oiEKUPn17bNnpswaZEBKFhgMvtjVb/p86Ho0ttUvknqn64QEQ2LlesSMy6R7OhEq3Hk4kLnLgzjT/WpZQgONK6kws2bwpKD/BOoK7oBeS6YwOL0atRdxy8e701ZkE1a6ALP0376XeVCw30XMhWRSTZhwLAmeiaJ/6nvPWciOzxOAScnrJ3szHHLwfJreA1bRwgvm6UkFcjyehzRLzqu28O36C4KtbVu2WLOrO+bfB2WTkT/PU2FoUu6nlV4NMzSnNxqEF7LmvDbYz40p6I3prMUT;\n\t4:2DpeYyi+XfLgc3qC1JmGBBV5aR7dy7F2Qpa2IiRnk4gLXYtKKd0qMxh+tr9zyix71GaPyN4UDFiw232y6yZkiK1VoJ6t1eBFVVVlOMYXlx8ryg1zjNyEgsYPKMcxj9OlAq042928KDflmcHlMFL+8LpdPJJBl2Xyc5hICpXoOh+FBrLlIOW19/BZY5HYvPk4uUKDW8ENv2GId1TcUWC5SI7d7ZOBEnMeHqI2JfiKTjG1jol7ekRhXD2DTpUXoG+ZxOiIq2mhideMeenPOI9WIg==","=?utf-8?q?1=3BAM4PR0501MB2225=3B23=3A0O?=\n\t=?utf-8?q?iYxUY8cgxHrg3ZjJWsg1H8RnoLxJCihtqShcFQhG+LfawCNFcv0DBf0N?=\n\t=?utf-8?q?PDnxR1tXuxxL+56XbARmv6tor52m/6WwW7M/712O8/ciyksX8gkVG4rt?=\n\t=?utf-8?q?nsEfkUVoxBxZsc5rzv8Ii/rrJ3omkzWguybDNVIZAv73ej2g6U6YX0O+?=\n\t=?utf-8?q?Q8i+xT1zujs+VJ4jdy/YG3ptslDwOxQkmc2r/cXxJqTmazjnoMyYKjAG?=\n\t=?utf-8?q?tRnKMm2gwYdQYOWS7TW0B8LcDsl7/55zKOaPSMicQGMPFLyMccmayK00?=\n\t=?utf-8?q?gf0GKuk1gFr1AlO/YT8vwMZPQnmYXAhbfFEzzpJlh8avaXeUviUBLJNv?=\n\t=?utf-8?q?RoaBCOCnjgaaigB3B+6YbcXcGXrGpEhUTAz/nGbBChdyWJ1xI/WXXaTX?=\n\t=?utf-8?q?9wdh5lH4aVy48pro0w/F8Dr8IAllyXTzMQx6Qe9OhRfU1z3TB95dSCPy?=\n\t=?utf-8?q?Ggj8AJUcj8DpDRXnSFKd1KYT3atWMIu/NhEE48g0H351AwQ8xAjLseR+?=\n\t=?utf-8?q?8ta+zC5aUTOJmcubcCNFp8xj/ur2pAOz6fwYsyPW2pU7B9Q7hBnc9/F1?=\n\t=?utf-8?q?zb+iJAFvu+OAO31iSMrm5GURDl247c/HlL0VCqjujZKZ9ttPKC9/4QDT?=\n\t=?utf-8?q?bNw3qc0bKA7sJ74qf0Fhhsn4axFLHRkKhhgrOq1cuI/3REX8rh6Ob5Zm?=\n\t=?utf-8?q?po7YKyF9snbnsYBUZVr0W2p+qNXl60RvqG6WHCXdgIPdSyUSP2mR+6A5?=\n\t=?utf-8?q?H5vIeY4TZO+0UKE331C1hvANf81kcNFNjzho1+SDXb1UTAWawOkCMoc2?=\n\t=?utf-8?q?TiddeFa5g/vKUGvKZ88f/wwm3WUDZngO9nMbtssNkpqyutjmreqrW/W7?=\n\t=?utf-8?q?d9XeUVszpRmpupIp11KJpDilzdhM55+8DjjzQ8okbMy1V3yX1cO98nFb?=\n\t=?utf-8?q?tpTx7iJV+6xgGdsYqqk8lHk/l01uw6wIdcmAF0TlAT7ApwJRBdYa+kXF?=\n\t=?utf-8?q?BJPnIIK/1IoJlDCREGw1cGEVXEYCLrXHkjbr1dRoBvj3elI76muiPBtg?=\n\t=?utf-8?q?5jghIigzw+BB9pw+kHk/5B1uQkkiNuZg77H7OXckVFaRBn4lL5DWcyLS?=\n\t=?utf-8?q?pglDtDMjysnnGkSEAfNb2pXn5Kqtbaofv7lILnfIkURWF4+TTAkjhpFp?=\n\t=?utf-8?q?c9EZhkl+3dRa7o41pjepF//+ZQNX9pCA+K6PKWcNx3GibgWLsNkK007L?=\n\t=?utf-8?q?vvFm9e3Z4BOxeMCm+C2Gf5qmwrH/AsYkXGNXCpx8uSRy8T09JLRT6fFe?=\n\t=?utf-8?q?tjQYTUMVbuYspo31QthJKgGYuVou3AFob1lCOmn9RwFdyxtp8GbP+gqg?=\n\t=?utf-8?q?knRq6q1XXU1K8p6PfIGwrWipqQ8k+WYieA0D2TmpKl5YcUr3M8KPCENn?=\n\t=?utf-8?q?k3beQYCqgpifV0AKYV+3Jd5KKHrfnM6wXH/HXdVF1DTAxHWgyJkWTGzd?=\n\t=?utf-8?q?u+mgxdKaWZ0lqD5fa221Dn/ft+TklsVVAXD56sy+azQLq8swomEvoeBp?=\n\t=?utf-8?q?R4ljCl/6N6KCOA?=","1; AM4PR0501MB2225;\n\t6:6cG6y2xzurKbf4qPDVB7ZnLXNL0Yp+/XWCjOS+skrc/VFn388BWtxM6PpOmf/nLY+zoEVCLy6OaqwLWdnvVmarqKrhRsfCuV+lJRjCgdYL9cyc3gKs1Nzmk9pu7qahBfA+arpzDoHTWmPYwSVrPfnASOTI+02HvfoJEehO95niZTL/hOJV0iIt9cAb+JYiLdQFiTg8bfYxbNWn9A+SODtR3NoiqK7ZLcOvFgxXSPDQiGmZaWKwn91C0yXHF/4nHexpuTLIn1VOo7BhsSxrI0d8HY3QknDnLdVPVFze9bS7NY6lDFnaOpgIfZnJol6uauW2c8RpEXIf3N6DJPzjUoXZ1xgQ6uFmdAUc2tOk/qDFs=;\n\t5:qvb3JQOP86HZQccuyuTHNzjFgwmLXx74djWidsvd3HL+ZY/UE0ZJ0IwvLOJaH4nrWXVPMVpfM+V0csWd7qU0s5SP4yPOtVdUi3fvxI85yFIEyosdeW3Y8L5txh88irSvBRryw/5jXC0fSK0lYezB14cet7OeTPBr6c1h5GPXp6M=;\n\t24:8kb4guf3Lr9oTzeRRrJwppbl0C5dcWGy/YD5qHEDP2CA90vUWlugIpFOPK+0NbHO+AL4WSpryN1kIfJSwyvzx3SqOQM0RH2eCDHoDuEVQaE=;\n\t7:TvOVRV9pweamH0gNLSzyd7UuGLdNnAgRCDWKyMtu+HIoxOdob3MHvxaWIBagnTSPzdLSzOjwqiEz3RtSZ7Lxoyvt+Nm1e98EWunGdq1EohHvpU9wIvf8hzuQecdesFqsjRCAnRj566l7Z6fZulrMhOxIHbz8V20YCjK5LNwetg9wiSktpUYx3Kro0HJVgleNLYNJr2J5C6RpDEyFxcCPcrHtUhExuuDKUFfxSrAfxcCynWI3DkGueiA0u3/vLcs0"],"X-MS-TrafficTypeDiagnostic":"AM4PR0501MB2225:","X-Microsoft-Antispam-PRVS":"<AM4PR0501MB2225A92FAE930B44323C2693B0C00@AM4PR0501MB2225.eurprd05.prod.outlook.com>","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(10201501046)(3231220)(944501161)(52105095)(93006095)(93001095)(3002001)(6055026)(6041288)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011);\n\tSRVR:AM4PR0501MB2225; BCL:0; PCL:0; RULEID:;\n\tSRVR:AM4PR0501MB2225; ","X-Forefront-PRVS":"05961EBAFC","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6049001)(396003)(39860400002)(366004)(39380400002)(346002)(376002)(189003)(199004)(478600001)(305945005)(7736002)(31686004)(86362001)(230700001)(4326008)(105586002)(25786009)(3260700006)(97736004)(106356001)(65806001)(66066001)(6246003)(47776003)(65956001)(107886003)(6116002)(2906002)(3846002)(229853002)(68736007)(6666003)(2950100002)(6636002)(6486002)(5890100001)(81166006)(81156014)(8676002)(8936002)(36756003)(65826007)(53936002)(58126008)(110136005)(16576012)(316002)(5660300001)(23676004)(59450400001)(76176011)(52116002)(64126003)(52146003)(50466002)(77096007)(53546011)(16526019)(67846002)(26005)(386003)(31696002)(2486003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0501MB2225; H:[10.8.8.16];\n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"Mellanox.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"27 Feb 2018 07:49:41.0019\n\t(UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"b32e2f6b-c7d4-4c8a-a4a7-08d57db6a928","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"a652971c-7d2e-4d9b-a6a4-d149256f461b","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM4PR0501MB2225","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]