From patchwork Sun May 7 11:05:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Jenkins X-Patchwork-Id: 9715233 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 4B8D6602BD for ; Sun, 7 May 2017 11:10:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 371D4281B7 for ; Sun, 7 May 2017 11:10:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2B184283CA; Sun, 7 May 2017 11:10:30 +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=-3.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (emsm-gh1-uea11.nsa.gov [8.44.101.9]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 316E6281B7 for ; Sun, 7 May 2017 11:10:29 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.38,304,1491264000"; d="scan'208";a="5541647" IronPort-PHdr: =?us-ascii?q?9a23=3A+lNEChaRDYdK6S/gsmopBrn/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZoc28bB7h7PlgxGXEQZ/co6odzbGH7ea+CSdbut6oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52LRi6twTcu8oZjYZsJKs61wfErGZPd+?= =?us-ascii?q?lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLe?= =?us-ascii?q?TQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgz?= =?us-ascii?q?oJOD4j9GHcl9J+gqRVrhm8oxBz2pPYbJ2QOPd4Y6jTf84VRXBZU8hRSSJPH42y?= =?us-ascii?q?YYgIAeUDM+ZYt4vwq0YAoBSgHgmhH//jxiNSi3Pqx6A2z/gtHAfb1wIgBdIOt3?= =?us-ascii?q?HUoc3pOacWS++1yrTDwzHdYPNQ2jf96Y7Icgs8qvyLR71wddDeyU81GwzZjlWQ?= =?us-ascii?q?s43lPyiJ1uQKq2ib7/RvVfi1h24ltQ5xpDuvxsYqionSnY8VxVXE+j94wIYxP9?= =?us-ascii?q?G3VEl7Ydu9HZZWqiqUNJN2T9s/T2xntys20L0LtYOhcCQUx5kr2QTTZ+Gff4WM?= =?us-ascii?q?/B7vTvudLSpiiH57Zb6yhgy+/Va+xuD8UMS/zUxEoTBfktbWs3AAzxnT6s+aRf?= =?us-ascii?q?Rj5kqhwjOP1xzL6uFDPEA0ibLXK54/zb40kZoeqVjDETXsmEX3ka+WbV8o+vSo?= =?us-ascii?q?6uv7YrXmoYWQN4lohQHlLqsigMm/AeU8MgQWXmib//qz1KH78EHkT7hHgec6n6?= =?us-ascii?q?nEvJzAO8gWqbC1DxVI3oo77hawFTam0NAWnXkdK1JFfQqKj5P3NFHKIfD4C+q/?= =?us-ascii?q?glu1nDhwwPDGI7vhDYnTIXjYi7rhYbZ85FJcyAo019xf4YlUBasbLPL8XU/xqs?= =?us-ascii?q?TUDgUlPAys3+bnFNJ925scWWKIBK+WKr/SsV+S6eIpOOSMZogVuDD4K/c//P7u?= =?us-ascii?q?kWE2mUUGfaWz2psXcn+4FOx8I0qFeXrsnssBEWASswo8TuzlkkGNUT1IZ3a1Wa?= =?us-ascii?q?I85y87BZmoDYfHW4Csj6eO3Dq9Hp1Ke2BKEFeMEW3nd4+cQfcDdDqSItN9kjwD?= =?us-ascii?q?TbWgRY4h1RWrtADk0bpqNeTU9TMFupLkzth6/fXTlQs19Tx2EcuSz32NQ3tznm?= =?us-ascii?q?MSSD88xLp/rlBlylefzah4hORVGsFP6PNMVQc6M4Lcw/FhBtDsRA3BZNaJSVeh?= =?us-ascii?q?QtWgGz0xSMw+w8MWaUZnB9qilgzD3zatA7INirOLGIY78rjH0nftIMZ9zmrJ27?= =?us-ascii?q?M6j1k6WMdPM3OphrJn/QjJG4HJi1mZl7qtdakE3C/M9WCDzWyVsUFdVA58SKTF?= =?us-ascii?q?XXYFakvQt9v5/EDCT76wCbs5KAdBz9CNKrdSYN3zkVpGXOvjOMjZY2+phWiwHQ?= =?us-ascii?q?yHxqmNbIrxYGgdxD/SCFIFkwAI5XaGMRIxCTu/rG7ECzxuD13vaVv28eZisHO7?= =?us-ascii?q?UlM0zwaSYk1vzbq64BgViuCdS/MIxb8EvT8hqzRtEFam0dPWEMCMpw17fKVTed?= =?us-ascii?q?k9+ktI1XrFtwxhOZytN6NiiUQdcwRwokPjzBZ3BZ9DkcgtsXMm1g1yKbiX0FlZ?= =?us-ascii?q?bTOXwYjwOqHLKmn15B2gcbPZ2kvf0NmI4KcC8+43pEnmvA2zEUoi6Xpn2cFP03?= =?us-ascii?q?SA/pXKEBYSUZXpX0Ys+Rh6vbbaYjIh547Pzn1sN660szHH290zAusp0BCgcMlD?= =?us-ascii?q?MKmcDg/9D9UaB9SyKOwtg1WoYAgLPORO9KEqJcOmbOCL2LC1M+Z6hz2mkGFH7J?= =?us-ascii?q?p60kKW+Cp2UvTI0Iodw/GEwguHUC/xjEu8vc/qmIBLfzUSE3GjxijjAY5eerd9?= =?us-ascii?q?fZ0XCWu0Jc242Ml+jYb3W3FE7F6jG08G2MixdBqUblz92QlQ2loMoXG8gyS30S?= =?us-ascii?q?Z0kzYzoqqYxizOzPzodAAbNW5TWGlikVDsLJCqj9AbQEeocw8plAG/6Unmx6hb?= =?us-ascii?q?o6J/L2bITEdMfij2KXttUrG3traYZM5P8pwouz1NUOugeVCaVqL9oxwC3iPnHm?= =?us-ascii?q?te3yw7eyixuprnmxx6iWSdLGt8rXfCYsFw3Rbf5NrdRfFNxToKXi94hifLBlKk?= =?us-ascii?q?Jdmm4c2Ul4vfsuC5T2+hTJpTcS3vzYyeriu0+WpqABOkkvCoh93oDRM63TX819?= =?us-ascii?q?lwWiXCtAz8bZXz16SmLeJneVFlBEfm5MpnHoFyiJE/iIsL1ngdgpWV4X0HkWHo?= =?us-ascii?q?PNVexa7+an0NSiIRz97T/gflxFVpLmiVyILhSnWd3sxhasG5YmwI3CI99NtHCK?= =?us-ascii?q?SK47xChit1pES3rR7Lbfh6hDcdxuMk6GQGjOERpAot0iKdD6gMHUleICPhjAqI?= =?us-ascii?q?79ajo6VXfmqvd6a/1FZml9C7EL6Cuh1cWGr+epo6BS9/9Nh/MFbX3XLv64HkZN?= =?us-ascii?q?nRYcsdthKOlRfMle9VKIg+lvASnypoJXr9vWE5y+48lRFuxYu1vJWDK2pz5KK2?= =?us-ascii?q?GBhYNiHraMMJ4TztkL1ekdiM34C0BJlhATILXIbyTf20Dj0Su/PnNxyBEDIisH?= =?us-ascii?q?ubH6TQHROH4kd8s33PC4yrN22QJHQBw9VtXh+dJFBYgAARRzg6kIA2GR2txMz7?= =?us-ascii?q?akh5/ioR5ln6qhRS1u1oKwPzUmDFpAencj00UoSQLAJK7gFe4EfYKcme4fh3Hy?= =?us-ascii?q?Fc4JKhsBCNJXaBaAlTC2EGRFCEB0v/Mba0/dnP7fKUBuygIPvSeb+Os/BRV++U?= =?us-ascii?q?xZKz1Ytr5yyMOt+BP3V4Cv00wE5DXXd5GsnCgToAVykXmzjKb86Bqxe24jd3od?= =?us-ascii?q?yn8PT3RALv4pOCC7VIMdpx5h+2mr2MN+iMhCZ+MjZVzYkDymPNyLQF214SkS5u?= =?us-ascii?q?fSG3EbscrS7NUL7QmqhPAh4dcSN8LtNI77on0wlDOM7bkMj11qJ2jv40DVdKT1?= =?us-ascii?q?rhld2oZcMQJ2GxLlTHBFyENL6ePz3E39n3Yb+gSb1XlOhUrwO/ti2FHE/lPzSD?= =?us-ascii?q?iz7pWguuMe5Ski6UIgZSuIanchZiEWLjVs7pagWnMN9rij072aY7iWjNOW4YMD?= =?us-ascii?q?h8aF9NrqaK4SNDnPpwB3ZN7mF7IumAmiaZ6fTYK5kNvPR3AiV0jf9a4G8gx7pb?= =?us-ascii?q?9i5EWOd1mCzUrtJ0pFGmiOaPwCJ9UBVSsjZLmJ6LvUJ6NKXC7JZAR2zL/B0T4m?= =?us-ascii?q?WLEBkKvMFqCsP1tKBf1NfPj7j/KDFc/NLI5cEcHdTbKNqbMHo9NhrkACXbDAoK?= =?us-ascii?q?TT6sM2HSnFFSn++J+X2UtJc6rILgmJ0USr9UTFY1DO8VClx5HNweJ5d6Rikrkb?= =?us-ascii?q?GBg84W+3Wztx7RRN1EsZDBU/KdG/TvKDKCgrlDaBoE27T4LZ4cNofjwUxtdkF6?= =?us-ascii?q?nJjWG0rXRd1NviphbgourEVX93h/T3M820T+ZQO3538cC/20kwUqhQt5ZOQi6C?= =?us-ascii?q?3j40wrJlbQois/jlUxk83/gT+NaD7xMLuwXYZOBir3t0kxNo30Th1wbQ21k0xk?= =?us-ascii?q?OinLR65Nj7tgcmBrjRHTtYFJGfFCUa1OeAUQyu2PZ/U0zVRcrT2qxUlZ6uTfDZ?= =?us-ascii?q?tvjwgqcZm3r3JcwQ1jasU1Ja/RJKZTyFhfmL6OtDey1u8t2A8eO1oN8GSKdS4S?= =?us-ascii?q?pkMILacpKDCy/uNw6QyPgCBMeGkWV/U3pfJq+Fs9O/6ewCPgybJDLF6+N/CHJa?= =?us-ascii?q?ODp2fAjdKIQk831k4QikZF+r520cE+fEWKU0AvzaCcGA4XOsrYLgFZdc1S9GLc?= =?us-ascii?q?fSyWq+XC3Yp1P5mhFuDvVeKBqbwbglylHAk0BIQB9d4OHoO20EHfI8bnN6AKxg?= =?us-ascii?q?kw5ATxJVWFEPRIdAiNkDgZv8G11IV30pVFJjEBHWV9Nj266avMpgA0mvWDU802?= =?us-ascii?q?bW0EXoYfLXI5Qs66mzNDv3taFjW31v8ZyA6Y4D/mvyjQED78b9ljZfeTfx9sDs?= =?us-ascii?q?+5+Skn+aislVHX6oneJ339Ndl6vt/P7vkaqIiBC/JVSrlwqEjcm49FR3CwVG7P?= =?us-ascii?q?C9G1LYDqa4Ywddz0Fmq6UlunhjIuUcjxONetLq6VgQDnXotbrI6b3DU/OsCnDT?= =?us-ascii?q?EeBw18p+cd66JgfQcDeYY0YQb0twQiMKyyOASY0s+uQmm3LztWU/lfwP61Z7xQ?= =?us-ascii?q?1yojcvW2yH0+QZEm1+O361ICRIkWjhHCwvauf5VeUSn2GnxaZwXPpSo4mnN8Oe?= =?us-ascii?q?YzwuYw2gjHvUMaMz+VaOxjcHZEsM0kBVOOPXV2DXI1SEWYjYrC/gGjwagd/y5d?= =?us-ascii?q?ntZS1u1FtmLxs4TEbzKtQqOrr4zZsyQ9bdQ8pa1+L5DjKNOctJzChjzfUIXQsg?= =?us-ascii?q?qdXSGhCfVanMNdLzhFT/lWh24lI9cGtpBb6UsxTMs+IKZPCKY0rLCwdTVkFTIS?= =?us-ascii?q?zTMeV46Y0zwCn+a827/elhiOdZQvKwELv4tZjdscSSF2ZDkSpKi5V4XZj2WEUH?= =?us-ascii?q?QEIB8P7QRQ4wINjpVwfubk4IXUTJ9MzDpWo+lsXCXSC5dm7Uf2RGaNjFfkT/Wh?= =?us-ascii?q?lvCm0hhJzPLwyNUbXgBwCVRFzeZMikQoMK13K7UXvoPSqD+HaF71sXniyOujK1?= =?us-ascii?q?hd08vUeEPkDIDdr2rzTjUc+WEIRY9I0HzfD44dkxB+aKkwv1hMPJqmdVzg5zM6?= =?us-ascii?q?w4RpHr+4Vc+vx1YkonYGRzuqE9RbBOF8tVLbQjtlbI63qJ/9IZVdXndQ+IGBq1?= =?us-ascii?q?deiEhsPTS1xoZcK8FM5z4MXSJAoTaGsduzVsJMx9F5A4ULItdltHf3ALlEN4SJ?= =?us-ascii?q?o30qprzvzWfU9ComsFenwjW/Aay4QvlY/20fGwUpO3+RplMpD+Qy7mfY6krNvU?= =?us-ascii?q?xs/+dHGriPil18oDd7HpBSGDlJ0W6qL1FtQ3laqeVbKL/Yc8tEQ/YsYx+vPgYx?= =?us-ascii?q?Ff8i30OS+kF1km31YytotgtV4yrdRRU7VTEJgrfxnj0Tss6nOSUARJJOcTUsdC?= =?us-ascii?q?bFKwWVmCBRoBZfa19lW5EfAtZZ5b4bx5FY/szcRkawMSsFRgBtNhok0fpDkk5O?= =?us-ascii?q?qFmYeSfYDQezafbDrhh3ctyLoM6vMvv54B9Nipn7v+Ag66UDW3qmlBWtQd/EtY?= =?us-ascii?q?/zrNmKuVaVeajlLeK8eWfBQybIjR+un7coFZ7K/zLcMABDMZl11WIkYYT9CW7M?= =?us-ascii?q?JRlGJaUbKFRAWK9nd9pGuf5VZ9V4eKkX5KBhHBSHSQ3zGIa3tvlJMk7TRSjCLy?= =?us-ascii?q?WG6uGwuozT4qDBReXie8CByW3KTL5wPpd/9Tb0Aazq0ZNE9krwxPht6ltwSULa?= =?us-ascii?q?PCCZsNThOgQL6dG4dkT8o5IpHSnZAItrnXrpwUFAadQYTzO2/5Qf1ZxW9mz8Se?= =?us-ascii?q?Rm3UjvqOdS7aVr6ZEr47B1zse5Pb/SKe9GsUB9HxeUGh5n9o4qAGhiXWBefvEe?= =?us-ascii?q?KPHNfaQDl8/ur/r7F6sN6B2a4+ZZc8fIJ1ndmsmjDTGRUQBEnB0fpjEEMwSRzO?= =?us-ascii?q?OFm6toSca/v+f5xEMt41+6LhEY0LBh/4CE+rCHpOXPdRve0aAEWrT2RsP0trks?= =?us-ascii?q?uVmd5ecjlL4Vfmx6eROnHfMYVs4Awmfg0aEqwj4tE8zZGbLg4+RPV3UjnjLvg5?= =?us-ascii?q?p9BUkZGusIHbqX+oRThmU4lPbfNt0YaKBCnXuAGgC/H78e03Gr7TCXIG5/jhHI?= =?us-ascii?q?zR7wXXu57EXqoi9gXSvM09Djn1JTVrmzHkpSXiypOUpivDOOOgrousD3tr4u7E?= =?us-ascii?q?EqKGzkqc6ClHe8OLNNAcLzPtucITM7pFgPlp0+WsSv2ZwHGdq6ONoR9nB+YefZ?= =?us-ascii?q?62OviSBBuL1Lh4vZ4sGS4fXXBmKtj6iVprSC3jxYzWI4vV4n4NC6Kv7O/8GKQ+?= =?us-ascii?q?iv12sJUyhwoQ/BUACuqrzHr1EUPleG0FzXl4wLIN5Z22U41kD86+Q5RtI86hle?= =?us-ascii?q?HJ7aZ/wevTDzJCf0wVGHbtIzTSme1jtaE0n7EVZmBac833jws9jRlXfK/F0oRJ?= =?us-ascii?q?d/eFD7hRBtCIU4M00t4kANwiUfCQgNdQybDLawCETnLIsEUFMOaRGZ07m6ZKg3?= =?us-ascii?q?x0xzwrWg5OPJa+xzGbYNPO5HjgGShFhbBo4WsaoGTbJ9el5S7rTYqRT5Boj8Qf?= =?us-ascii?q?fmiWQ/OuGvTsBd68AZuGMo4hyjSBq49ZdD87EbhYiTea5FepjNstpz70Vm5T4T?= =?us-ascii?q?bixCmgV/jxeiXO8Ao+Ds/8bUv4C16ua0U6YtXf8Y+wIzB2RkgJv6mEojrs3P1+?= =?us-ascii?q?dAVo3Vjpzy8BhXLH6WpIna0xd9Ke0UK4KoZbpg7GsIJywfJ3IIINqXZOIx4zd3?= =?us-ascii?q?PzXP+1NCAs0NZdQCPMrOgwxUiVPmWKtV9sXFHl+UEYBzd9on72Dv0jA67YM8Uv?= =?us-ascii?q?r86D+xPZ3f80tNMO1HjCp2ktLNuvMYzufTCCgY4HmZdwJ6wjiYxJmXFvb85+OM?= =?us-ascii?q?x8/IV1keBC45T59dJCae+QygXue1m4/mUhmK5c/vgJIzb0aQRn2tnKsbsqZDC/?= =?us-ascii?q?NAij7h0jhYCI/1m+qfs8Cw52tPql1HDIFz4AXKGKpBOJV7JRP4ls6sSkhnGCT/?= =?us-ascii?q?fMDUdhwzuOuZ3eoM5/txN1H+ZIABOB4Ezaz16WZNRAt0VLH2pkqZXf4WZNZ+VP?= =?us-ascii?q?zErGpa5p57JqATO1idoJjqrjZWp1AsHA8mdqM/rjxAeknJhg1VVL7+uKQchQsE?= =?us-ascii?q?Td55pUhMFHq1OGI54TrHSatVg7eKBfwQ8zWcVKoOXFt0MiJwRBO1wpZue6Czkf?= =?us-ascii?q?BBrGxGgjt3oOI23Dx+WBu8pSrsqroC2T0847G4rywNt2FKQOuYkifID0hDzfsR?= =?us-ascii?q?gKcTDnbt81q8b2cZYIv1+rlnKtzq9ZM97HQnfRUjYyoGUPyiCyH3j6OIBJaDv8?= =?us-ascii?q?5chB6JpcXBcL6yLSkUNrQmyhLjRmNw0hbfnBZ26mQLRiiv7N4+KIW7J8kl2jKi?= =?us-ascii?q?GXLHe1YU/qNJrMzxuEYKTOsoc1xhxn5u0syaRiIQRczPHH01ghIjaWVef5JJ8Q?= =?us-ascii?q?UaGLUwgjaUoqlG+RkZYDXKHYSr9InQmdzF2HcnQtds2G3WureJhpU03315g9l0?= =?us-ascii?q?9DKBuGwOd+zEVM9hGnfz1oNYye3wefqttuQHRZB9yLSmVv8CM9Ws9XGw2Jp0Rk?= =?us-ascii?q?+v3q4eEEahMO8f2rfbVD+oSW+YWeWLa2iMmDI5Mk/u5Ra2NVA3bcZKr1MnMuTc?= =?us-ascii?q?nJJckBfhUbxsTCWKuVDb1HAjMf8ddw8upIenegkKQfUNZ+idOecuw+MxCF8WY3?= =?us-ascii?q?/PAyR2F/e8sUSxk4hjJ3Vg/UL6bPzo8gDnM9uSGR4EHJXYrpFr+vy6QWSBNmFm?= =?us-ascii?q?zBFoOkl76fvfHUwrtuBAa5aRgcTQh9Nj3OEeafhtNzE9t8UImoJn7omUzNuKcQ?= =?us-ascii?q?/PwZnvP93VpeKYA/LHxUQwZm5aSqYZYR/y54giJt45XLnTEqFDvRUSAqg6RJIh?= =?us-ascii?q?Onz09KFzKwNzaRDea6iugsntveKLfZpUp3nZ7l4qKyfcoRIDwOSuTQNnd5Cqm2?= =?us-ascii?q?nyIJcoSzJPsdJtDhpmHJNRFM4brgunApuUmKSlhN+r/0N1pfUGsa3qCvDFzN65?= =?us-ascii?q?xZl+X4BG5UyXOzbcHKdqglx/juSznvjPzIL8CcbjedMYTuh0XHTJarjcHoWwMj?= =?us-ascii?q?iOIN7ze1Za876A17J0ShKRZCTnUKedrC2kMO9r4V4nyox5YOXT0CYt4K/F19fo?= =?us-ascii?q?YWFUuDujp2aTNJRD9FzKGfDeXxVMRPqB8WZlG7AXbITt+OcKMNwi28Sc4xJo4T?= =?us-ascii?q?RDysSFJa+holXL2kJhepLRNFHp1DohWYkWPBS/NlMhgXTHpXTZAHRcKNWkKMZq?= =?us-ascii?q?jNiaEhzt51d+mXszaW5ZAGXlXtSRNnYB28K4egKK8BlED8sMn+Ktfk44rKKyQ/?= =?us-ascii?q?FyOppZgeWqqKkHkdFxJiHKXsdVIyHQLL5wPjpWFejPulkoYhgavLgxW4c1Y4WO?= =?us-ascii?q?IUwdPEeH0yPywhPI0VfoeNy0yKaJPCEW/21Fz73f0jhMoBK2tO2Egs3lTLDZbJ?= =?us-ascii?q?b2XOPdMColSjGWXzIyHli1+V28ofoLoOKYIXsDolATei+SBxQcqbt1rdjREGDT?= =?us-ascii?q?nfZufIMOhP+AQCDwSTB4mLA0BilVqUCGW+ADGhXOb3/9nGpcvxSvJv1J/XLidb?= =?us-ascii?q?2Y3KtVW/cND4tKaPKZRsXXefFEKzcvjDUZN/62f8fAoLYhzlLIUWwZHrHT9F2Q?= =?us-ascii?q?SU6ZXv2RyjHwUIULoYc0oCso+9PXni9xCajIOaiQpyL9urK/2T2VvezYS3kFf1?= =?us-ascii?q?0+gOVEBnKIhhZHNjIqEdYQ7WjpS6jIRUtK13Mvkqo60hsFfkJ4UmdvyWFRhPaw?= =?us-ascii?q?AItbRFgXjWW1aPIDZVFzSjg3+BnZsUXJfdUctJWLFCdl/bwWRN9YdaEl?= X-IPAS-Result: =?us-ascii?q?A2FkBABC/w5Z/wHyM5BcHAEBBAEBCgEBFgEBAQMBAQEJAQE?= =?us-ascii?q?BgwEpKIFGjnOPMQEBAQUBgQUdiRaOLIsyVwEBAQEBAQEBAgECaCiCMyINRikvA?= =?us-ascii?q?QEBAQEBAQEBAR8CKyUBARkGAQI9ARsdAQIBAgkBAQUQAjEIAwEfEQEFARweiFC?= =?us-ascii?q?BMgEDCA0Eol0/jgwFARwmAoJiBYNIChknDVaCWAEBCAIeAgYShD2BSoJajRIfA?= =?us-ascii?q?QSJQpQ3kwsNinMnhlKSdjOBFViBCi8gIXSETA8cgWR1iTMBAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 07 May 2017 11:10: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 v47BAOqt023693; Sun, 7 May 2017 07:10:26 -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 v47B73G1112832 for ; Sun, 7 May 2017 07:07:03 -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 v47B71HU022944 for ; Sun, 7 May 2017 07:07:03 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AdBQCf/w5Zf8SAVdFcHAEBBAEBCgEBgyyCF45zjzQGgQWJM45vhiQChElXAQIBAQEBAQITAQEJCwsIJoVHAwNAARsdAQMMBhA7IxEBBQEciG6BMgEDCA0Eol4/jgwFARyDCgWDSAoZJw1WglgBAQEBAQEBAwIBHQIGCQEIhD2BSoJajRIfBYlClDeTCw2Kc4Z5knYzgRWBYS8gIXSETA8cgWR1iTMBAQE X-IPAS-Result: A1AdBQCf/w5Zf8SAVdFcHAEBBAEBCgEBgyyCF45zjzQGgQWJM45vhiQChElXAQIBAQEBAQITAQEJCwsIJoVHAwNAARsdAQMMBhA7IxEBBQEciG6BMgEDCA0Eol4/jgwFARyDCgWDSAoZJw1WglgBAQEBAQEBAwIBHQIGCQEIhD2BSoJajRIfBYlClDeTCw2Kc4Z5knYzgRWBYS8gIXSETA8cgWR1iTMBAQE X-IronPort-AV: E=Sophos;i="5.38,304,1491278400"; d="scan'208";a="6043160" 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; 07 May 2017 07:06:54 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AJ9f6kxJMUWsFZbgGPdmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeKvjxwZ3uMQTl6Ol3ixeRBMOAuqwC1bqd6PuocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDuwbalzIRi1ogncuMcbipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2ThLjlS?= =?us-ascii?q?UJOCMj8GzPisJ+kr9VrhyiqRJ4wYHUbpqYOOZicq7HYd8XX3ZNUtpXWidcAo28?= =?us-ascii?q?dYwPD+8ZMOtEq4nyvV0Opga6CwayAuPvyT5Ihnnt3aYn1OkuCwXG0xYmH94UrH?= =?us-ascii?q?vUrM/1NKYJUeCpy6nI1TXDYO1M2Tvn6ojHbBYhofKNXbJ2asrc0kYvFwbfgVWR?= =?us-ascii?q?rYzpJS+a1uMIs2WC6edrSOGhi3Y/pg1vvjSiwt0gh4rJi44P11zI6yZ0zJwoKd?= =?us-ascii?q?C8SUN3edqpHIVKuy2HKod6WN0uT3xptSog1LEKp562cS4Xw5o93RHfceaIc42Q?= =?us-ascii?q?7xLjSumRJTB4iWpgeL2lhhay9VGsy+PmVsWoyVpKoDdJn93Nu3wX2BzT7c+HSv?= =?us-ascii?q?R5/ki/wzqAywfT6uRcLUA1k6rUNYIhz6YumpYPtUnPBCz7lUXsgKOLaEkp+fKk?= =?us-ascii?q?5/njb7jnvpOcMpV7igD6MqQggMy/BuE4PxAUUGif4+u80qfv8lH5QLVQj/02ib?= =?us-ascii?q?XZsJfCJcQbuKG5GRVZ0oQ95Ba5DDem0dIYnWIcIVJKfRKIlYnpO1XULP/kCve/?= =?us-ascii?q?hkygkC13yPDeIr3hHpLNI2DYkLj/ebZ96khcyBc8zN1E+5JVCq0OIPL0WkPrst?= =?us-ascii?q?zYFQU2Pxa7w+bgFtUunr8ZDHmCBq6fLbP6rU6D5uVpJfKFIoASpmXTMf8gstfq?= =?us-ascii?q?hHlxu1IbfqivxtNDYXSxGLJtI1+YembrmtcMCyEIsww9TerxoFKHWD9XIX21Wv?= =?us-ascii?q?RvtXkAFIu6ANKbFciWi7ub0XLjEw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HqAgBo/w5Zf8SAVdFcHQEFAQsBFwEBB?= =?us-ascii?q?AEBCgEBgwGCF45zjzEBAQEGgQWJM44sQ4YkAoRJVwEBAQEBAQEBAgECEAEBCQs?= =?us-ascii?q?LCCYxgjMgD0YpLwEBAQEBAQEBAQEfAislAQEZAwNAARsdAQMMBhA7IxEBBQEci?= =?us-ascii?q?G6BMgEDCA0Eol0/jgwFARyDCgWDSAoZJw1WglgBAQEBAQEBAwEBAQEBGwIGCQE?= =?us-ascii?q?IhD2BSoJajRIfBYlClDeTCw2Kc4Z5knYzgRWBYi8gIXSETA8cgWR1iTMBAQE?= X-IPAS-Result: =?us-ascii?q?A0HqAgBo/w5Zf8SAVdFcHQEFAQsBFwEBBAEBCgEBgwGCF45?= =?us-ascii?q?zjzEBAQEGgQWJM44sQ4YkAoRJVwEBAQEBAQEBAgECEAEBCQsLCCYxgjMgD0YpL?= =?us-ascii?q?wEBAQEBAQEBAQEfAislAQEZAwNAARsdAQMMBhA7IxEBBQEciG6BMgEDCA0Eol0?= =?us-ascii?q?/jgwFARyDCgWDSAoZJw1WglgBAQEBAQEBAwEBAQEBGwIGCQEIhD2BSoJajRIfB?= =?us-ascii?q?YlClDeTCw2Kc4Z5knYzgRWBYi8gIXSETA8cgWR1iTMBAQE?= X-IronPort-AV: E=Sophos;i="5.38,304,1491264000"; d="scan'208";a="6729141" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mail-wr0-f196.google.com ([209.85.128.196]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/AES128-GCM-SHA256; 07 May 2017 11:06:53 +0000 Received: by mail-wr0-f196.google.com with SMTP id w50so4782987wrc.0 for ; Sun, 07 May 2017 04:06:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=78qiLNqMocADbdFGv8Bzef9whN0DhMieBAVA/ZInkpM=; b=t+RtAdSrUN2fIWb+OpwhdlqGePvQMGjtVKaS+xMXiljYvMUBR3dfuGpUx4NpcOeNwQ g6JeBUKHsbE2b62FCy5DrQ2XOdRLf6tE5ChY1Q0BcpY4Qut4p6v0ZH5HnBGaqn0YnNzJ Fe4vtPde7KT1GZ0bPi/z3cm/WnZ6ELVZyUPiDvCQzvUKRnnIg/K/eUplxqoO5DS1Fepq /ZgcJUWXu7c2R2eg3Y9uC2F9RDvNqpDvcLjdd7DbJ7L5ZH/slTfEwMh4botcF/6lwvyM +QFEDlvxLeok9fxBBERXm4WcKRuIvgWhQhow52xqLgxlA1uBvruRhKtnjrRR7E4gbfsj GCuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=78qiLNqMocADbdFGv8Bzef9whN0DhMieBAVA/ZInkpM=; b=r0/wkZYlOXLO74yP9rcaV+IPlcFtQYU4GtgX17CLtYINuXFjOHzpvheSqB+wlruZdL T+4qdAQGJIdslwwJOXZQwgWL8C4c+zCZM7gZEbqRTOrFXYgg1n13EbbpIdy8sBhYQ7Pi lJyMVjfkBM5VYU7G0gfzkw7fLzfkLcMltf9dhC0dHXnJxwswHRAARjt0A8KRb34/98Lz wx1hvYAbd9Y8RJyqOIdPPrTaLBAWPxTLLptRvQETmI/f04zefzhMyBAFMPwH3kDZ2ZKy mBZrNxZvLMX5pts8mubJBRAuRmspEVWtsL1VPQTeJ23BqeYb12pdlSH9xXOZE5MZsSCi 119w== X-Gm-Message-State: AN3rC/5yNa0NUjQva3YVYWj5yiMd7/eerfWigmmsN3ruERguIAk/TrLh zixfC8rPJCqeH5qz X-Received: by 10.223.130.201 with SMTP id 67mr35032770wrc.106.1494155212725; Sun, 07 May 2017 04:06:52 -0700 (PDT) Received: from alan-laptop.carrier.duckdns.org (host-92-11-216-225.as43234.net. [92.11.216.225]) by smtp.gmail.com with ESMTPSA id v22sm8636428wrd.38.2017.05.07.04.06.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 07 May 2017 04:06:51 -0700 (PDT) From: Alan Jenkins To: selinux@tycho.nsa.gov Subject: [PATCH 08/10] policycoreutils: fixfiles: remove bad modes of "relabel" command Date: Sun, 7 May 2017 12:05:54 +0100 Message-Id: <20170507110556.7740-8-alan.christopher.jenkins@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170507110556.7740-1-alan.christopher.jenkins@gmail.com> References: <20170507110556.7740-1-alan.christopher.jenkins@gmail.com> 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: Cc: Alan Jenkins Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP * `fixfiles -B relabel` or `fixfiles -C previouscontext relabel` would skip the code that handles e.g. `/var/tmp`, which would be run by `fixfiles relabel`. It would still remove all files in /tmp (subject to user confirmation). This is confusing, undocumented, and unlikely to be intentional. * `fixfiles relabel path1 path2` is the same, except it would only relabel the first path. * `fixfiles -R ... relabel` was equivalent to `fixfiles -R ... restore`, again contradicting the man page. Also `fixfiles onboot` would ignore paths, -C, or -R. fixfiles is mostly for users, where it should be acceptable to remove these non-sensical combinations. `fixfiles -C` is used in selinux-policy rpm install scripts. However I believe the rpms used `fixfiles -C previouscontext restore`, and did not either require user interaction or blow away /tmp without prompting. So they should still work fine. With these combinations removed, we can remove the `exit` calls which were seen in some of the (non-error) code paths in `restore()`. --- policycoreutils/scripts/fixfiles | 26 +++++++++++++++----------- policycoreutils/scripts/fixfiles.8 | 7 +++++-- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles index df70b27..ce4a01a 100755 --- a/policycoreutils/scripts/fixfiles +++ b/policycoreutils/scripts/fixfiles @@ -216,11 +216,11 @@ shift case "$RESTORE_MODE" in PREFC) diff_filecontext $* - exit $? + return ;; BOOTTIME) newer $BOOTTIME $* - exit $? + return ;; esac @@ -234,11 +234,9 @@ case "$RESTORE_MODE" in for i in `echo "$RPMFILES" | sed 's/,/ /g'`; do rpmlist $i | ${RESTORECON} ${EXCLUDEDIRS} ${FORCEFLAG} ${VERBOSE} $* -R -i -f - done - exit $? ;; FILEPATH) ${RESTORECON} ${EXCLUDEDIRS} ${FORCEFLAG} ${VERBOSE} -R $* -- "$FILEPATH" - return # to loop over each FILEPATH ;; DEFAULT) if [ -n "${FILESYSTEMSRW}" ]; then @@ -261,7 +259,6 @@ case "$RESTORE_MODE" in find /var/tmp \( -context "*:${UNLABELED}*" -o -context "*:${UNDEFINED}*" \) -exec chcon --reference /var/tmp {} \; find /var/run \( -context "*:${UNLABELED}*" -o -context "*:${UNDEFINED}*" \) -exec chcon --reference /var/run {} \; [ ! -e /var/lib/debug ] || find /var/lib/debug \( -context "*:${UNLABELED}*" -o -context "*:${UNDEFINED}*" \) -exec chcon --reference /lib {} \; - exit 0 ;; esac } @@ -269,17 +266,19 @@ esac fullrelabel() { echo "Cleaning out /tmp" find /tmp/ -mindepth 1 -delete - LogReadOnly restore Relabel } + relabel() { - if [ "$RESTORE_MODE" == RPMFILES ]; then - restore Relabel + if [ "$RESTORE_MODE" != DEFAULT ]; then + usage + exit 1 fi if [ $fullFlag == 1 ]; then fullrelabel + return fi echo -n " @@ -306,6 +305,10 @@ case "$1" in verify) restore Verify -n;; relabel) relabel;; onboot) + if [ "$RESTORE_MODE" != DEFAULT ]; then + usage + exit 1 + fi > /.autorelabel [ -z "$FORCEFLAG" ] || echo -n "$FORCEFLAG " >> /.autorelabel [ -z "$BOOTTIME" ] || echo -N $BOOTTIME >> /.autorelabel @@ -320,9 +323,11 @@ esac } usage() { echo $""" -Usage: $0 [-v] [-F] { check | restore | [-f] relabel | verify } dir/file ... +Usage: $0 [-v] [-F] [-f] relabel +or +Usage: $0 [-v] [-F] [-B | -N time ] { check | restore | verify } or -Usage: $0 [-v] [-F] [-B | -N time ] { check | restore | [-f] relabel | verify } +Usage: $0 [-v] [-F] { check | restore | verify } dir/file ... or Usage: $0 [-v] [-F] -R rpmpackage[,rpmpackage...] { check | restore | verify } or @@ -408,4 +413,3 @@ else process "$command" fi -exit $? diff --git a/policycoreutils/scripts/fixfiles.8 b/policycoreutils/scripts/fixfiles.8 index 7a00bc3..9f447f0 100644 --- a/policycoreutils/scripts/fixfiles.8 +++ b/policycoreutils/scripts/fixfiles.8 @@ -6,10 +6,13 @@ fixfiles \- fix file SELinux security contexts. .na .B fixfiles -.I [\-v] [\-F] { check | restore | [\-f] relabel | verify } dir/file ... +.I [\-v] [\-F] [\-f] relabel .B fixfiles -.I [\-v] [\-F] [\-B | \-N time ] { check | restore | [\-f] relabel | verify } +.I [\-v] [\-F] { check | restore | verify } dir/file ... + +.B fixfiles +.I [\-v] [\-F] [\-B | \-N time ] { check | restore | verify } .B fixfiles .I [\-v] [\-F] \-R rpmpackagename[,rpmpackagename...] { check | restore | verify }