From patchwork Tue May 30 16:34:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Jurgens X-Patchwork-Id: 9755009 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 0010E602B9 for ; Tue, 30 May 2017 18:09:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E23A426538 for ; Tue, 30 May 2017 18:09:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D6FA227FA5; Tue, 30 May 2017 18:09:57 +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.9 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, UNPARSEABLE_RELAY autolearn=ham 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 E842426538 for ; Tue, 30 May 2017 18:09:55 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.38,419,1491264000"; d="scan'208";a="7563558" IronPort-PHdr: =?us-ascii?q?9a23=3AS5m4VRV3Qac89DvtJ2ebzNfUiejV8LGtZVwlr6E/?= =?us-ascii?q?grcLSJyIuqrYYhWBtadThVPEFb/W9+hDw7KP9fuxBipcvd3Y6ihKWacPfidNsd?= =?us-ascii?q?8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3wOgVv?= =?us-ascii?q?O+v6BJPZgdip2OCu4Z3TZBhDiCagbb9oIhi7qQfcutMZjIZtJao91wXFrmdVcO?= =?us-ascii?q?lK2G1kIk6ekQzh7cmq5p5j9CpQu/Ml98FeVKjxYro1Q79FAjk4Km45/MLkuwXN?= =?us-ascii?q?QguJ/XscT34ZkgFUDAjf7RH1RYn+vy3nvedgwiaaPMn2TbcpWTS+6qpgVRHlhD?= =?us-ascii?q?sbOzM/7WrYhNZwjKZGqxy/oRJxzZPfbIWMOPZjYq/ReNUXTndDUMlMTSxMGoOy?= =?us-ascii?q?YZUSAeQPPuhWqIvyp1UWrRa8GAWhCv3gyiRTi3PqwaE3yfgtHBva0AA8Gd8FrX?= =?us-ascii?q?TarM/yNKcXSe27wrPHzTPeZP1SxDf98ofIfQ4nofGXQLl9dtfexlMpFwPEkFqQ?= =?us-ascii?q?rY7lMiiQ1usTt2ib6/BvVeSoi28osQ1+vj+vxsI1h4TPm4kbyUjE+D1kzIs6Kt?= =?us-ascii?q?C0Uk52bcO+HJdOuCyWKZF6Tt46T211vCs3xKcKtJG5cSQQ1Zgqxh7SZ+aaf4SW?= =?us-ascii?q?5h/uUvuaLy1ii3J/Yr2/gg6/8U2nyuLhSMa5yE1Kri9ZktnUsXANygDT5tCHSv?= =?us-ascii?q?Rj+keh3i6C1xzJ5eFeIEA0iLHbJ4Q9wr8wipUTsUPDEjXwmErql6+Zal8o+u2p?= =?us-ascii?q?6+Tjernmp5mcOJFoigzmL6gjlcOyDf44PwQTRWSX5+ux2KP58UHkWLlKi+c5kq?= =?us-ascii?q?jdsJDUP8Qboau5DhdO0ok97xa/DjGm0MkXnHUeN11Ffw+Hj471NF7QO/D1Fuu/?= =?us-ascii?q?glSwnzdrwPDKJLvhAo7XIXTZn7fheqh951ZGyAUv1dBf+45UCrYZLfLxXU/xss?= =?us-ascii?q?bXDgM5MwOuxebqE9d91oQYWWKKGKCZK7/SvkGS5uI0OeWMY5UVuDnlIfg/+/Hu?= =?us-ascii?q?lWM5mUMafaSx35sXamq3EehlI0WCZnrshNYBEXkRswowSOzqlVKDXiVOZ3a0Q6?= =?us-ascii?q?I8+ys3CIW8DYfMXoqtmqCO3D+nHp1KYWBLEkiMHmnzeIqaXfcMaT6SIsh6nzwF?= =?us-ascii?q?S7euVZEu2QuptA/gxLptNvDU9TEAtZL/yNh14PXemgw19TxyCcSSzn+CT2V1nm?= =?us-ascii?q?4TXTA5wrp/oUtnxleEy6h4jORSFcZP6PNRTgc6KZncwvRnBNDuQA3BZMyER0qh?= =?us-ascii?q?QtWjHT4+VMkxw8MUb0Z7BdqikgjJ3zC2DL8Ni7yLGJs0/7rd33j3O8Zy1XLG27?= =?us-ascii?q?ckj1Y4XstPL22ni7V49wjLGYHJlUCZmLyrdaQYxyHN82iCwXCJvEFCXw56Sb/F?= =?us-ascii?q?UmwHZkvKsdT54VvPTr+vCLQgNAtM0suCKq9TZt3oi1VKXvHjN87EY2KymmewGw?= =?us-ascii?q?iHyqmKbIX0Z2UXxD/dB1QckwAP4XaGMhAzCTm5o23EFjxuFEnvblj08eZksnO7?= =?us-ascii?q?T1Q0zxmOb0J7y7W65AQZhfuGS/McxrgEojsuqy1oHFah2NLbE9SBpwtlfKVZf9?= =?us-ascii?q?w9+kxK1WzHuANgOZygNbpthkYEcwRwvUPhyQl4CplancgttnMqwxJ4KbiE31NZ?= =?us-ascii?q?azOYwZfwN6XZKmno5h+vbbLZ2lDF0NuN/6cP8PU4p0z4vACnDUou6XJn08Na03?= =?us-ascii?q?GE/JXFEBISUY7tUkYw7xV6pKvVYio654PJznBsMrO7sjzF29I0HuclzQygf9hH?= =?us-ascii?q?OqOeCADyC9EaB9SpKOEygVemcwgEPOFM+64uJM6pbeeJ2KuxMOZnhjKmgnxN4J?= =?us-ascii?q?ph3UKU6yp8VunI0o4ZzP6C2guISSz8jEuhs8Dwgo1Efi0dHmuhxijiGI5RZ7d9?= =?us-ascii?q?cZwNCWiwP8293s9+iIL1W35E6F6jAEsL2NSneRqIaFz9xhFQ2F8MoXyhniu5wT?= =?us-ascii?q?l0nCsvrqaF2izB3fjifgIdOmFXXGlikUvsIY+sgtEURkeoaxQpmwW/5Ubh3KVb?= =?us-ascii?q?urpwL3PITkdVeij6NWZiUrG/trCaec5A9IsosTlLUOS7eV2aVqPyrAYb0yz5G2?= =?us-ascii?q?tT3yw0dzavuprlhRN6k36dIGx1rHXHZcF63Q3f68DERf5NwjoGQzF1iSfWBleg?= =?us-ascii?q?I9mp+s+Um43fveC+UGKhUJJTfDLvzYOBsiu0/3dqARqlk/C0gN3nHhAw0TXn2N?= =?us-ascii?q?lySSXIsBH8b5Hv16S7KuJnYlBkBETi5Mp+G4F+lJYwhZ4L1HgBnpWV/HwHkWbv?= =?us-ascii?q?PtVAw67+amQCRSITyd7P/AflwFFjLm6Ox4/hTHWdxc9hZ92kbWMMxi096M5LBb?= =?us-ascii?q?yP7LxZgSR1uUC0rQXLYfhyhj0d0+ch6GYGg+EVvwog1j2dDaoPHUlcJyDjjQ6E?= =?us-ascii?q?4Mu5rKVTeGavdr6w2VF7ndy9CrGCpR1TVGz/epg8AS969t9/P07U0H3v9oHkf8?= =?us-ascii?q?HdbdENuR2SiBfNlOtVJ4w3lvoRgypoJ379sWciy+4hghxkxYu6s5SfK2Vx4KK5?= =?us-ascii?q?BQZVNiXvaMMO/jHik75ekdyQ34CzAJphAC4GXIbzTf22CjISru7rNx2JED0hsH?= =?us-ascii?q?eUBaTQHQGY6Ed8oHLADYqnN3eJK3kF1d9iXgWSJFRDgAAIWzU3hoA5Fga3y8H6?= =?us-ascii?q?bkd54C0e5l7iphtK1O1oKwH1Un3Dqwewdjc0VJ+fIQJO7g5Y+kfVNdeT4f5yHy?= =?us-ascii?q?FE/pyttQKNJXadZwhSCmEJQEOEDUj5Pray/dnA7/SYBu2mIvvNYbSOrfJRWuyN?= =?us-ascii?q?xZKo3Itm8SiDNtmTPnliCP0731RMUWp/G8vHhzUFUzYXmD7Vb86HuBe8/TV6rs?= =?us-ascii?q?6l//TtRALv4o6PBqBcMdpx5h+2hr2DOPSIhCZjLjZY1I0DymPUyLQF214SkS5u?= =?us-ascii?q?fSG3EbscrS7NUL7QmqhPAh4BcS9yOtFE76cm0QlJPs7aisj42aRkgf4wEVtFUk?= =?us-ascii?q?bhms6xb8wQP269LE/HBFqMNLmeKz3L2d/4br6nSbJKiuVUqxqwuS2AHkD5IjuD?= =?us-ascii?q?kiPlVxe1MeFDlCubJgBRuJmhchZxDmjuVNTmagehP99vlT072rM0hnLQNW4HLT?= =?us-ascii?q?h8fUJNrruK4iNenvp/GnZO7n5/IemDgSaZ4PHSKowKvvtzHiR0i+Va7WwhxLRO?= =?us-ascii?q?6y1EQP11mDDOrt51uV2mifeAxSZ9XBpVtDlLgIOLvUN/OaTW7ZRPRXbF/AgQ7W?= =?us-ascii?q?WLERgLqcFqCsH0u6BXzNjDjqXzKC1N89jM58sTG9DUKN6bMHomKRfpHj/UDA8B?= =?us-ascii?q?TTG1LmHSnFZSn++I9n2StJQ6rYLsmJUWQL9BSFM1Du8aClhiHNEaO5h3Xzwkkb?= =?us-ascii?q?mdjMMT+HWxsgLeRMRAsZDBTP6SBu/vKDmBh7leexQI2a/4LZgUNoDjwUNiZUN1?= =?us-ascii?q?nJrUFEfLWtBNujNubgkxoEpX8Xh+SnY820Xqaw+3538TD/G0lAYsigRieeQt6C?= =?us-ascii?q?vs41AvK1rWoyswlVM9mc/igTGQbjHxKry/XZtRCyXqtEg8KY/0QwFwbQKuh0Nk?= =?us-ascii?q?LyvES6hXj7R+aWBhkBXctodXGf5AUa1EZwcdxfeJaPoy1VRRsSanxUhc5evZE5?= =?us-ascii?q?RikhAqcZ2tr35a3QJscsI1L7TKJKVV1lhQmr6Oviiw2+Ar3gAePFgC/3mIeCEU?= =?us-ascii?q?uEwFLaIpJyuy/uNx7gyClSNDeHISWPsquP5q8F0yO/iYxSL6z7FDMlyxN/CYL6?= =?us-ascii?q?6BpmfPj9CIQlIt2UMTjERK56J20d0kc0uaTEAg0qeeFwkTNcrDNQFUb9Be9H7N?= =?us-ascii?q?ciaSqe/N2456P52hFuD0Su+DrLsbglm6EwkzEIQM9N4OHoe33UHDN8jnL6MFyQ?= =?us-ascii?q?836wjxIFWFEfJJdwiRkDsev8G/y5x33IlaJj0HB2VyLzm37K7NpgA2mPqDQMs2?= =?us-ascii?q?YnACU4sAMXI2QtO1myhYvnRHFzS33eQZyBWY4z/7vCTQAyH2b8B/a/eMeRNsFN?= =?us-ascii?q?a29C0k86eojV7X85PeJ3z1NNl5ptDP7uYaqIqdBPNPUblxqUHclJdER3aySW7A?= =?us-ascii?q?Dca1J4Tsa4krddH7F2q1Ulm4izIzU8f9Ic2gLraWjgHyRIZVsY6b3DY5Oc+7CD?= =?us-ascii?q?4eBw96p/sf66JkeQ0Df507bAbrtwQkN62wOgGY0smuQ2u2JjtWSOFfwvmga7xR?= =?us-ascii?q?0SUscvewyGE8QZEi0+m37UkNSYkWjhHfwPajYJVeUSjzG3FGZgrPpCo4mHJ6Oe?= =?us-ascii?q?ooxOcw3g/Iu0EGMz+XbOxpdHBEv9YkCFOdO3V5EGw4R0OHgIrC5Q6t0bYS/zdd?= =?us-ascii?q?n9lK0O1FtmT+sYHFYD62Xqykt4nVuTI6bdc6u61xLZDjIsyeuZzEmjzfTYXfvR?= =?us-ascii?q?OdXy6/F/tanN9QICRCT/RTgm4lONYJuYxY5Uo/S8cyPbpPB7cwprqyczprETYS?= =?us-ascii?q?zTMFV4OHxDENmfmz273BmxiKbZsiLgILsI9ZgtQHSS53YjkSpKi5V4XZj2WEUH?= =?us-ascii?q?QEIB8P7QRQ4wINjpVwfubk4IXUTJ9MzDpWo+lsXCXSC5dm7Uf2RGaNjFfkT/Wh?= =?us-ascii?q?lvCm0hhJzPLwyNUbXgBwCVRFzeZMikQoMK13K7UXvoPSrjCId1n1s372xeS6I1?= =?us-ascii?q?lRzcnUd1zmA4rfqWrzTDET+X0OSY9I0nHfGowYkxBlZ6YzuFVMPIemd17k5zM+?= =?us-ascii?q?3YRpGKK3WNu3x1Y/t3kGWTmlE95AC+Fgv1LXXDxlY5+rqJX5NZVdWHVQ+JiHp1?= =?us-ascii?q?dfjkptLzazyYBAJMFV/j4MQD9PrC2TvdeoVMJD2c52D5oNIthluHfwA6JEN4aP?= =?us-ascii?q?rHIooLDvzWXZ+z8kuleg2DqzA7O4T/5e/2AGAgUpIGCepVM1D+oi9WfS9l7Nv0?= =?us-ascii?q?tx/+dcAbiPllt+rypnHpBJHTZJznGlL1J8THVctOVaMqvVedRGQ/YufR+vJwA+?= =?us-ascii?q?Ffk+0kOT50F0gHH5bzZxtgZB+iDdXgg0VTUOjbv3nz0RtN2nMycAS51UdTUhcz?= =?us-ascii?q?vFKwWDlCBLuxZfblpnW4wFDtZA4L4Xx41U8dTeSUy0MyEKQARiNh4k0fpYjUND?= =?us-ascii?q?sF+XeTrHAgqsaPnCqQB4ctmJrM6xMvv5+BlIipn9vOA/7aUDSGWsmRexTtDGs4?= =?us-ascii?q?/8qtqKu1OMdKf/LeKxemLOQybXjR+un7ckE4fF8DXJPApdNZZ61WIuYYL9Bm7T?= =?us-ascii?q?IRRGO6UbKlJAWqB0ddpKvuJXa9JqdasS5aBtAReHSQ/1F4y0sPlKNFDTSirCLy?= =?us-ascii?q?+Z6OywvZrT7aDBSejnfsGM3WjITL93Pphg9Tn2ALPq0YhA+kXoxPti6kR6RkXY?= =?us-ascii?q?PCybqtTuOB8L7tG4dkT+pp0pAS/WAJBonXr13UFAa9AYTDC28JkD05NZ72vwSf?= =?us-ascii?q?hk3Ufttu1S66Nk5pMz47xzzse0P6jSI+xAsUB7GhiUGhlq9pI1DWhjXWBefPEe?= =?us-ascii?q?J+rKcKQEicDut/r3GLYJ6B2U/OxZbcXIJ13blsm4EDGcRgROnB0dpj4CMgucy/?= =?us-ascii?q?mFlrdxScm/oej53lwi40SiLhEc1r9g/oGE9bSUpO/McxTe16AEVbbwSsP1sLss?= =?us-ascii?q?p1uY5ec4m74WZmx1fwqnHfAfVsEH3GfgyrsqzSY2HMPdBL/g/eNDV3YlnjLhh5?= =?us-ascii?q?99Hk8ZGvUPHbaR+oRehGg4kfTDNtIKaqBChnqPFRm8H78A03Gr7SWXIHNigh7T?= =?us-ascii?q?zR79Wn+z40XwrS9jRivA1dHjnVRJVrOvH0ddQzKpOVNksDOIJAfou8f3uaUx7E?= =?us-ascii?q?EyLGPkscmAm3a/N7xMHs3wPtqcLTMzpFINg507Xsav1pwDGdqhPNcR92lzbv3a?= =?us-ascii?q?626wki9BpaJHi5Df4sGT9PXXB2Ovj7aGq7WX2TBX1mQ4vUwl6t++LP3O4MeKQ/?= =?us-ascii?q?uw3WYLUyh/oxfBXwKyqrHDqlAUPkqL0FvEmIMUJdxZ2Hg42Vvg5Oc9XNIy+gJe?= =?us-ascii?q?FpzDZ/MZvzzzPiX7wUqHadItSiaeyydXHk7yEVRgAqgzxX//sdnGlXfV9FwkXI?= =?us-ascii?q?9weFL7hRZvFYU3NVot6EQLwioECQUNbQubDLSoCEn+I4sLS1UMaROd3LegYqc3?= =?us-ascii?q?x0pzwrGx6+DPcexwHa0NNuxSjgSWhlhUBooWsbECQLJ7Y1Jd77TYphb4BIjoQf?= =?us-ascii?q?fmjmE9NeavTcBE688ZuGUt4h2lSxqm95hD864RiIqUea5cfZjMoMd84l9l5T4O?= =?us-ascii?q?cyxAmx1/gA25UO8CvuDj497bsJWy5uaoSqktW/0d9wIoCGRmk5vwnFcjrMnW1+?= =?us-ascii?q?ZdUILak5jw/RtWI3GUpIbVzQVzJfAJK4Kxc7Zq728HKDQGJ3ISIdqWbOEx7DRs?= =?us-ascii?q?MDXI6V1NGMEMZdIEPMrVgw9Ul0npVapP+crcB1CXFZ18d90y72rw0jA664EwUu?= =?us-ascii?q?H66D+5PZrf9U1CP+tfjCVwk9LPvPAVzuDOCCcL4XmYZR91wjmBy5WUEPb/4+GM?= =?us-ascii?q?yNDSV1MbES87SJ9dKyCe+QO7Ruq0mpLpUhmX6sPpg5IxaliQRnqvk6QBqKpMFv?= =?us-ascii?q?RAiirj1DhECo/1n+6Vs8ar6GZPql1HCph87RnfF6VZIJp2Ign3lsikRkh9Givw?= =?us-ascii?q?YtrUeQA0uOqL3OsM5ftxN1fmb48BPh0E06766WZSTgZ2R775pEyZUvwNZNtmU/?= =?us-ascii?q?7EqnFV6Z5+JK8PJleduYfqoi1OqF8oHA8jcKUwoSBCdknSgA1VXL75uLEehQsa?= =?us-ascii?q?Td55vkhMFWWrOG0g4zrHVKJVjLSeCfEO9jWcULYOUkVyPS9kRRO6xolucaOznf?= =?us-ascii?q?9bqmNGgj99oP8y3jxgRRuzpSrsp6YX1jI74r24tTIBuXteTuWFiCrIDFpOzfsQ?= =?us-ascii?q?gacbEXbi5kS2YGMfY4vq/LlnOcPg+JEu43sjehUjZDQKU/mvBS/2jqOIBJGPsd?= =?us-ascii?q?1HiR6CvcXBd7mzIjYIOrQ60xLjSGB30hLCkxZw7GsLXjKg4ccmJIW6OcYlwDCk?= =?us-ascii?q?FnTbdFYI/6NGrcrwtV8NTOstalNhwX5u0taGRi0TXsPPH3s6jgk+ZWVCbp1D9Q?= =?us-ascii?q?cQF7M0jTaQoqlG4gYUbS/VEoS74IbQm9zF2X0gTdh3x2LWobaFiokt0H1/lNN+?= =?us-ascii?q?9jSOt2gKd+zET89sBWD+1oVBxuzwafWttvsKSYV8x7SnTvACLtOv+W2o15V2Qk?= =?us-ascii?q?Wl3KgRH0KlMO8fwbfWSyilSWmfWeWFbWeMmzI5P1Xp5RmvKF03adtFo1U7MuTc?= =?us-ascii?q?mp5WjxfhXq9sRiWMuV/by3QuMeEadwM2oIenfAgKTO8NZ+eCPuUuxfw+CEcWb3?= =?us-ascii?q?DXByd2DPW2sVG1lohhJ3pg+Vn6Yfjq8g3+LNuSGxwEHJXGrp5w5fO6RXyOOXt6?= =?us-ascii?q?wB10IkZ06//VF04tue9Eb5aRgd/Qisx+0e4EdPdtMio9t8URmo156omU18GKfg?= =?us-ascii?q?/XzproI9HavOSYCeXFz0s2YmFaTqYZYQTt6oohINE5XaHTEKBCvRQYAqg6XIAh?= =?us-ascii?q?N3nv+65pNg9zdRTRZLusiMnwuu2LfodUp2PR7l8oIifTpRkDyv2sTQNldJ2rhn?= =?us-ascii?q?TyIJU1Rj1ftd1tDgVpEJFIG8MaoAqtG4SUl72ji9+t50N6vPcHsKToCvDQ1dS2?= =?us-ascii?q?w5t+UoNf5UyKIDbRHrdkjl5ijuSojffKyoPxBt/6edMYSOh7RXbIarjCHoqhMT?= =?us-ascii?q?+OIsb8dFRd876A0bJ2TgmRZDrnUKWYriGkMutr4VkjwIxiYOXT1CAt763c2Nbq?= =?us-ascii?q?Y2FbpyGjrWOGNZdG6FzKBPfeXw5PSfee8WZqB6sXbYzu+OcJK9wiz8CW4xNv4z?= =?us-ascii?q?RazMuFP6+ho1fX2k1lcZLbLU3p2zs2WIUNLxq/LUssjnHDqnvDGXRTNNOpKcpz?= =?us-ascii?q?j9aPCBzi+U1xlnowZm5OAGboQs2ROWcD0cKkeAKK7B5LD8oEn+OvfE43rLG9Se?= =?us-ascii?q?lpOpVDnuWnr6sHkddvKy7RQMhaPifQLKJ5PzZLCeXPvlcoaAYes7cpQoc1eYSO?= =?us-ascii?q?IEQfPUeC0yzyzgzC3lbvetyx0qaJPCYW8nJaz7LK0ThMuxO1ufCHjc3/SLrZdo?= =?us-ascii?q?35XObOMCo5UTGXXTsyHlyy9le+uvoLov6YLHwBolAQeC2SEw8Tpr11odjWEGDT?= =?us-ascii?q?hfVpfIcWi/CCRyDwVCp4mbIwBiZOskCMWeADFQjNb3L6hmpTogmiKeFN/X7/aL?= =?us-ascii?q?2Y3KVVUfQMAoRQav2ZX8fYefdGKjczmDUZPfqzctzforsizFLHU3EZE6jJ9V2Z?= =?us-ascii?q?Sk6aWPqcyCz3XdZdg49hoScs+9TNjgdrAq/IOPCZvDfo/YmmyG6Dtfb2SngmY0?= =?us-ascii?q?tzhvkLRmaG3l0IMGgZD/kNsVzpB6uHYFxBknkujLFAwRgJLSh6VDVMz2dZkfCm?= =?us-ascii?q?UplVQFgVgWesaPgLaFR+CjQgu0SN51uhMpQ7pcnPSjoGpfM3Qo0HIaxtsdHa?= X-IPAS-Result: =?us-ascii?q?A2F7AgDwtC1Z/wHyM5BcGwEBAQMBAQEJAQEBFQEBAQECAQE?= =?us-ascii?q?BAQgBAQEBgwEpgW+OfZB2mAEoiFhXAQEBAQEBAQECAQJoKIIzJIJCBgECeQMJA?= =?us-ascii?q?QEXCCkIAwFTBxIFiFOBUgSubiYCi1iWOwWJR4dljHeTKoIEiRwMhkmUTliBClE?= =?us-ascii?q?jFYUFgkZziVMBAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 30 May 2017 18:09:07 +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 v4UI7PVM030454; Tue, 30 May 2017 14:07:58 -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 v4UGZJWo050575 for ; Tue, 30 May 2017 12:35:19 -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 v4UGZJSk022976 for ; Tue, 30 May 2017 12:35:19 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1B4AgDhni1Zf4GlL8FcHAEBBAEBCgEBgyyCGI59kHaYCIYkAoMqAQIBAQEBAQITAQEhXYUZAwN5EBgIMVcHEohYgVavJ4tMAQEIKJY7BYlHh2WMd5MqggSJKIZJlE5WgQtRIxWHSz02iVMBAQE X-IPAS-Result: A1B4AgDhni1Zf4GlL8FcHAEBBAEBCgEBgyyCGI59kHaYCIYkAoMqAQIBAQEBAQITAQEhXYUZAwN5EBgIMVcHEohYgVavJ4tMAQEIKJY7BYlHh2WMd5MqggSJKIZJlE5WgQtRIxWHSz02iVMBAQE X-IronPort-AV: E=Sophos;i="5.38,418,1491278400"; d="scan'208";a="6071042" 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; 30 May 2017 12:35:15 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AsIeZFhaQWAc8aUDkh6EBXab/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZoMq+bnLW6fgltlLVR4KTs6sC0LuJ9fy8Ej1Rqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLdwIRmsogjcucYajI9mJ60s1hbHv3xEdv?= =?us-ascii?q?hMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTD?= =?us-ascii?q?QhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlT?= =?us-ascii?q?wKPCAl/m7JlsNwjbpboBO/qBx5347Ue5yeOP5ncq/AYd8WWW9NU8BMXCJDH4y8?= =?us-ascii?q?dZMCAeofM+hFoYfzpFwAohmwBQS3GO/j1iVFimPs0KEmz+gsFxzN0gw6H9IJtX?= =?us-ascii?q?TZtNv7O70UUeuoyKfI0C/Db/xI1jf784jDbxcsruyWUrJ2cMre100vFwHeg1WV?= =?us-ascii?q?t4PlOzeV2f4Ls2ic4OtsT/6gi2kiqwxopDWk28QiipHRi44Izl3J+z91zYk3KN?= =?us-ascii?q?GiVUJ2YN6pHIFNuy2EM4Z7RN4pTXtytyYg0LIGvIa2fCgUx5QjwB7Sc/mHfJaM?= =?us-ascii?q?4hLnTumRJzB4hX1/dL2jgBa+60mgyunkWsm11lZFsDZFn8HRun0J2RHf8MeKR/?= =?us-ascii?q?ln8ku82DuC1xrf5vxaLU0wjabbLoQuwr80lpodq0TDGSr2lV3rg6CMcEUk+/an?= =?us-ascii?q?6+DlYrj9o5+TKYt0igXkPaQoncy+Dv40PRQJX2ie4ei8zqHs/VXlQLVWif07ir?= =?us-ascii?q?LZv47eJcQaoK65HgBU350/6xe/Ezim0NMYkWMBLFJeYh2LlYfpO1bQIKOwMfDq?= =?us-ascii?q?mFmokTF219jaL7bhBdPLNXGFn7D/Of5m51V01Bs4zdcZ4YldTL4GPra7QkbssP?= =?us-ascii?q?TABwI9dgmzxPzqTt5609AwQ2WKV4OQNuvwrEWH6+Q0a72AbYkUtTL/A/0o4/rn?= =?us-ascii?q?i3gp31QaeP/6jtMsdHmkE6E+cA2ian32j4JESD9Ssw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HyAQBbni1Zf4GlL8FcHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwGCGI59kHaYCIYkAoMqAQEBAQEBAQECAQIQAQEhXYIzJAGCQQM?= =?us-ascii?q?DeRAYCDFXBxKIWIFWrySLTAEBCCiWOwWJR4dljHeTKoIEiSiGSZROVoEMUSMVh?= =?us-ascii?q?0s9NolTAQEB?= X-IPAS-Result: =?us-ascii?q?A0HyAQBbni1Zf4GlL8FcHAEBBAEBCgEBFwEBBAEBCgEBgwG?= =?us-ascii?q?CGI59kHaYCIYkAoMqAQEBAQEBAQECAQIQAQEhXYIzJAGCQQMDeRAYCDFXBxKIW?= =?us-ascii?q?IFWrySLTAEBCCiWOwWJR4dljHeTKoIEiSiGSZROVoEMUSMVh0s9NolTAQEB?= X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="7556524" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mail-il-dmz.mellanox.com (HELO mellanox.co.il) ([193.47.165.129]) by emsm-gh1-uea10.nsa.gov with ESMTP; 30 May 2017 16:35:09 +0000 Received: from Internal Mail-Server by MTLPINE1 (envelope-from danielj@mellanox.com) with ESMTPS (AES256-SHA encrypted); 30 May 2017 19:35:05 +0300 Received: from x-vnc01.mtx.labs.mlnx (x-vnc01.mtx.labs.mlnx [10.12.150.16]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v4UGYvUF022204; Tue, 30 May 2017 19:35:04 +0300 From: Dan Jurgens To: selinux@tycho.nsa.gov, sds@tycho.nsa.gov, paul@paul-moore.com Subject: [PATCH v2 2/2] selinux-testsuite: Infiniband endport tests Date: Tue, 30 May 2017 19:34:51 +0300 Message-Id: <1496162091-129822-3-git-send-email-danielj@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1496162091-129822-1-git-send-email-danielj@mellanox.com> References: <1496162091-129822-1-git-send-email-danielj@mellanox.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: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Daniel Jurgens New tests for Infiniband endports. Most users do not have infiniband hardware, and if they do the device names can vary. There is a configuration file for enabling the tests and setting environment specific configurations. If the tests are disabled they always show as passed. A special test application was unnecessary, a standard diagnostic application is used instead. This required a change to the make file to avoid trying to build an application in the new subdir. Signed-off-by: Daniel Jurgens --- v1: - Synchronize interface names with refpolicy changes. - Allowed access to unlabeled pkeys vs default pkey, default pkey is no longer labeled in the refpolicy. v2: Stephen Smalley: - Use a stub makefile instead of a SUBDIRS_NO_MAKE directive. - Use ifdefs around corenet_ib* interfaces. - Only build the test_ibpendport.te file if the infiniband_endport class is available. - use corecmd_bin_entry_type intefrace instead of allow ... bin_t: --- README | 7 +++- policy/Makefile | 4 +++ policy/test_ibendport.te | 40 +++++++++++++++++++++++ tests/Makefile | 2 +- tests/infiniband_endport/Makefile | 2 ++ tests/infiniband_endport/ibendport_test.conf | 14 ++++++++ tests/infiniband_endport/test | 49 ++++++++++++++++++++++++++++ tests/infiniband_pkey/test | 0 8 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 policy/test_ibendport.te create mode 100644 tests/infiniband_endport/Makefile create mode 100644 tests/infiniband_endport/ibendport_test.conf create mode 100755 tests/infiniband_endport/test mode change 100644 => 100755 tests/infiniband_pkey/test diff --git a/tests/infiniband_pkey/test b/tests/infiniband_pkey/test old mode 100644 new mode 100755 diff --git a/README b/README index a4c8ebb..de50eb4 100644 --- a/README +++ b/README @@ -201,7 +201,12 @@ INFINIBAND TESTS ---------------- Because running Infiniband tests requires specialized hardware you must set up a configuration file for these tests. The tests are disabled by -default. See comments in the configuration file for info. +default. See comments in the configuration file for info. The endport +tests use smpquery, for Fedora it's provided by the infiniband-diags +package. Infiniband PKey test conf file: tests/infiniband_pkey/ibpkey_test.conf + +Infiniband Endport test conf file: +tests/infiniband_endport/ibendport_test.conf diff --git a/policy/Makefile b/policy/Makefile index 46c9fb5..c062009 100644 --- a/policy/Makefile +++ b/policy/Makefile @@ -49,6 +49,10 @@ ifeq ($(shell grep -q getrlimit $(POLDEV)/include/support/all_perms.spt && echo TARGETS += test_prlimit.te endif +ifeq ($(shell grep -q infiniband_endport $(POLDEV)/include/support/all_perms.spt && echo true),true) +TARGETS += test_ibendport.te +endif + ifeq ($(shell grep -q all_file_perms.*map $(POLDEV)/include/support/all_perms.spt && echo true),true) export M4PARAM = -Dmap_permission_defined endif diff --git a/policy/test_ibendport.te b/policy/test_ibendport.te new file mode 100644 index 0000000..2a02c57 --- /dev/null +++ b/policy/test_ibendport.te @@ -0,0 +1,40 @@ +################################# +# +# Policy for testing Infiniband Pkey access. +# + +gen_require(` + type bin_t; + type infiniband_mgmt_device_t; +') + +attribute ibendportdomain; + +# Domain for process. +type test_ibendport_manage_subnet_t; +domain_type(test_ibendport_manage_subnet_t) +unconfined_runs_test(test_ibendport_manage_subnet_t) +typeattribute test_ibendport_manage_subnet_t testdomain; +typeattribute test_ibendport_manage_subnet_t ibendportdomain; + +type test_ibendport_t; +ifdef(`corenet_ib_endport',` +corenet_ib_endport(test_ibendport_t) +') + +dev_rw_infiniband_dev(test_ibendport_manage_subnet_t) +dev_rw_sysfs(test_ibendport_manage_subnet_t) + +corecmd_bin_entry_type(test_ibendport_manage_subnet_t) + +allow test_ibendport_manage_subnet_t infiniband_mgmt_device_t:chr_file { read write open ioctl}; + +ifdef(`corenet_ib_access_unlabeled_pkeys',` +corenet_ib_access_unlabeled_pkeys(test_ibendport_manage_subnet_t) +') + +allow test_ibendport_manage_subnet_t test_ibendport_t:infiniband_endport manage_subnet; + +# Allow all of these domains to be entered from the sysadm domain. +miscfiles_domain_entry_test_files(ibendportdomain) +userdom_sysadm_entry_spec_domtrans_to(ibendportdomain) diff --git a/tests/Makefile b/tests/Makefile index 7dfe2a8..369b678 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -10,7 +10,7 @@ SUBDIRS:= domain_trans entrypoint execshare exectrace execute_no_trans \ task_setnice task_setscheduler task_getscheduler task_getsid \ task_getpgid task_setpgid file ioctl capable_file capable_net \ capable_sys dyntrans dyntrace bounds nnp mmap unix_socket inet_socket \ - overlay checkreqprot mqueue mac_admin infiniband_pkey + overlay checkreqprot mqueue mac_admin infiniband_pkey infiniband_endport ifeq ($(shell grep -q cap_userns $(POLDEV)/include/support/all_perms.spt && echo true),true) ifneq ($(shell ./kvercmp $$(uname -r) 4.7),-1) diff --git a/tests/infiniband_endport/Makefile b/tests/infiniband_endport/Makefile new file mode 100644 index 0000000..e7c006f --- /dev/null +++ b/tests/infiniband_endport/Makefile @@ -0,0 +1,2 @@ +all: +clean: diff --git a/tests/infiniband_endport/ibendport_test.conf b/tests/infiniband_endport/ibendport_test.conf new file mode 100644 index 0000000..601b290 --- /dev/null +++ b/tests/infiniband_endport/ibendport_test.conf @@ -0,0 +1,14 @@ +# Enable(1)/Disable these tests. +SELINUX_INFINIBAND_ENDPORT_TEST=0 + +# Device/port pair that should allow access. +# The test uses semanage to allow, because +# ibendports are all unlabeled by default +# the reference policy. This allows using +# the same device and port for both the pass +# and fail testing as well. +SELINUX_INFINIBAND_ENDPORT_TEST_ALLOWED=mlx5_3 1 + +# Device/port pairs that should deny access. +SELINUX_INFINIBAND_ENDPORT_TEST_DENIED=mlx5_2 1 + diff --git a/tests/infiniband_endport/test b/tests/infiniband_endport/test new file mode 100755 index 0000000..b4e553d --- /dev/null +++ b/tests/infiniband_endport/test @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +use Test; + +BEGIN { plan tests => 2} + +$basedir = $0; $basedir =~ s|(.*)/[^/]*|$1|; + +my %conf; +my $confpath = $basedir."/ibendport_test.conf"; +open($f, $confpath) or die ("Couldn't open ibtest.conf"); +while($r = <$f>) { + if ($r =~ /^\s*#/ || $r =~ /^\s*$/) { next; } + chomp $r; + ($k,$v) = split(/=/, $r); + $conf{$k} = $v; +} + +if ($conf{SELINUX_INFINIBAND_ENDPORT_TEST} eq 1) { + @allowed_device_port = split(/,/, $conf{SELINUX_INFINIBAND_ENDPORT_TEST_ALLOWED}); + @denied_device_port = split(/,/, $conf{SELINUX_INFINIBAND_ENDPORT_TEST_DENIED}); + + foreach (@allowed_device_port) { + @dev_port_pair= split(/ /, $_); + + system "semanage ibendport -a -t test_ibendport_t -z $_ 2>/dev/null"; + $result = system "runcon -t test_ibendport_manage_subnet_t smpquery PKeyTable -C $dev_port_pair[0] -P $dev_port_pair[1] -D 1 2>/dev/null"; + system "semanage ibendport -d -t test_ibendport_t -z $_ 2>/dev/null"; + if($result ne 0) { + last; + } + } + ok($result, 0); + + foreach (@denied_device_port) { + @dev_port_pair= split(/ /, $_); + $result = system "runcon -t test_ibendport_manage_subnet_t smpquery PKeyTable -C $dev_port_pair[0] -P $dev_port_pair[1] -D 1 2>/dev/null"; + + if ($result>>8 eq 0) { + last; + } + } + + ok(int($result>>8) ne 0); +} else { + ok(1); + ok(1); +} +exit;