From patchwork Wed Aug 17 19:57:15 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9286539 X-Patchwork-Delegate: christophe.varoqui@free.fr Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 57DD260459 for ; Wed, 17 Aug 2016 20:01:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4798029453 for ; Wed, 17 Aug 2016 20:01:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3BDE2294E1; Wed, 17 Aug 2016 20:01:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id CAF2129453 for ; Wed, 17 Aug 2016 20:01:30 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id u7HJvYqT001327; Wed, 17 Aug 2016 15:57:35 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id u7HJvXaf006808 for ; Wed, 17 Aug 2016 15:57:33 -0400 Received: from mx1.redhat.com (ext-mx03.extmail.prod.ext.phx2.redhat.com [10.5.110.27]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7HJvXfN013044 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 17 Aug 2016 15:57:33 -0400 Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0066.outbound.protection.outlook.com [104.47.41.66]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DB4F381F03 for ; Wed, 17 Aug 2016 19:57:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=DEx8ie4YaVhaKE1gLViWX2A0D8f1omgt6B2QC8zd4sQ=; b=sxt0aGIR7YeQBb+L/00/ZOyMhY4SzEjlMjK8ouBnXni7dShab2bfT8YFMP7uN0kg2i94zTgOV3UKNkZB4ue8SpPxd0QIlEpZd4ykb9Cc+NwHMgbswhWODGHQVLM2naQXLbWxOXigswg+R0Eo9Nwqp65AK6LvaTiziQdbm4neGDE= Received: from BLUPR0201CA0002.namprd02.prod.outlook.com (10.163.116.12) by BY1PR02MB1164.namprd02.prod.outlook.com (10.162.108.153) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.549.15; Wed, 17 Aug 2016 19:57:22 +0000 Received: from BY2FFO11FD021.protection.gbl (2a01:111:f400:7c0c::170) by BLUPR0201CA0002.outlook.office365.com (2a01:111:e400:52e7::12) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.587.9 via Frontend Transport; Wed, 17 Aug 2016 19:57:21 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; opensvc.com; dkim=none (message not signed) header.d=none;opensvc.com; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.21 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.21; helo=milsmgep15.sandisk.com; Received: from milsmgep15.sandisk.com (63.163.107.21) by BY2FFO11FD021.mail.protection.outlook.com (10.1.15.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.567.7 via Frontend Transport; Wed, 17 Aug 2016 19:57:22 +0000 Received: from MILHUBIP03.sdcorp.global.sandisk.com (Unknown_Domain [10.201.67.162]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 64.5F.26959.AAFB4B75; Wed, 17 Aug 2016 12:49:00 -0700 (PDT) Received: from milsmgip11.sandisk.com (10.177.8.100) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.301.0; Wed, 17 Aug 2016 12:57:19 -0700 X-AuditID: 0ac94369-babff7000001694f-8e-57b4bfaafc9d Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id F0.FE.02783.B91C4B75; Wed, 17 Aug 2016 12:57:18 -0700 (PDT) To: Dragan Stancevic References: <31d43b64-36c8-1a24-a849-230b5cf6323c@sandisk.com> <14804b8b-51a7-e860-91d7-9b594aeed63c@sandisk.com> From: Bart Van Assche Message-ID: Date: Wed, 17 Aug 2016 12:57:15 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLIsWRmVeSWpSXmKPExsXCddJ5ke6a/VvCDe78sLZY93Eum8Xed7NZ LS5N+cHmwOwxq6GXzWPN7dOsHu/3XWULYI7isklJzcksSy3St0vgyvjxNq3gs3XFidZ/zA2M Tw27GDk5JARMJHa928fYxcjFISSwlEni3YpHLBDODkaJb0/fMsJUNR2bzAJiA1UxSqy9GQBi Cwt4SSw6eJ+9i5GDQ0TAVOLdwzCI3l2MEqva7oPVMwtkSbyef48JxGYTMJL49n4mWJxXwE7i 8p0ZYHEWAVWJ3Z1tYLtEBcIkpt19yw5RIyhxcuYTsHpOgUCJmXt2skPMDJBY/PczM8RtfawS +7YJQtymLnFyyXymCYxCs5C0z0LSAmFbSMycf54RwpaX2P52DlQ8ReLSwyXMqOJcQHYDo8SS c2dYYIqObt2HXVHb9l6mWcDAACnauTIMq5pNbUuYFzDyrmIUy83MKc5NTy0wNNUrTsxLySzO 1kvOz93ECInozB2Md594H2IU4GBU4uHdMXVLuBBrYllxZe4hRhWgSY82rL7AKMWSl5+XqiTC y7sXKM2bklhZlVqUH19UmpNafIhRmoNFSZzX7d6XMCGB9MSS1OzU1ILUIpgsEwenVANjHf+v dUw5DG8Y7Xe3ZmYa5M47/Hm7+MmfT/ODJ8ac/3meb68ik2Rg/LP4mtS7l69PjYgX1s/c9e5Q BK/YhpoUttPss7P/3vlw5hXjwrWaPdavjq20kjuw2nejmt7zpHi95qPWjYkXnh09nJtgwFwt v29SwPzgYMXLpqtiTXrkZEUToqYYKBopsRRnJBpqMRcVJwIAqAdNQvACAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMJMWRmVeSWpSXmKPExsXCtZEjRXfewS3hBh8uGVis+ziXzWLvu9ms Fpem/GBzYPaY1dDL5rHm9mlWj/f7rrIFMEdx2aSk5mSWpRbp2yVwZTw40s9YMN+mom1KP3MD Y4dRFyMnh4SAiUTTscksXYxcHEICixklPryawQ6SEBbwklh08D6QzcEhImAq8e5hGETNLkaJ VW33WUBqmAWyJJ72XmUCsdkEjCS+vZ8JFucVsJO4fGcGWJxFQFVid2cbI4gtKhAmMe3uW3aI GkGJkzOfgNVzCgRKzNyzkx1iZoDE9cfbWCcw8s5CUjYLSWoBI9MqRrHczJzi3PTMAkNDveLE vJTM4my95PzcTYzgYOKM3MH4dKL5IUYmDk6pBkb2tfmV2+o2d57vm3tkwhalFxKxkef2v2Vi jDU+kJx6e4f4gs76L0eqy6b5rby9fEPzm/WvrJwWGp5z+rH45STh9zVZSW39jZc3tBxnO3eY 4U1fxFbJr33s7d/ZOCa8CTn9/uUX/3MTDyU7Nt78Mrt9QkF2amvqtJDNcjPP1Qrzy1WXTf3G d9VeiaU4I9FQi7moOBEATtmPCdYBAAA= X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(24454002)(377454003)(189002)(4001350100001)(86362001)(65806001)(33646002)(65956001)(626004)(87936001)(4810100001)(586003)(97736004)(2950100001)(2906002)(8936002)(270700001)(31696002)(8676002)(19580395003)(189998001)(2476003)(19580405001)(69596002)(5890100001)(81166006)(83506001)(4610100001)(5000100001)(4326007)(50986999)(84326002)(81156014)(76176999)(68736007)(77096005)(2270400002)(106466001)(356003)(54356999)(92566002)(305945005)(7696003)(7846002)(31686004)(53416004)(110136002)(568964002)(64126003)(36756003)(512874002)(65826006); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR02MB1164; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD021; 1:iTW4JfIg8uWAPBmfMVuK49uftYOSJz+lt+WhRLq2akSf/m0IA93AiYyUiYEeWR2kCG1ecN9+kRckBpzO4Qgohibj6UkJvYksRRYW/anJIDsMYriAX4VFBIDAyplHbm0bxROZesTVhs5D22EEuUTmWjhNOkDFO3pTd3/bYsSJVXLHQPOJh9niK3kwIcEbHCx5YDUDFvEcf3JwZ96/EOpCf06YEVvxpMx1LjvFYRQKucqmipFdP/oyThJ1qpTy/wqlnNaLCM20NbqjpxYfAFOBAHv9Wca8qcPiacGkWX2eTSTKWlj65Akf2InpOaFsOhhpx2Of8z7er5tVD/NAt5KcxEEodZJANbjg2qymBmVa/BHj+4da02FxIrdL7D2zDb2lV2fZrCxPjgUXc2W41/QNVNx5s2vTkBgnNTCCQ4fNVy0ZMjHfmw3rqqmDUqpvU3zpqCWY6hp0IF6CGVIX1lAwnpD5IvT3lpDphkSuPEgJUC3yqOTvz+WvmvxaE63gd1Fq71Wp0NY4c+W521S/ciVBuA== X-MS-Office365-Filtering-Correlation-Id: 1dfe2afb-edd0-4ee2-7e61-08d3c6d8b40c X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 2:OQzo3ZWDKX2xQo11cbS8Q5HP9aWcax2h3V/SqTVYkjAFcjoPVl1tmnyTtq1LBc2R6e8BC9oVMu5WJafHAJhulA/rBHRgsz6bEin5EsEROY8rpDTjUcTrGCyJ3U3Pe2DWUZPkVMXmV6jVH6DZl6cZkxssDbbPRGQbDmB39t/Cty950upxFh+Idafgw1gJZKN0; 3:ubunhp59iSxisk/Qhx76lNRacYFu1Ax2sntIKaa4cynBQGaabG3gP8dzddNh7tklHsml0BWsy4zsWDwizm25pxJED0R3t32i/rqfRMN2MxElbEkcOtTDj3FEJl6wWMKVrDwGhBeRQVDwNbywwMyqv4uhTlgjof72q8kdUSVFWQSuVhDIbrJAxT4Dlag65nBSE0vhG6+mPsHwsx6KC3gEgeQPxnuPD0yUw5o/vhVlbh9Ov1K2CtwMJx/DpvN3KlPd/tBqdWwIShQdc+3J/UC/Lw== X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:BY1PR02MB1164; X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 25:WC/Cm5g7BT+uVg6ExA2U1k1ol0jk6JOHmON5d4yf3PnxbBDkKL4ZpFpBnM0j0DN9jkFScjXDMXyXfa5bpP53Y2XaNIEjezoaxVFQZcgdH77cCQvVI9TTo3zFjN13FejYca1MiN4e5ph6OVuZJoKph7DOV1MrKwZs32KK2kRqPJAMQ0oq9H0f6dj/wkQBXvephEIH+Fu1B4Q3L2CRUyb8ZN9uz+L0STn2E5DA0QNo2vI+02Gwl+6HQ9qGoRC3fdLgcX50f2zmbdV8bh54gG1W5TIgcT95lkmtGrPkFBYkTUBavCEHwUejXOaylzBm270NTvEeT8jjiFRaNiOG1BezwFwipNF5mqwMBL4CKKeXdjuPb+QZ3qXzicXAs7fak7dCzXxN34eVwqs5jD/NqxMRUNOrYvOfjaEqEIm3r5aKZDJbDCBIcu88rXnVMZCKvzG94g6VND06twUx4YZVZsU+PSl0t9xBU8HwuO/Lpv8GG4ckYbVAmbH/CFBSMRS8McBcJAOY67dRuipcBSrEW6w7/fGy6MppZr1uIjOGHke965Rp8+Cumv+htA/6RLn2pGFVhGcRktEZgD4V9lNSm4yfY/XN98UeLi45cHE/OwlGRF1bca8gfpgGSxhvuWKzVmnswE41AIhGEImVWrSehDx/Ag6He5HHe6BqUKaPzSVLK1cco+Bc18D9pvJyXEGUilfsdaIeZNXkBmzYlShKLMaC451FBrNEhO3mBUOXLVFpK8v1rzdozMAfWYUWgQbD3lI62nuXWd6QGO9MhLZcgTETU3bJDeP6Y81Ym0UF97E15wjKnSd8wB/xBAy4hSFGRv7fjhdit8Uv5OyBWO+fKKVp+MnB4GI4l6/gfW536O9Or73pIV5KK8Yhb+FjmKzR8ZEFoUGylEm7CkV1sH8VTQdrqg== X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 31:6wmlOhfA/6a5ApWgu1LLZ79va66iFLrJEvY8sEa9p5OgkwIcvxOZHifO21XDqgUZAFzJl6ZyuL0b4sR6Jw2g3Cq34BKN0QFbfWjvsqGNWdUY6qoLSv3hAnI85JQda0tePy+/mMHUW6PKJteH9BrAkXKjFAUL2gV1kqt21UJmJ1P3LwLzPfgWDJpdwIWw9FkNrM2POHCS3z9hUg1j8TGMgnrBWCmGqc4hkGDzJwr8kej6aZ/JVbPg0edmrBh4iAUu; 20:PYTNUDpRzg967x/TaKZdAUVEbClUuYq1OJagC0FkgVnNFX2oH8pg2zoO1QID/hgA4/xrtX83mXi1x3ksx/lDP3D/cLW0+0OFH9+wRoIJKeCSP0I2LySFPkawAUUHQb6CqXpasi3j3fEz1nf19XwPYF0NQL6X0o64clVTKfKOXpmp27z4z+9EMP5YAogm+Fk/svM5KAeuat781dHyl/dneqMvhDUn269X5h8zxD+r3KshQwAZQacLbI26oSjsP7rMoOYe4zPkguT7DTvU7HN/mnMSG4xn/rDVCAm77Mal7GCepvGbARJmpr+JdFf9zHW6GOhU5Y+jy5yv9S2BLGiQf44rbANTNAEN1lH+dZUvb0MYkG4nGFXqVqhZu566p2582yxIErMo9TIok/ElIXWRAncpakHNAdWFW+GsaFRSdXVFvXWyKU8+K0tqax6Qx+QMq23NF3Ljny6YHKUKdu5bkbXc7NWQp3VvutvAmXauEsDaRm41a3VQ90mrjrY+l+ME X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(198206253151910); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415321)(6040176)(601004)(2401047)(13016025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:BY1PR02MB1164; BCL:0; PCL:0; RULEID:; SRVR:BY1PR02MB1164; X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 4:PD54ipk3lQTmq2Xavar/MQzEAbiP/t2Od8oHVNCNRgEffE6Xp3WyD2KH6SHWlEBvRt8c9SoM1uvXIGLv6A5SniebHe+P+sL7fw3MUFAFypYOp42m00Vn2D1SuBnIHPgGSNE+huCeq1aCyf8ZQP2I+kQOtwpNATVHl5vk8lihy7oOyPXlEh0mJ2t4AnFeufRfN4DJcMNcgj0flup6oGC9xZAmqq0//uiVM+43CoogvCs1sw8sVfteAtX/LUnNf4cLi1GwSk8pMHvGVfOLhn9TzRUDNvA20KiL6WjOEUVBgoYg9MNUMfsE4YYdrLD5eDILF+xHTrWJ58HsjstpX9kgQyDARXCq5c7+y48D/Hdzme8/OhrTY+nw+VEh14l7+s7isERhzx1ObJ5Do1t4oBdZ1D4rUVBGhZosi1Ng12l9CrIrfjm0Vh/ugQYjIl4ZQ0OSWVi3oqEOakphvew6QnghxmsOXbsLfNSLAiPg3xCjTCrLlXpiEUk0YCpvaxY1KsIW X-Forefront-PRVS: 0037FD6480 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR02MB1164; 23:kV8L6RBt99xnAPDq7LEvmoCbzakt6O20LdFwnt++M?= =?us-ascii?Q?ES3UFiC8AfBNrDacKzUvXlIr1FgenW2sKqVVTM0yD0NZ1+NClr6+T64NaUkG?= =?us-ascii?Q?MaHCVUfjyXQziB/tNAWko173qrZori8obEnNd+5D8n+q3/k1jru7bi+YuVXh?= =?us-ascii?Q?z2GGY0AMuzvZnDn+zaosWpM406lK/yFvlfdNCXI5x3KsDScQGI+99B00Jllk?= =?us-ascii?Q?oB9Raxy3DERTziemzjpSeF4qZNv3+vxv/cd0NibIKyWudu2+n8i5Pdc6l2Nf?= =?us-ascii?Q?rR3nNKW05fcjWh+pNdos45C1wOqc7S0z61Y/OsT/0rkN9BenLVw8kC2/XAmC?= =?us-ascii?Q?39gwLCR1FE5v7ZNBZ6QssK0NeNAG/X5zWRtuUYKtjIKrJDfobPfE6wrWH4TA?= =?us-ascii?Q?2elAcA4g5uTgkhx2jWZp/IHYCXox1A251TVwQD81JXf8sI0dZj2qkecrCV6z?= =?us-ascii?Q?S7pRCERcvBwD4D2s/rSiS0nYjglMkH4aVqUL4wVk8vukAj0kRjZ+JYldxYjU?= =?us-ascii?Q?4ecpOkaFPBmql5GRKmpI+/eIJkNVba8JgYlQqulm2LvwmErZ66/bevwV2Fp+?= =?us-ascii?Q?hMWqEmb7IjrnpTdjCqw0KbD7YzTu2Db/RD8LM/Y3tphTiGxgooRejAXmirsj?= =?us-ascii?Q?rQkaG59nIxC8V7tqslwiEWJJ+yPzl6C+Ld96M9RX5GatEZ5R7KU9/f6VO4mg?= =?us-ascii?Q?HNI5pSPbmkyXE2rzdbRWctTj49YQ56oelJVpG1eo59Df0r13hptKEWXuqnm7?= =?us-ascii?Q?lMY8PliuxqaCTXR9MCybODXWvIDvMU/S9nMp/EANLiqUFEMJA5vGYxeUJAy+?= =?us-ascii?Q?NUOOZ9k3T0jcCVt0PIUY3BJY5803q6YSW3GNaU9Vcn/JeSpSZBSJDKbfrW2t?= =?us-ascii?Q?d7WlkwUObQSctSHYmJXWgzx2EXKsAEYjr+7Rrqj1P/RwbpJFKP6jutlpCdXs?= =?us-ascii?Q?jALLPyMHc0dCXSW0g2anRMExhknPB+/04zsYwSHccNzMgeMnLCMl3lXoCZBW?= =?us-ascii?Q?pnhtxSn4BuEAD7Qfj4poPYTNwJ+pUyUl8Mfn6Rbiyr3MlQAYitjvvQQlsr+X?= =?us-ascii?Q?vN1cQKBoRKELup6kp/wUwnrz82TUs8GCxqt6whGkd5p0uZDW24kI7Csj1p6U?= =?us-ascii?Q?SxLseUlicfXNVUiIPAbHIFxje3RGonmoikldPsEaKKEifutB8ViSUl1RFAZl?= =?us-ascii?Q?L++3wLV3SDrwdg2qwmy/mAdWGH75jY9SuG6SudIrZqu9JKx0yKqcYvzDx/7H?= =?us-ascii?Q?EJ+8Gbo9BrW7Ars3j5wI5HY2lRm0O8ybbTMNzweo6iJfFYMjUVvNedlSY41r?= =?us-ascii?Q?5iWcfY5Fm/q/qtidU29i2ALjRdRmLI+E5NcE0TnhMQlx0Dm8m2VOECyWFDw/?= =?us-ascii?Q?QJ0Xa6U6sdadFT5wszXr8aDQO4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 6:1lcmL+OZVsnNUs5uYe+7TTd8PNM+BTuBR8mrjcePmNBlxpFxU+mIRlRNCtogRe6V+aCOubDqzMQlIVqvNMtNVuc7dFBlBsFLZaPFB8kASn7quSnKVKDAWsqH6xgPrGZq/80hpEa3CFsxUfz8JddiE1tzWwQFcaLuo06sQKRSk0LWNyNU+qOi63lD5tdrAlTiol9IJXofwcB/IzyLFK4cBfIgz8HFjG1H8HKOMc6QuDwp3m2TxU6CmBBckv4Vp9YfmIZmSGbEZ+tQoYcavynJUpAfWHe9D+VzMfYaJtIsMjWWnie4B2HE8Qr8E3dEX0iLk0tPIPQSwnkSOMydQ8Qjtg==; 5:U/KCnX7AMWf9VAd3HmOodg+E3L3dypxNfmk0WpnavZaIQcROgtbrtLkM+w09jh1GBJSOcIfnVBtUzRNzFsL6m60wChHLtNtCogqEsigIT7YOre09NPxtQP7gn1Bxv5+UxiwJUfXZ3e60B1XJn8pVgQ==; 24:S6/bzh26eFostSXayB5jAVDmqH9MCqBMAchonk4IVJpF9nAQ6Vcu9h+KpezBryWiN0CuP9yyjRzK2oBmeVYppB/8jNxOqSaf/9cFD9BRqdE=; 7:KvGuva3B6EPgeuO/yvX/xSTSCcjIzKOZ7mTRBzGLEj2sa0o1OulCSqsA3VimMCi1ERk48RIW2L0uz01Y2xY9w7snMhJvUaMZVxqrV8l3SmMB6m1o/ZHLf//SAJ/SbSyS+ZE7jV310U58mGivB++LvvoHkbGxjKD+KppcfEtE2atsSAlAaJqE6UJ6TzgaE19LWTasFTSfKePgZiBNJlQR50Tt1KBIDxXsZFO4nRanm73RNdGKsdp0Y1c9KlbOO0bF SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR02MB1164; 20:75AkmVIi1hq7wZiR1I/k4SJw496sIddsuwcjwq5XG6IYPznk83Z34PUsLj5gT9J2CvGwCYu+hTczpLSoWW2+Zj+Lq3JwYQGdVUrxIeeBurlRrIqEU3DtcxOyzYoBgnHGvkj5up5GrkRzrtm3zr2eJiQJgKVhB8o/GhebNRKpNPCyV43J63uA6WDG54Vhb4fmjUdJiTF/jN/QndclAs/2b0gxEnooebpaDozRlWlgFqUwA7eOJtJ5D/Ddiax1zShM X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2016 19:57:22.5013 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d; Ip=[63.163.107.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR02MB1164 X-Greylist: Sender IP whitelisted by DNSRBL, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 17 Aug 2016 19:57:26 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 17 Aug 2016 19:57:26 +0000 (UTC) for IP:'104.47.41.66' DOMAIN:'mail-dm3nam03on0066.outbound.protection.outlook.com' HELO:'NAM03-DM3-obe.outbound.protection.outlook.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-Spam-Score: 0.668 (BAYES_50, DCC_REPUT_13_19, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS) 104.47.41.66 mail-dm3nam03on0066.outbound.protection.outlook.com 104.47.41.66 mail-dm3nam03on0066.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Scanned-By: MIMEDefang 2.78 on 10.5.110.27 X-loop: dm-devel@redhat.com Cc: device-mapper development Subject: Re: [dm-devel] [PATCH 6/6] multipathd: Remove a busy-waiting loop X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Virus-Scanned: ClamAV using ClamSMTP On 08/17/2016 12:36 PM, Dragan Stancevic wrote: > Acked-by: dragan.stancevic@canonical.com > > > I agree with your patch, I have been tracking an issue where multipathd > dumps core on the exit path just past the treads being canceled. Your > patch is very similar to mine (minus nuking the depth) that I was going > to send out to a user to test with. The checker thread accesses a valid > pointer with garbage values.... Hello Dragan, When I prepared my patch I overlooked that multipathd creates most threads as detached threads. So I started testing the three attached patches on my setup. It would be appreciated if you could have a look at these patches. Thanks, Bart. Acked-by: dragan.stancevic@canonical.com --- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel >From e1144d5321f87bc72e6fb29b40cf7728125aa926 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 17 Aug 2016 09:58:09 -0700 Subject: [PATCH 3/3] libmultipath/checkers/tur: Fix race related to thread termination Since the tur thread is a detached thread, all data structures associated with that thread are freed once the thread stops. Avoid that pthread_cancel() triggers a use-after-free by protecting pthread_cancel() calls with the same spinlock that protects ct->thread. Signed-off-by: Bart Van Assche --- libmultipath/checkers/tur.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c index c014b65..f724350 100644 --- a/libmultipath/checkers/tur.c +++ b/libmultipath/checkers/tur.c @@ -3,6 +3,7 @@ * * Copyright (c) 2004 Christophe Varoqui */ +#include #include #include #include @@ -98,10 +99,11 @@ void libcheck_free (struct checker * c) ct->holders--; holders = ct->holders; thread = ct->thread; - pthread_spin_unlock(&ct->hldr_lock); if (holders) pthread_cancel(thread); - else + pthread_spin_unlock(&ct->hldr_lock); + + if (!holders) cleanup_context(ct); c->context = NULL; } @@ -207,6 +209,7 @@ void cleanup_func(void *data) int holders; struct tur_checker_context *ct = data; pthread_spin_lock(&ct->hldr_lock); + assert(ct->holders > 0); ct->holders--; holders = ct->holders; ct->thread = 0; @@ -310,7 +313,12 @@ libcheck_check (struct checker * c) if (tur_check_async_timeout(c)) { condlog(3, "%d:%d: tur checker timeout", TUR_DEVT(ct)); - pthread_cancel(ct->thread); + + pthread_spin_lock(&ct->hldr_lock); + if (ct->holders > 0) + pthread_cancel(ct->thread); + pthread_spin_unlock(&ct->hldr_lock); + ct->running = 0; MSG(c, MSG_TUR_TIMEOUT); tur_status = PATH_TIMEOUT; @@ -349,9 +357,9 @@ libcheck_check (struct checker * c) if (r) { pthread_spin_lock(&ct->hldr_lock); ct->holders--; + ct->thread = 0; pthread_spin_unlock(&ct->hldr_lock); pthread_mutex_unlock(&ct->lock); - ct->thread = 0; condlog(3, "%d:%d: failed to start tur thread, using" " sync mode", TUR_DEVT(ct)); return tur_check(c->fd, c->timeout, c->message); -- 2.9.2