From patchwork Tue Jun 20 14:07:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Steinhardt X-Patchwork-Id: 9799651 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 4C26D60328 for ; Tue, 20 Jun 2017 14:21:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3B82F24151 for ; Tue, 20 Jun 2017 14:21:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 303B3284B0; Tue, 20 Jun 2017 14:21:37 +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=-1.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=no version=3.3.1 Received: from emsm-gh1-uea10.nsa.gov (emsm-gh1-uea10.nsa.gov [8.44.101.8]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 77B1D24151 for ; Tue, 20 Jun 2017 14:21:35 +0000 (UTC) IronPort-PHdr: =?us-ascii?q?9a23=3AIcoMlxV209CalxqDUU95t1C45SbV8LGtZVwlr6E/?= =?us-ascii?q?grcLSJyIuqrYYhaGuadThVPEFb/W9+hDw7KP9fuxBipQsd3c4DgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyrwjdrMobjIhtJqsxyRbCv2dFdf?= =?us-ascii?q?lRyW50P1yYggzy5t23/J5t8iRQv+wu+stdWqjkfKo2UKJVAi0+P286+MPkux/D?= =?us-ascii?q?TRCS5nQHSWUZjgBIAwne4x7kWJr6rzb3ufB82CmeOs32UKw0VDG/5KplVBPklC?= =?us-ascii?q?EKPCM3/2HNjsx7kbxVrhSvqRdix4LYeZyZOOZ7cq7betwUWWpPU9hIWyBYAI2z?= =?us-ascii?q?cpEPA/McM+ZFtIn9v0UBogeiBQW1AOPvzTFJjWLy0aA61ugsFwbJ0hAgEd8QqX?= =?us-ascii?q?jYtdf7O7oIUeys0afI0C7Db+tI1jjh9IjDbxQtre+QUb51d8fa1EshGB7fjliI?= =?us-ascii?q?qYLrIS6b2OoOvWac7eVgW+Cgi2A/qwxzvzSiyNkjipLSi44J1lzJ7zl1zZwpKd?= =?us-ascii?q?GkTkNwfN6qEIFXtyGfL4Z4WNktQ31yuCY71rIGuoOwcjUWyJs5xh7fbfyHfJKS?= =?us-ascii?q?4h3+SOaaPDB1hGp+eL+knxay8lOgxvf9VsmxyVtHqDdOnNrUtn0VyhDe5ceKRu?= =?us-ascii?q?F980u8wzqDyQ/e5v9eLUwpjabWKJ4szqQtmpcRtUnPBDL6lUvrgKOMaEkp9eql?= =?us-ascii?q?5uL6abv8vJCcLZV7igTmP6QrncywHPo3PxAVX2ie5eS8zLrj/VDlQLlSjv05jK?= =?us-ascii?q?3ZsJfCKMQHvKG5GQ5V0ps46xqlEzen0MgXnXkALF5ffhKIk5PpNE3ULPD9DPe/?= =?us-ascii?q?h0ygkDZtx//YIr3sGojBI3fMnbv7fbtx9lRQxBQ8wNxB/Z5YF6kNIPfpVU/wsN?= =?us-ascii?q?zYAAU5Mwuxw+v/E9VyyIceWWOJAq+EP6LeqESH5uUyI+mKeIAapi39JuM55//u?= =?us-ascii?q?kXA5mVgdcbOv3ZsMcn+0BPtmI0KHYXb0mNcODX8KvhYiTOztkFCCUzlTZ3CoUK?= =?us-ascii?q?Ig5jE0EoSmAJzBRoCqhryB2T20HoZKZm9YEFCMCm3kd4KeW/cDcCiSONNukiQY?= =?us-ascii?q?Vbi9TI8szROutA3gxLV7LerU4SoYtZTi1Nhr/ODTmxUy9SF7DsuGzmGNSX10nn?= =?us-ascii?q?4SSz8xxqB/rlR3yk2f3qhgn/xYCdtT6utHUwc7MZ7cyvJ1C8rpVwLPYNiGVVGm?= =?us-ascii?q?Qs+8DjEpVNIxxN0ObFhhFNW+lBzD2DCqA7ANnbyRGJM06r7c32T2J8tl1nnJyK?= =?us-ascii?q?whj14gQstTKGGrnbB/+BbJB47IkkSZkKCqeb4a3CHT6GeJ1XCOs11AUA5sTaXF?= =?us-ascii?q?WmgSaVbKrdvj/EPPVKOhCbMiMgRd08GCMbdKZsfvjVpYWPfpIM7ebH6pm2esGR?= =?us-ascii?q?aIwauBbYrremUa2iXQE00EkwQK8XaHMwgyHCGhrHjEDDxtFFLvfV3j/fN4qHyl?= =?us-ascii?q?Uk8+1xuKYFF517qp5h4VguSRRO0L3r0eoichqi50EU2l393MEdqAphFhfL1YYd?= =?us-ascii?q?wn/FhIy3jVtwtnPpyvN6pinEIRcxxrv0Py0BV6EotAkdIwo3Ms0AVyKLmY3UhE?= =?us-ascii?q?dzOA3JD8I6bXK2fp/By1bK7WwF7e2s6M+qgT8PQ4t0njvAaxG0oh6Xpn0N5V02?= =?us-ascii?q?aH65XJFgUSUpXxUlst+xh9vbHabTE355nI2n10Lam0rjjC1sozC+Q40BagfslQ?= =?us-ascii?q?MLmfGQDoD8IaAtKiKOswm1imdhgEJvxd9LYoP8O6cPuLwLSrM/t9kz+9gmRH5Y?= =?us-ascii?q?983liK9yViVu7Cx4wFzO2A3gubSzf8i0+sstv5mYBeYjESBXa/xDP/BI5XYa1z?= =?us-ascii?q?c4MLBn2oI8GtwNVxmYLtUWZC9FG/H1MGxNOpeR2KYl3zxwJQ0VgXrmK9mSuj1D?= =?us-ascii?q?F0jS8mrrCE0yzTxuTubh0HOnRERGN6l1fjPZC0j8wGXEivdwUpiAaq6lv7x6dB?= =?us-ascii?q?oKRyNHXcQUBNfyfqNW5iSbewuqCEY8FR9JMiqT9XX/ikYVCGVr79pAMX0yXiH2?= =?us-ascii?q?tawDA0aSqqt47jkBNkkmKdK2x/rH3DecF/3R3f/sDTReZN3joaQyl1kSfXBlmg?= =?us-ascii?q?MNm1+tWUjY3Pvfy+V2KmUJ1TfjLmzYeBtCu9/2JqGxq/k+q0mt39HggwyTX72M?= =?us-ascii?q?VyVSXUsBb8ZZHm16C7MeJ8YklkHUT85NR+GoF/lIswmZ4R1GMBhpWN/HoHl2bz?= =?us-ascii?q?PslA2a7kanoCWyILycbP4Af5wE1jMm6Jx4XhW3WHxcthY926bX0M2i0h6MBLBr?= =?us-ascii?q?yZ7KdZnSRpuVq0twXRYeJynj0F0/sh9GYag/0VuAoq1iidGqodHVRcPSD2jRuE?= =?us-ascii?q?9cuxrKJTZGazdriw0lFzndW9ALGEpQFTRGz1epE8Ei9s9s9/Kk7D0GXv6oH4f9?= =?us-ascii?q?ndddETuQOSkxfblOVVK4w+lvwRhSphJ239oWcpy+khjRxhxZu6ppSIK31x/KKl?= =?us-ascii?q?BR5VLiX1aNkO+jHpk6lehtyZ34azHpp/ADUGR4boTem2HzIIrvTrLR2OEDohqn?= =?us-ascii?q?eBBbXQAwGf6EB8r3LADZ+nLXeXK2cFzd96XhmSOFRfgBwIXDU9hpM5CAaqy9H6?= =?us-ascii?q?fUdn4DAe+174pgFKyu12Kxn1Sn3fqxuwajcoVJifKwJb7hlY6EfINcyT9f58Hy?= =?us-ascii?q?BE/pyhtQCNJHaUZwJSAWEOQEyECEjpPqOy6tnY7+iYGu2+IuPAYbqUr+xeS/CI?= =?us-ascii?q?xZe034to4TmDK8KPPmN4AP0jwEpDWnJ5FNrFlDUTUSAXkDjNb8GDrhem5iJ3tt?= =?us-ascii?q?y/8OjsWA/34IuAEb9SMdFx9BCqnaeMLfSfiT1/KTlGypMM3mPHx6IH3FEMkS1u?= =?us-ascii?q?cSeiEagYvy7XUK3QgrNXDwIcay5rLstE9aw90hNIOcHBjtP10b55g+UvBFhZUF?= =?us-ascii?q?ztgMapZdYFI2ulLlPIGF6LNKiaJT3M28z3b7m8RqNNg+VPrRKwvyqbE0j4PjmY?= =?us-ascii?q?jTbmSxWvPftLjCGBMxxUoJu9fQp1CWj/UNLmbQW2MNltjTIs2b00nmjHNWAdMT?= =?us-ascii?q?hmaENNsrOQ7SJegvplHWxO8ntlIvOAmyqD6OnYMJkWu+NxAitoj+Ja/Gg6y7xN?= =?us-ascii?q?4SFcWvN6gzXdrthvo1G6lemC0TtnXwRQpTlVno6Lul9iOarB/JlaRXnE5A4N7X?= =?us-ascii?q?mXCxkSvNRqEdrju6RRytjUiKLzMy1O88nK8sQAHcTUM9yIMH4gMRrvBT7VAxAI?= =?us-ascii?q?QiKrNGHFmkxdi+ue93OPoZgmsZjsn5wORqVcVFwvGfMQEl5lE8AaIJdrQjMklq?= =?us-ascii?q?aWjNUS6nqgthbRS9tVvovcW/KJG/rvNiyWjbZaaBsT27/4K5ocNpHj0Ux4dlZ6?= =?us-ascii?q?hJjKG1bXXd1VuSJhbwA0oEJL8HVlU2I8xVnqagK3738VD/K0mQQ2igRma+Q36D?= =?us-ascii?q?js+0s3JkbNpCYoikYxls/qgS6PfzPqK6ewRZ9ZCyzxt0crM5P7Rx16bQq9nEB+?= =?us-ascii?q?MzfEXb1RhaN6dW93kA/cpYdPGflEQK1YZx8QwOubZ+8v0VVdtCqnw1RI5fHCCZ?= =?us-ascii?q?R8lwsnaoKjr3VF2w1/dtE1PrDQKLBPzldOmqKEpjWo2fwpwA8CO0YN93ufeC0I?= =?us-ascii?q?uUwMKLYrPC+o/uti6QyMhTRDZHQMV/otovJv6EwxIeKAwDz807RbMEC+K/SfL7?= =?us-ascii?q?+Fu2jHjcOIRE0/2VkMl0Re/rh21twjc1aOWEAp17uRFBUJOdDEKQ5Lc8pY7GLT?= =?us-ascii?q?cjqWseXR3ZJ1OJ2wFvr2Qu+VqqkbmFikExopH4kX9csBH4Os31zfLcfpNL4F0w?= =?us-ascii?q?si5QTxKFWDEvtJZAqBkC0brMGn0J93wY5dKykADmV6NyW34KvYqREugPqCR9o5?= =?us-ascii?q?eGkVXpEDNn4sX826gSFZtWxaDDaryuIZ1BSC7zjkqyvNFjb8cdtja+qPZR53Et?= =?us-ascii?q?624y8/86+4iF7M7JrRO3z6Nc5jut/T6eIWvZCHBO1ITbNlqUfTh5FYR2C2U27I?= =?us-ascii?q?CdO6OoPwZJc2Ytz7EHa1SEK/hikuT8jrP9atM7KIjhvySYZQrYmb2iosNdWkGj?= =?us-ascii?q?ECHBdwpOEC5KVmaQ0FfZU7fQbitx4iOKynPAeYztKuTn6pKTtRVflQ0+O6Zr1Q?= =?us-ascii?q?zyc3Ye+6zmYgQos9z+mt/k4HXIsKgQ3Gxfa/e4leVjD+GmdDdAXLpCo5kXVhN+?= =?us-ascii?q?kpz+gjxxPItEUTPCqQdOx1cmBEuc8zBU+KK3VsFmU4X0OcjZbE4gO03LAS5Stc?= =?us-ascii?q?kMxS0e1ZsHjzpZDfYDW0WKO3s5nVtTQvbcQ+qa1rLYPjOteGtI/ZnjHHUJnQsw?= =?us-ascii?q?iFUCmmF/pamtldOz9XQPhImG4/IsMKo4xB5lQtVs0mPbxAFLEspqy2aTpjFSMd?= =?us-ascii?q?1ysZV4Kc0zMcmui83rvblhGXcJQkKhMJq45NgtoHXC5wey8eqrKjW5/Ql2CaVm?= =?us-ascii?q?gBOB0T4hhU5AIcio9wefjo75HWQ59K0DNZue97UjXVGZly7Fv0UHuWgFjiRPWm?= =?us-ascii?q?ieyp0hpYzOjw3dkDRB5/FU9dyv5Zlks1KbF3L60QsZDPsjKTaEz1onniyOq8K1?= =?us-ascii?q?lX08HUcEf4DIXdv2rmTiIc4WEURZNIyHzHD5QSlQt5Z7orpFVLJICmYV7w6SU5?= =?us-ascii?q?yYpzA7S2UtumyEoirXYDWyilCcFBC/18vFLRRjJlf4ihqI/5NJVKXm9Q5Jqdpk?= =?us-ascii?q?9DkEp3KS65zoFTJtpR4j4WRjdPvyuSvN+zSM1F1s92C54MIth/u3fhFqNLIoKR?= =?us-ascii?q?o3gstrzp1HDZ5yg2sE2myzWrB6+4U+VZ8nUQGwkzO2ueqkgvD+4t8mjI8VDAqV?= =?us-ascii?q?F08PlFCbeRl0lxpyx9Hp9WDDZTyX+lN0hzTGVBs+hCMqvVadFcQ/8oaR+sIBE+?= =?us-ascii?q?FP8m302V/U5vh3v5ZTJ9thdC8SDHQwY0TTUVgqvqmTAGq8GnPyMaRIxMbTo/ai?= =?us-ascii?q?fKNR6bmTpXvRtEbEFqQ44WAtBA+74B3ItU+tHNSUGjKC0fWxxiLA042+JFlUFf?= =?us-ascii?q?qEWYZTzdDQ2wePbAqB14Z8GRrNKyIfT4+wdGhIXnsPw496odRn2mnxGtTs7Er4?= =?us-ascii?q?PmsN2FqFeOfr/iM+KgeX/BUCTMjReoiLc4CJnK+jPeMBZHJ5l/0nUoe57hBnDX?= =?us-ascii?q?PR5ePaIUO1JbVbxmadVBuu1aZ9VreLwT9q9pGx2KXQ7gF5K3rPleMFnTQSrRLz?= =?us-ascii?q?+b/uy4u4LT4qTXSfL8acyU23bHX6V3M4946Tn8BbjnypJR9VTt2vhz7EN6VUbJ?= =?us-ascii?q?PD2boNTnOAwL+NGodlH+sZ0xATPWHJBwnWL2yUFOa8UbXy+n/IkWxZ5C9HnwTu?= =?us-ascii?q?d43VTpv+1J67lo84837K51yc2sP6fdNexasVN7AhiTHghq7IsiD3V/R29Lfu8c?= =?us-ascii?q?M/PRfaMHjc/wtez4C6sX5wCL9OBDb9vIOV3BkNGlCj6AURxEgBsBqTkCIwuEzP?= =?us-ascii?q?6Fh7V7Rtu5peXiwUIt5EW+LgQaw79z44eE5rCIq/XTbxfLyrgEQKfqTNvprrsw?= =?us-ascii?q?o0OS+eEklLkWd2xpeQ2oDvYSWdMGy2f9yaAq0TgsHNndH7Lh//5DU2w2ni76l5?= =?us-ascii?q?B6BVUWFeseHaCX8oRGgmc4h+vZO8UUcq9YgGaPEgWkErsYxn618CaXJXRlghXS?= =?us-ascii?q?0xHxXWyz7UX5rSljQSfWyNfjiEVVXKGtBUhORyqpJVN4sDSXMQrqrtX3v6o17F?= =?us-ascii?q?sxMmP5qt2Aj3ehN6lRH83kI9yQOy80q0wLjJcpXNygxZgbGcahINcW6Hx+aP/e?= =?us-ascii?q?5niqky9HpqdLnYve4seb+vXNB3aglLGaq6+QxD9E1ng4oEs/5c66OvHJ/d2KTO?= =?us-ascii?q?yi13wNQCdnpwvBQxm1p6Tdr1AVJUOL10PLl5YRPt1D3Hk40Ubm5PM4QN8o8QVT?= =?us-ascii?q?GYnBa+kFpTDpNzv+2UyfbM4vVimCzztXGUr4HkViF6g4xm3wp97JlHfX+1AzXY?= =?us-ascii?q?l/a03nigJxD4UkKEIi8kIbwiwdHggRcRqbFq2nBVz5LYsYUkgOcRCH3KO/eqo3?= =?us-ascii?q?xkBzzK2g6/LUbexmHaUNLuxdjgmMnFdFBp0WrbcSQLVme19S7KTXvBTtC5D7X/?= =?us-ascii?q?j6kno9Lf+1QsFf8c0Csnst/Aa+SAS66ZdC6bYbh4qEdqhabpjQpMp89Vto5SYT?= =?us-ascii?q?dixRhxhylxK5UOEGq+/5/tfWq4Go5fiyVKkzW+ob7R80B35xj5HomlAsvcnX1/?= =?us-ascii?q?tASo3SkYnw6wFNI2WEuYnA0Rl8KPYOK5qxc7Z983UKPDQRJ3UTMtWIcfY8/jVt?= =?us-ascii?q?MDLJ51NYGM8MYskYPMXVkwBOlkLpQK1T9tbcGlKAE4d8bdwo4Hb3yDE79ps8SO?= =?us-ascii?q?Xg5CatJZ/B61FNPvVDjDhjld/ZvOga2+bSBzQX4XiXbBh12CCCx4OOC/nu5+WM?= =?us-ascii?q?zs/bV1ccEi4xSYddKyKI+Ra7SeqtiJXpTgSU59fvgJIkak2QQma+nKIbvatXDO?= =?us-ascii?q?FAiyr73jlCFo/vnPKaqcCs6HZNul1BDolz8QXPGL9DMZVjJRT4is6rS1BzBiTl?= =?us-ascii?q?YsHbaAYuuOqNy+cI4uV+K1XxZY8BLRIZ0LL283xVQRVySLTupFaWQfoRZMd6SP?= =?us-ascii?q?PDtn1V5pxvK6kTPFiao5zmqSxIp04yAA8obr8wszNbe1LKnAJLQab1uKQPhhEa?= =?us-ascii?q?UdFnpU9GAXiwN34m5zrbSaRVi7GcB+AX8jqJUqMDSFlnMiR6QxOx2ZVhZaGpne?= =?us-ascii?q?xZvWxaniNxuv8q0yZpRBGkoy3ju7oN2S48+LG/rDgBvHtFTuOCkyfHF1pO1/EK?= =?us-ascii?q?jaYGBHbk91O8fHcCbIzo4LlkPsTs748h7GojYR87ZS0JQfygCz3sj6OPGoGPv8?= =?us-ascii?q?5ThAWWuMnXcLG9Ii4cNrU7yRL+SHlwyQfenBNy/2sNXDqs9tgkJJ+yOcw93Cqn?= =?us-ascii?q?BXDbdEoQ4qNOqMbxt1kLTOswaV973Gpj0syHRjAQS83OGmY1iBMkaWZFcJ9Y9x?= =?us-ascii?q?8aFrcojSyMvqZb/wEYejHUHZq5+oPIh8fHxWE9Tct2xmLRvqCFh40q32djm95v?= =?us-ascii?q?6i6OpWkdd+3fU893GHTz0Z1fyePmbfW3ru8HUJdmyKimUPIaMMms52W22JtuWk?= =?us-ascii?q?K+yLURBVy5P/EfxrvBVSeqV3GYU/yRc2eQhzY5LlLy5R6wI104bMdKqEE8PfXG?= =?us-ascii?q?hp5YjADhSrR0RiORpVDH1mAjN/0Vdx4usoe9ZwMKVPIRZ/SbJeU2wv0+CFsNb2?= =?us-ascii?q?fOHStyCu+2rUCikZN+O3Vh/UX6e/ri/hrhMNuIFRkOCZTaoYJp+fymWmKBPmdt?= =?us-ascii?q?zAFzPElx7OrfC1UxufNfc5mPmdjcndJ73vAZd/11Ky0ypsYTmp5/6YmTyMqKdB?= =?us-ascii?q?DRzpXxJdHSufWYAefQz0ctemFcTLUZZxn554MkMd4lQ7fTB6dWvQwABagmR5ws?= =?us-ascii?q?L3z++79yLANvaQPRf7C0gs72puKXeJtbuWLZ4kg3LCfGtB0J0ua0QhBjb5C2m3?= =?us-ascii?q?XyJ4g9RipGr91pEBRmBoVOG8QErwqpGJOUnaa7i9iq+0xkp+AKq63wCuvR1NS4?= =?us-ascii?q?2YVxUIJW5UuRPDbeHKNrmFhqjvyugvfc1Zn8Ec3ids0AVOh6Wm7KdKTLH4S+Kj?= =?us-ascii?q?KLP8LzZVRG87qC375jVRWRfi/5VbKctCK4LPVk/Vk7yotgcevd1Dwt9bDb18fs?= =?us-ascii?q?aGxAoyejrGKJNIFB41DQAuzeRR1UQ+Kf8Gl5Ba0XcZf09OAWPNwlxNiT/RJ+7C?= =?us-ascii?q?xG0MSfOKihsk7M1V5ndZLBMkTmxTw1WY8ULxSjKUEsm3PWqmzBAXRAKcipMc1t?= =?us-ascii?q?gNeTDhzw6Eh9gGUtZm9aGmr0XtecImkb1Ni4ZA2N7g5LCMwDn+Gvc04iqqKyUf?= =?us-ascii?q?VoOolCmeiyr7UIj9JpKyDJRMhHMCDcK7B4PiZRDurRvlgnfAYEvKIuV4c2e5eO?= =?us-ascii?q?OkUHP1mEySzp0AvC3lf4d9u21KaGOCwW6GlIz6rZ0ThQoAm0ofOZjdf/X7DZbZ?= =?us-ascii?q?H2WvnSPTE7VjGbQzQ9D0Kp+Vaiu/oZs/uUO2AfokobYiiKEg4curhvrcTMDm/U?= =?us-ascii?q?geBjfocFhPOdWy/rUyB4iawyBjpLtUCLXvoDGgnWb2P7jGpapgOiOudG/Wj5YL?= =?us-ascii?q?2A2qpVR+sWD5NDcvKDWNTYY/FeKCksljgCJua8e8fTr6040lLVV2cZFbfH9EGG?= =?us-ascii?q?Rk6MXvOc3y7rXZkSv4UsuCoo/9XQnjVtE6TJJLaSvDiu/ZS9jCmGuO3STG4tY1?= =?us-ascii?q?Y6gOgaGmmO3AFAKH0YC9ESoEztWaCAZ0NQ238oiu9jwAEMdxppUn1v03xWm/C9?= =?us-ascii?q?FtdfSVEKkGP9CMEBOUt6CDI24F+i/hz5YdtGv9vaAWBZ6OgiU40YecEh9JPWM6?= =?us-ascii?q?hY++ok3TRmqTY2r23JF0h1lgGetavVSvEvjoZe7HU1qqklFnqERCnSJzGaxw?= =?us-ascii?q?=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HUAgCwLUlZ/wHyM5BcHQEFAQsBGAEFAQsBgwIrgW+Od5B?= =?us-ascii?q?qmCIqiGZXAQEBAQEBAQECAQJoKIIzDIFDLAhIAQEZBgECJBkBATgCAwkBARcxC?= =?us-ascii?q?AMBUxkFiFWBUgSrOYJXOiUCgmEBAQWITAsBAQEcCIZsgWA2iCOFJwGJVpUPnms?= =?us-ascii?q?NHIZcSJRFWIEKgQlJhH6CE3SJWQEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 20 Jun 2017 14:18:27 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v5KEGJWQ011067; Tue, 20 Jun 2017 10:16:41 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id v5KE7YQo168655 for ; Tue, 20 Jun 2017 10:07:34 -0400 Received: from goalie.tycho.ncsc.mil (goalie [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v5KE7Vh9007848 for ; Tue, 20 Jun 2017 10:07:33 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1BUAQD6KklZhxsEb0JcHQEFAQsBgy2CGo53kGmYK4YkAoJhVwECAQEBAQECEwEBAQgNCQgohUgDAycZAQE3AQ9RVxmIWoFSBKs7glc6gwgBAQWISwEBCAIeCIZsgWA2iCOFJ4lXlQ+eaw2GeEiURYFhgQlJhH4fgXR0iVkBAQE X-IPAS-Result: A1BUAQD6KklZhxsEb0JcHQEFAQsBgy2CGo53kGmYK4YkAoJhVwECAQEBAQECEwEBAQgNCQgohUgDAycZAQE3AQ9RVxmIWoFSBKs7glc6gwgBAQWISwEBCAIeCIZsgWA2iCOFJ4lXlQ+eaw2GeEiURYFhgQlJhH4fgXR0iVkBAQE X-IronPort-AV: E=Sophos;i="5.39,364,1493697600"; d="scan'208";a="6097715" Received: from emsm-gh1-uea10.corp.nsa.gov (HELO emsm-gh1-uea10.nsa.gov) ([10.208.41.36]) by goalie.tycho.ncsc.mil with ESMTP; 20 Jun 2017 10:07:33 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3A+zuxUhzQaw/NrAnXCy+O+j09IxM/srCxBDY+r6Qd?= =?us-ascii?q?1OMeIJqq85mqBkHD//Il1AaPBtSEraIUwLeL+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZPebgFKiTanYr5/Lxq6oAXRu8ILnYZsN6E9xwfTrHBVYe?= =?us-ascii?q?pW32RoJVySnxb4+Mi9+YNo/jpTtfw86cNOSL32cKskQ7NWCjQmKH0169bwtRbf?= =?us-ascii?q?VwuP52ATXXsQnxFVHgXK9hD6XpP2sivnqupw3TSRMMPqQbwoXzmp8qBkRgPohi?= =?us-ascii?q?oZLjI16WPZhdFqjK5CvRyhugd/w5bKb46JKPpyZ6fdfdQURGFcWspcVylND4W7?= =?us-ascii?q?YIUTD+QMI/9Uo5D/qVQTtxuyHBSiBP70yj9QmHD5wbE62PklHQ3YwAAsGtQDu2?= =?us-ascii?q?nWotroLqcfSeC7wrfVwzvNbP1Y3jXy6IbKfRAvuvyAQa58fNDNxUQ1Cw/JklOd?= =?us-ascii?q?opHlMTOP0eQNtnCW4fB6WuKzkW4nqh1+ojuyzckxlonGmIMVylbE9Spj2oY6OM?= =?us-ascii?q?G4Q1N8bN68C5tdrDmaN4htQs84QmFovT83x7sbspC4ZCgH0JUqyh/FZ/CaboSE?= =?us-ascii?q?/wjvWemLLTtmhn9pYLGyihao/US9yODxUtO43EtEoyZYiNXAqH8A2h7V58OaUP?= =?us-ascii?q?Vy5F2h1iyK1w3L6uFLP0Q0la3DJp4m374wipQevV3YHi/zhEX2lLWadkA69eiz?= =?us-ascii?q?8OToeLrmpp6aN497lA7+NKsums25AesmKAQBQ2+b+eGk2L3i+032XqlKg+U3n6?= =?us-ascii?q?TYqpzWONkXqrOjDwJayIov9RSyAy+j0NsCnHkHKFxFeAiAj4jsI1zOOOv4AOyn?= =?us-ascii?q?g1Svizdn3fHGPrj5DpXXMnfDiKvhfap660NE0wo809Rf55NSCrEcL/P+QVPxtd?= =?us-ascii?q?zEAR85NAy42eDnCM5n2Y8EVmKPBbGZY+vutgqT6+YuJfScTJMEszb6bf4+7rjh?= =?us-ascii?q?imFqt0UaePyR1IcNaXu7Vs96LkSfYXP2jstJRX8RlhI9V6rrjQvRAnZoe3+uUv?= =?us-ascii?q?dktXkAA4W8ANKZG40=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FmAABXK0lZhxsEb0JcHQEFAQsBGAEFA?= =?us-ascii?q?QsBgwKCGo53kGmYK4YkAoJhVwEBAQEBAQEBAgECEAEBAQgNCQgoL4IzDIFDLAh?= =?us-ascii?q?IAQEZAwMnGQEBNwEPUVcZiFqBUgSrNIJXOoMIAQEFiEsBAQgCAR0IhmyBYDaII?= =?us-ascii?q?4UniVeVD55rDYZ4SJRFgWKBCUmEfh+BdHSJWQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0FmAABXK0lZhxsEb0JcHQEFAQsBGAEFAQsBgwKCGo53kGm?= =?us-ascii?q?YK4YkAoJhVwEBAQEBAQEBAgECEAEBAQgNCQgoL4IzDIFDLAhIAQEZAwMnGQEBN?= =?us-ascii?q?wEPUVcZiFqBUgSrNIJXOoMIAQEFiEsBAQgCAR0IhmyBYDaII4UniVeVD55rDYZ?= =?us-ascii?q?4SJRFgWKBCUmEfh+BdHSJWQEBAQ?= X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jun 2017 14:07:27 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 1D07120AF3; Tue, 20 Jun 2017 10:07:25 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 20 Jun 2017 10:07:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:in-reply-to :message-id:references:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=FMzGObfXDXOLLi5Bn4 z4HMl7hz4f5Z8/Ri9/z4MAnGk=; b=mhT7yaGFkZ16axzg+BBBGitZX3bQJRMD0f uRcojVFYTB2Pl3PkeynF2t8X+TQRdmlpLQbkUpGm8usuqtGZtZ5TY4cX5+FlcW9V 21pmCvvPXFI2bg3tjmE5Bxy9+vCt3XOUZDx2f15IWJz0IXpNcFKvCZd8dgP6ZVaf sAP1PSd7XXROuaBJBKB2ER2CuI/uBcqEuNLAw7DbG7l4rwPqoJ0TiA+AmENGQm93 Q888PGiufBfj+tSx0eVcbqi4UGqrwkgILRM/83rtMgL1XYbiNvpfPxR5wC/N+N+g OMBu3eXcfa00rhHB0DivVG0FJPfJOOVlyi4dpM31c8wmB2NYNAkQ== X-ME-Sender: X-Sasl-enc: TjXwmfMoo8To2I5Pe9a8PnyeXrOU6h6bjObxLGE1Bwh+ 1497967644 Received: from localhost (x55b383f7.dyn.telefonica.de [85.179.131.247]) by mail.messagingengine.com (Postfix) with ESMTPA id 6127224426; Tue, 20 Jun 2017 10:07:24 -0400 (EDT) From: Patrick Steinhardt To: selinux@tycho.nsa.gov Subject: [PATCH 3/3] genhomedircon: avoid use of non-standard `getpwent_r` Date: Tue, 20 Jun 2017 16:07:03 +0200 Message-Id: X-Mailer: git-send-email 2.13.1 In-Reply-To: References: In-Reply-To: References: X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP The `getpwent_r` function is a non-standard but re-entrant version of the sdardardized `getpwent` function. Next to the benefit of being re-entrant, though, it avoids compilation with libc implementations that do not provide this glibc-specific extension, for example musl libc. As the code is usually not run in a threaded environment, it is save to use the non-reentrant version, though. As such, convert code to use `getpwent` instead to fix building with other libc implementations. Signed-off-by: Patrick Steinhardt --- libsemanage/src/genhomedircon.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/libsemanage/src/genhomedircon.c b/libsemanage/src/genhomedircon.c index e8c95ee4..f58c17ce 100644 --- a/libsemanage/src/genhomedircon.c +++ b/libsemanage/src/genhomedircon.c @@ -295,9 +295,8 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s) long rbuflen; uid_t temp, minuid = 500, maxuid = 60000; int minuid_set = 0; - struct passwd pwstorage, *pwbuf; + struct passwd *pwbuf; struct stat buf; - int retval; path = semanage_findval(PATH_ETC_USERADD, "HOME", "="); if (path && *path) { @@ -369,7 +368,7 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s) if (rbuf == NULL) goto fail; setpwent(); - while ((retval = getpwent_r(&pwstorage, rbuf, rbuflen, &pwbuf)) == 0) { + while ((pwbuf = getpwent()) != NULL) { if (pwbuf->pw_uid < minuid || pwbuf->pw_uid > maxuid) continue; if (!semanage_list_find(shells, pwbuf->pw_shell)) @@ -413,7 +412,7 @@ static semanage_list_t *get_home_dirs(genhomedircon_settings_t * s) path = NULL; } - if (retval && retval != ENOENT) { + if (errno && errno != ENOENT) { WARN(s->h_semanage, "Error while fetching users. " "Returning list so far."); } @@ -1064,10 +1063,7 @@ static int get_group_users(genhomedircon_settings_t * s, long grbuflen; char *grbuf = NULL; struct group grstorage, *group = NULL; - - long prbuflen; - char *pwbuf = NULL; - struct passwd pwstorage, *pw = NULL; + struct passwd *pw = NULL; grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX); if (grbuflen <= 0) @@ -1104,15 +1100,8 @@ static int get_group_users(genhomedircon_settings_t * s, } } - prbuflen = sysconf(_SC_GETPW_R_SIZE_MAX); - if (prbuflen <= 0) - goto cleanup; - pwbuf = malloc(prbuflen); - if (pwbuf == NULL) - goto cleanup; - setpwent(); - while ((retval = getpwent_r(&pwstorage, pwbuf, prbuflen, &pw)) == 0) { + while ((pw = getpwent()) != NULL) { // skip users who also have this group as their // primary group if (lfind(pw->pw_name, group->gr_mem, &nmembers, @@ -1131,7 +1120,6 @@ static int get_group_users(genhomedircon_settings_t * s, retval = STATUS_SUCCESS; cleanup: endpwent(); - free(pwbuf); free(grbuf); return retval;