From patchwork Wed Nov 16 00:42:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Roberts, William C" X-Patchwork-Id: 9430745 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 CBD5960469 for ; Wed, 16 Nov 2016 00:42:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B7E6428CD0 for ; Wed, 16 Nov 2016 00:42:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AA86328CD8; Wed, 16 Nov 2016 00:42:50 +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=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (smtp.nsa.gov [8.44.101.9]) (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 9DAA628CD0 for ; Wed, 16 Nov 2016 00:42:45 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.31,497,1473120000"; d="scan'208";a="796818" IronPort-PHdr: =?us-ascii?q?9a23=3AuBz6vhKiKtTGGYQg3NmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgQKfnyrarrMEGX3/hxlliBBdydsKMfzbON+Pq/EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6zbL9oMRm7owrdutcUjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVRHniD?= =?us-ascii?q?0DNzUk7m/ZjMJ+h79frB64uhBz34vYbYeIP/R8Y6zdZ8sXS2pfUMhMWSJPAYSy?= =?us-ascii?q?b5MNAuYcM+tXoJXyqVQQohulHgSsGOHixyVUinLswaE2zeIsGhzG0gw6GNIOtW?= =?us-ascii?q?zZrdv0NKcWVeC1zbPHzTDZY/xKwzv98o/IfQs/rvGWQbJwatHcyUgpFwPZkFqQ?= =?us-ascii?q?rZbpMC+S1uQItWWQ8uluVfq3hmI6pAx8rSKjy8cxhoXTmI4YxU7I+T9kzIotON?= =?us-ascii?q?G1TE12bcS5HJZStyyWLY97T8c4T211pSo3zKANt4ShcygQ0psnwgbSa/mAc4eV?= =?us-ascii?q?/B3uTP2RITJkhHJ9f7K/mgqy/VCgyuLiUsm0105HrjZfndnWt3ANygfT5tKbSv?= =?us-ascii?q?p94kih2TGP2xrV6u5YOkA7ibDXK5sgwr40jpYTsELDETHqmEjukaObeUop9vKo?= =?us-ascii?q?5uj6eLnquJCRO5Fuhg3jKqgun9awAeU8MggARWib/uG82aX4/ULnRLVKj/s2kr?= =?us-ascii?q?TWsZzDPssbobO5AwlJ3Yk98BayFCum0dQEknkHK1JJYhSHj5PzNF3UL/D4Cum/?= =?us-ascii?q?j0y2kDh33/DGIqHhApLVI3fYi7jterJ9609HyAov1tBT/YlUBa8dL/7pQU/+qt?= =?us-ascii?q?jYDh4/MwypzOfqE8ly14MEWWKSGa+VKq3TvkWU5uI0JOmMYpUZuDHnK/gq//Tu?= =?us-ascii?q?l2M2mUcBfam12psacG63Hux8LEWDYHrsmcwMEX8QsQokTezqk0WCUTpJaHmuQa?= =?us-ascii?q?0w/DY7CJipDY3bXICinKSB3DunHp1Rfm1HBFGMEXPtd4qaQfcBcyySLdF8nTwD?= =?us-ascii?q?T7iuUZch1QuptA/41bVoMvbU9jcftZL529h///fTmg0q9TxoE8Sd1HmAT29unm?= =?us-ascii?q?wSQT85wKF/oVdmx1eGyah4guVUFcdd5vNSSAs6MoTcz+NiAdDoRg3BZsuJSEqh?= =?us-ascii?q?Qti+AjE+VNExw9gTY0tmGNWtlBPD3y23A7MPkLyLHpM0+LrG33ftP8Z912rG1K?= =?us-ascii?q?45glY8X8RPL2ymibBl9wXIHYHGj0CZm7ytdaQG0y7H7H2DwnaWvEFETA5wVr3I?= =?us-ascii?q?UmwFaUvSs9v5/V/CTr+pCbk8KQtO1c+CJbVMat31jFVJXu3vONLAbGKtg22wHw?= =?us-ascii?q?qHxquQbIr2fGUQxCXdB1YAkwAX+naLLgw+Bjq9o2LZCTxhD0jjY0T28elxsHm7?= =?us-ascii?q?VFM7zxmWb0190Lq44gUVhfKGS/MUxbIEpDwsqy5yHFa60dPWDsCPpwx7cKVaf9?= =?us-ascii?q?w9/E9N1XjFuAxlIpygM6dii0YQcgttu0Puywt4Cp9bkcUxsnMl0hByJrmF0FNE?= =?us-ascii?q?bT+Y2orwOrLPIGno4B+vc7LW2k3Z0NuO5qcA9ek3q1T5swGtDUct73Jn09xJ3H?= =?us-ascii?q?SG/ZXKEBAeUZTvXUYr7xJ6va3VYjEh54PI0n1hKa+0sj7G29ItGuQl0Q2tcM1B?= =?us-ascii?q?P6OeEw/+CcoaB9KhKOYygVimcgoEPPxO9K4zJ86pauGJ2LKxM+l+kjKngn9K75?= =?us-ascii?q?x90k2W7Sp8VvDH34wfz/GewASHSy/2jE29vcDvhYBEeTYSE3KhySjlGIFReqpy?= =?us-ascii?q?fZwRBWiyI823wdN+h5H2Vn5c9V6jAUkJ2NWueRaIaFz9xwJQ31wNoXO7gSu40y?= =?us-ascii?q?B0kzYxo6qb3SzO2PjieAMcOmFVQGlijFHsIZW7jt0BR0iodwkplB2k5Unm3KhX?= =?us-ascii?q?vqJ/IHfPQU1QZSj5M3liUrestrqFe8NP8pQosSFTUOuie1CVVrn9ohUB3iP4Am?= =?us-ascii?q?tR2Cs7eyutupXjkBxwkHidI2prrHrFZcFwwg/S5MTGSv5M2joKXjN3hSPMCVi7?= =?us-ascii?q?O9mp4dKUl5HYv+C7S26hUJpTfjXxwYOGqiS7+XVgAQejkPCrht3nDQ863Df+19?= =?us-ascii?q?luTCnHshD8b5L116ukNeJneldnBEXm58p8BI5+jpM6hIsM1ngCmpWV4X0HnH/w?= =?us-ascii?q?MdpF36L+d2EART0VzN7T+wjl3lNsLm6Ty4L+THWdzdNrZ8OmbWMOxiI988dKBb?= =?us-ascii?q?+M7LNegCt1pkS3rRrLbvh7gjcS1+Eu5WUHg+ESpgUt1D6dDqoJHUlfICzsjQiH?= =?us-ascii?q?4M6wrKVQfmavfqa/2FB4nd+/ELGIuhtcV2rhepc+AS9w6d1yMEzK0HLu8YzkZt?= =?us-ascii?q?/QYs8TthGOlRfPkfRVIoorlvUWnSpnJX79vXo9xu4jlxNuwJW6sZObJGVs4KK4?= =?us-ascii?q?AgdUNjPvaMMV4D3tirxensmO1YC1ApphAikLXIfvTf+wEzITtfDnOBiVHT05rX?= =?us-ascii?q?ebF7TfEhGD6Ed6r3LPFJWrOG+NKHkf09piWAGXJFZDjwAMQDU6gpk5GxikxMP7?= =?us-ascii?q?dkd5+jcR5lvjpxtC1O1nKh7/Un3FqwewcDc0T5qfIwRK4QFe/UvVNtae7u1rFS?= =?us-ascii?q?FC4pKhtBCNKnCcZwlQAmEJWlCLB0rjP7m2+dnA9POVBuygIPvSerWBtfZRV++W?= =?us-ascii?q?yp611Itp4SqMPN2VPnZ+F/07xlZDXXdhFsvEnTUAUTcamD/Lb8GBvhu8/Td3rs?= =?us-ascii?q?+n+vTxRA3v/ZePC6dVMdh34RC6m6mCO/SVhCljLTZY0ZMNyGTSx7cD2V4ekSZu?= =?us-ascii?q?dyOiEb4Yry7CULrQmrNLDx4ccy5zMtFI4Lgk3glVIsPbhNL11qRjjv4pBVdFVF?= =?us-ascii?q?rhlduvZcMWImGyLlfHCFyMNLScKj3B29v3br+kSb1MkOVUsAW9tiuAE0D9JDuD?= =?us-ascii?q?mCPpWAqxMexXlyGUJh9euJynchl3E2TjSM/mahuhP99tlDE23bo0hnDKNG4bKz?= =?us-ascii?q?R8dV1CrqGI5yNCnvp/A3BB7mZiLeScgCmZ7ubYKpEQsfZwHyt7iflV4HUgxLtT?= =?us-ascii?q?9i1EQ+Z1mCTKpN50v16mivWPyiZgUBdWsDlLi5iEvVt8NqjC8ZlAQWjL/BQI7W?= =?us-ascii?q?qKChQKo8BqCtrguqxKzdjPjq3zIi9Y893I5cscG9TUKMWfPXo9NhrpHSTYDBEC?= =?us-ascii?q?TT+qK27fgVdSkOuV9nKLrZg3sYTjmJ0LSrBHTlM1De8aBl5jHNMcPJd9Rikknq?= =?us-ascii?q?KDjM4U+Xq+qwHcRMVGvpDHUfKSBO/gKC2CgLlBZhsI3an4IpoJOo38wUxiZUFw?= =?us-ascii?q?nJ7WFErIQdBNviphYxcyoEpT6nd+SnY+20HiagO2/H8cD/i0ngU1igt/e+gt8i?= =?us-ascii?q?nj40svLFrQuCQwiFUxmcnigT2Jaj7+MrywUp9MBCruq0cxMoj2TB10bQ2ogENk?= =?us-ascii?q?MznER6pLj7R+dWFnkgnctoVTGfREV61LfAcQxe2LZ/UvyVlTtz+oxVFG5eTYEp?= =?us-ascii?q?tvjxElcYS2r3JH1QNjd8A6KrDNJKpTz1hQmqKPsjWu1u8v3A8UP1wN/3+KeC4U?= =?us-ascii?q?pEwIMaErJySy/uNy9AOCgCFMeG4QV/otufJn7VkyNPiFzy761L5DME+xPfSFL6?= =?us-ascii?q?yFo2jAidKIQlQo20MMkElF56Z50cEickqTTE0vw72RFwkTOcrFMwFVYNJY9GLP?= =?us-ascii?q?ciaWreXN3ZV1Mp2mFu/2Se+OtaAUgl+rHQsyA4sM6cEBEYW230HDMcfrNrgFxg?= =?us-ascii?q?sx5A7zPlWKEOxJeA6XkDcAu8yw0YN43YxaJjEbHWVxLD665qjJqQ8wgfqCXdA2?= =?us-ascii?q?YnEAUosCKH02RNWwmzRFsHRYEDm3zuUZxRCB7z/mpiXfFj/8b8ZjZPqPahNsD8?= =?us-ascii?q?m29ikl/6iwl1HX7o3UJ3vmOtR6pt/P9eQaqo6bC/NVSLl9tFvcm4lYRnGxTmHP?= =?us-ascii?q?EN60KILrZIU2a9z7FGq6WESliz0pV8fxIMqtLq+QjAHnX4Zbqo+b3Cw4OM+8ET?= =?us-ascii?q?EfFRFwp/0D5K1iZA0DZYY7bgDytwgkMaywPhuY2M20Q2mxMTtWU+VfzeKiarNN?= =?us-ascii?q?yyosb/O1x2U4QZE/z+i390kNRJcQgRzF3vmjZpNRUS7qFnxTZgXDvyw5mHZ9Nu?= =?us-ascii?q?wq2Ocw3AvIsUUAMzCMbOFmc3JLv9cnCFyIPHp2FHQ3R0WHjYXZ+A6t36oe/yxH?= =?us-ascii?q?n9ZbyedFqmTxvofDYDKwX6ymsY/Vsywhbdc6o61xNojjItCeup3HgzLRVoXdvA?= =?us-ascii?q?qeXSGmEPpan8RfLzhDQPlUg20lP9IJuZZZ40orSsg+P6BPCLUrpr2ydTVkDzQd?= =?us-ascii?q?wjMCWoyc2zwChuO827rEmReKbJQtLgALsJVYjtsaSS52bTsUpLW/WIXOi2+EVm?= =?us-ascii?q?8LLR8J7QtW/gIAkZR/c/v54IrSVpBM1SBZo/Z1UivNGZlo81r7Sm6WgVjkRvWu?= =?us-ascii?q?ifap3QdIwPLqzNYbRAZ1CVJByOZOiksoNLZ3JrEQv4HQqT+Hb0b6vGPryOa9JV?= =?us-ascii?q?lR1dfbd0bkA4Xfr2b8VDMT+WEMT49V1H7fDYgSkxZ+aKszqlRAOpypekb/5zwh?= =?us-ascii?q?xoRmBbq4WNuqx1k7s3kJWT2mE91bC+FpqFjXQiFqY4i3qJX5PJVfWndQ+JqZq1?= =?us-ascii?q?hDikVsPSm5yZ5SK8xW5z4MWz9PoS6Ds9SuUs1D3tR2D4QNItd5tHfxAqREOIKe?= =?us-ascii?q?o3cuoLzg1mfZ+ywgsFe93Di8AbW4T/9f/2EEGQUkPGWeqkguD+sw6Wje6FbNvU?= =?us-ascii?q?5o/+1DHLiAkV1xoCphHpBJHjtJyXelL1FoQXlar+laLb/af9ZaQ/YseR+lIwY+?= =?us-ascii?q?GuI+30yV4UF0mm/0YyxouQtA4S/dWxQ7WDIIjbjzgT0est+oOTsERJJSdzkhaD?= =?us-ascii?q?3FKw2DkyBNoBlfc11qW4weAttd+7Eb2pVb/sTcRka2MiwFXQJtORwm3vZFkk5D?= =?us-ascii?q?qkqYczjHDQW0bfbPrgF3fcCJoc6rK/T24hxKhZ75v+Aj6aoDXWGmlhOwTtzEqY?= =?us-ascii?q?/zqMGKvFOUdKjkK+28fWPBTD/UgB+ri7crE4XG8irOPAdVMJR11X0kYZ39BmHR?= =?us-ascii?q?JhRGO7gXJ0xFWqBmcd9GuPxVZ9d4eKYV/q9gHgiHSQ3yF4yvtvZGMk3eRTDZLy?= =?us-ascii?q?Wf7OOzv57c7bvARuf+fMCMwWjIQ75vNJdg9Tb7A6vq0ZNZ+kfuwvdt7V96RkLb?= =?us-ascii?q?PCCdt9nhPQQL5NS4dkT+oJIpGy/WAI1qn3rp3E1AcNAXQyKy+pQC1JxZ8GrwSf?= =?us-ascii?q?5/0kXrrO1S7adr5pcq7L1y1Me0IbvSKe5Avk95AxiUAQFq+YsxAGRlQGBReOAR?= =?us-ascii?q?Iu/LfasFlcDut/z3F6sP5R2Q4eNZbd/HKF/dmsmjED6TUwdJnAEfpj4GNQuTy+?= =?us-ascii?q?SKm7dqRsq/o+j2xF4t6UCkLhEa1LBt+ZuE+q2Qqe/VdRTR178EWrPuRszpsLQh?= =?us-ascii?q?oEaS5eAglL4Se2x6fwynH/IbVs4G3GvgyroqzS00GcPZA73g4OJDV24+nj/4mZ?= =?us-ascii?q?ByBVMWGv0OHbqM4ItRgHw1m/DDOd0QaaBCnXyDFRi6Hb8e0XSr8TeYIHF5ghHS?= =?us-ascii?q?1BH9WWyz7EL3rS98RSvD0dLjn1FIWbapHkhSXjCmOUlivDOIJgrou8L9ub4p40?= =?us-ascii?q?EuLmzkqNWNmXOnOLNTBMD/JdqcISwuqFIWip0xSMav1poAGdqhOtcR7W1xbufD?= =?us-ascii?q?62OxjSBNuaBHh5DR4suN4PXYAWGgj7GGq7WK3D1Yz384vVcj6tCvKP7D/NiKQ/?= =?us-ascii?q?Wy2GYXUSh/pwXAXxmvqrzYtFAYI0qL31nXmIYSJNFWwWE41l365OgkWN8z7hhR?= =?us-ascii?q?GZvbavMNoDDyNyH4wVCBbNIrTiOeySdYHkrpEVlkH6gxwGbwvNnMlXrQ4FAoSJ?= =?us-ascii?q?d/eFHghRxtFYo4MVgt6F8VwiUdDQcNdQqXDLayBUTqNYEET1QMaQyb3Limfac6?= =?us-ascii?q?xUhzwrex6+/WauxzGa4NO+1SjgGQm1hbAYoWvrcCQLJ9YVBd8K/Xpg7+C4f5W/?= =?us-ascii?q?jmkXswNfKrTcBc7c8WqWEu4gChSBq88Z1D9aoUiIiUdq5YZpjBpNt84F155TEV?= =?us-ascii?q?eSxCngN/ggiiUe8GuuDs+Nfbv4Sz6uq0UqYiWfkX/QAuB2til5vwnEwjodbP2u?= =?us-ascii?q?deS43VjJ/y8AVTLH+KponayRh8KewBK46xerZv6WkHLTAEJ30SJdqWd+U84yh1?= =?us-ascii?q?PTXS5l1NGNkDas8DMcrWhw9UllPmV61J+srcAF+YBJ95d9o04Grv1DA17Zw8X/?= =?us-ascii?q?775z+3PpDe4UtCP/FCjCVwjNLNvvUVwf7JBScL5nmWdgZ6zTmfy5mXDPbw5/+D?= =?us-ascii?q?xMvTV1McES48S51dKyaa+Qy7Wuq1k43kUhuO5c/vnJ0+dEyRRnurnKQGq6pMCv?= =?us-ascii?q?BPiiH63jhYC4D0iOmYs8K252tLqlJHEIhy7RrfGKVcJJl7Ogr3ltOtRkdiAivz?= =?us-ascii?q?YsbUdgAhuOCO3OcD//1+N1fiZY8cOh8E16j65mRRTgR0Tr75oE2UUv8QZNtpSf?= =?us-ascii?q?PEsmpa6Zl6JK8VIViRvprqoSlUqFouGg8mdKcwriBGdknJhABVVLz7uKQehQsA?= =?us-ascii?q?Ud50oktMGWOsOG0g5zrIT7lVjLKLBPwT7DqTUrQEU190PSNmXxO1xJJudqOmnf?= =?us-ascii?q?9ZtGNGgiR9oP8t3zx9WhS8vSzsp6QQ2TMv47y4sCsOuWZFT+qEiSvID0tMzOgS?= =?us-ascii?q?h6cGF3ni8UC8YGUEbIbq5rlnJNjv9Y4l43slehUvZSwGXeOnCyHrlKOFGYmPvd?= =?us-ascii?q?1ThRKXv8XOd7CzJzAINrsh0RLjW2R90g/GkRZn7GQLWS6g4MY5KouyP8glxyyo?= =?us-ascii?q?GXXUdVsX7aNJtdH+tVgVQ+csblNh2mpj2NCdRiIRXMzPB3o1jg88ZGVGd5JD6R?= =?us-ascii?q?kaG7M0jTaIuqlG4xwbYTbVEoSj4YnQnsbI1GIjTddr2GLZvKmFiY4r0HF/ndN7?= =?us-ascii?q?8DKOsmwId+PES89sHmTz1oBHxOz/efWiqOYHRZBiyLS8TfACM86j+XCs1JVtQE?= =?us-ascii?q?+lyawUH0ClP+8b2rfbTyClRHWaWeuVfWiMkTI5P1X85BayKF04dttKo1U7MuTc?= =?us-ascii?q?mp5WjxfhXq9sRiWMuV/by3QuMewedwIxtoaoZQgKTOoKauiHIuguxvw+B0cWY3?= =?us-ascii?q?/PAyR2F/e8sUSxk4hjJ3Vg/UL6bPzv8gDmMNqSAh4EEYrbrp5t5/O3XWeBOX58?= =?us-ascii?q?zB1oIkZ47eDfF04+tuVEaZaegcDQh8hn0e4Cb/ptLSw9utsIl4J/6ImbzMSKfg?= =?us-ascii?q?/VzproI9HavOSYCeXFz0s2YmFaTqYZYQTt6oU/P945WL7THbxCsBQeH6c6Q5sh?= =?us-ascii?q?N2Hv+6FyNg9zdBDeZKisiMnwuu2LfodUp2PR7l8oNyjTpRsDyuCvQAxga5CqgG?= =?us-ascii?q?nyIIwuRj1fstJhEBxmHJFAG8kYtQqoH4aUmL2ni9+24056tfEFsa7xCvDSytu0?= =?us-ascii?q?xIRwX5lf5UyOIjnRHq1rjVp/guS1mPfA3YH7Cdn+dtMcSOh7XmnFZ6fIH4WnMD?= =?us-ascii?q?KOO97zdFBd/r6Z0bJ5Tg+Raz7jU6qBri2kO+1u4V8nxYxgYOrT0Dst4qnc2Nv2?= =?us-ascii?q?eW5WvT+jrXqTO5tE8FzKBPDRXw5OSfWb7mlpB6sXYpXo9O0WK9wt3MCc4xVv7D?= =?us-ascii?q?RFyMaFJ6mhrknR2kN0bJ7bKErp2z0lWYkROxm/MFEjgWneqnjHBnRcNMekI9F3?= =?us-ascii?q?gNmJFhzt+1VxmWY1a25aBGXoQdaROW4G28OxYwGE+x5LD9YdkO6tZ0E4rre9RP?= =?us-ascii?q?JrOppbg+WqsqsIkdJyJCHSS8hWJSbQLKV5PjBJFOXAuEAoYgIYs7gyQoo1YZmO?= =?us-ascii?q?IFgbMEqbyCLy1A3C3lfue9yqyqmJPD4c8m9bwLLdzThMuw65tO6cgsL5TL/ZbJ?= =?us-ascii?q?D2XPjVMCc+SDGaRDIyHlit+VelvfoEofWZLX0YolAObSKYEBQTqbx3rdjMEm/T?= =?us-ascii?q?nvVufJ8Qi/CZXCD/UzZ1lLc0BiZXtUCMROcDFQbWb3/9mmZcvhKtJuNU93L/c7?= =?us-ascii?q?KY3rZVW/ARAoZUff2WWcDXeepfJzg2kjUUI/i8f9nGoLYi01LIUHEVE6/W+12C?= =?us-ascii?q?VESWWOCTxyr3XYUJuIg5oigo+tfXni9tCaTIPq2fqiWo8oGiiSaXp+zeWnMqY0?= =?us-ascii?q?wvj+IIGHOBzwVYKGEYF9EVv1ngTbCCZ0ZL1HIpj/lu2xgKeAloXX1uyGBWnOij?= =?us-ascii?q?Fc1DU1IUin2hQOEeZlBtEDww5VOK4hH1YdEYosDTSWpe+acNRIceN/Qo9pfYOL?= =?us-ascii?q?ERwPco2zJmpjY2syODAFNBlgiF6bbfHLpgxr1e4mk15/N2XkaJQzPbaWXHz5Sp?= =?us-ascii?q?BN9BxSdpu3Dry9TbsvprNLREu4EqSGsNVDl6PfjB7DtBVifywwL0sBGlWHyYJj?= =?us-ascii?q?Ex7zEMKigIMO1yyqszqxvMd9Dc+WuMpqkhrw2tEg/NBb2qi7JRDcS8ygS8bShC?= =?us-ascii?q?dHOgUYpxoPtXiM06YKU7aIz4CFfEfVu2NR6Rpy1ZrEuimb+sF8cfhzxGnw=3D?= =?us-ascii?q?=3D?= X-IPAS-Result: =?us-ascii?q?A2FOAQBDqitY/wHyM5BdHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAR+BWKYwlCUFTimIKVMBAQEBAQEBAQIBAl8ogjMaghwCJBMUIA4DCQIXC?= =?us-ascii?q?CEICAMBLRUYBwsFGASIS7NGPSoCi0gBJIhBhm8RAYV9BY9cimWQYgKKFoYKkVF?= =?us-ascii?q?VNyNGhT1RAYVsgi0BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 16 Nov 2016 00:42:43 +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 uAG0gUcV024364; Tue, 15 Nov 2016 19:42:31 -0500 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 uAG0gTGR122545 for ; Tue, 15 Nov 2016 19:42:29 -0500 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 uAG0gS8a024356; Tue, 15 Nov 2016 19:42:29 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DmAABYqitY/yNjr8ZdGwEBAQMBAQEJAQEBgzcBAQEBAR+BWLcfgzYFWhiGC4IjUwECAQEBAQECYoU3UjCBDxKIbLNGPYtoATCIQYx+BY9cimWQYgKQIJFRVTeGJlEBiBkBAQE X-IPAS-Result: A1DmAABYqitY/yNjr8ZdGwEBAQMBAQEJAQEBgzcBAQEBAR+BWLcfgzYFWhiGC4IjUwECAQEBAQECYoU3UjCBDxKIbLNGPYtoATCIQYx+BY9cimWQYgKQIJFRVTeGJlEBiBkBAQE X-IronPort-AV: E=Sophos;i="5.31,497,1473134400"; d="scan'208";a="5826232" Received: from emsm-gh1-uea11.corp.nsa.gov (HELO emsm-gh1-uea11.nsa.gov) ([10.208.41.37]) by goalie.tycho.ncsc.mil with ESMTP; 15 Nov 2016 19:42:28 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3A66xZbxJsDCvgUr+9FtmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeLvrxwZ3uMQTl6Ol3ixeRBMOAuqkC0rGd6f+ocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDSwbalvIBi4ogndqMsbipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2UxLjlj?= =?us-ascii?q?sJOCAl/2HWksxwjbxUoBS9pxxk3oXYZJiZOOdicq/BeN8XQ3dKUMRMWCxbGo6y?= =?us-ascii?q?b5UBAfcPM+hbqIfwvEcCoQekCAWwHu7j1iNEi3nr1qM6yeQhFgTG0RQuHtIPtH?= =?us-ascii?q?TUqNT1O70XUeyv0KbE1y/Db/RN1jjj8ojIbgshrOqNXbJ2bcre100vGxnZgVWX?= =?us-ascii?q?rIzoOS6e2OcVs2WD8uZtUeGih3Q6pwxzojWj3MMhh43Tio8byl3I7Th1zYI2KN?= =?us-ascii?q?GiVUJ2Y96pHIFUuiyeLYd6X94uTmd1sygg0LIGo4S0fC0SxZQn2RHfb/uHfpCG?= =?us-ascii?q?4hLmT+aRJDh4i2h5dL6jmRq+6EmgxfHgWcWu3lZKqzBJktjKtnARyRPT7tKLRe?= =?us-ascii?q?d6/kekwTqP1gbT5f9YIU0siKbWL50szqQtmpcRsUnPBCv7lUHsgKKYdkgo4u2o?= =?us-ascii?q?5P7mYrXiqJ+cLYh0igTmP6Ugm8y/BeA4MgkUUGie4+izyKfv/Vf+QLpRkPI2iL?= =?us-ascii?q?XZsIvBKMQaoK65HxFa0oI55xmjCDem1cwUnWMbI1JdZBKHk4/pNknVIP/lFvey?= =?us-ascii?q?mEiskTd3yPDGOb3tGJPNLmPZn7v7crZ97FBcwhIpzd9D/5JUFq0BIPXrV0/qqt?= =?us-ascii?q?PYCh45Mwqpw+foE9h9yoMfVn6PAq+eKq/St0SI6fg1L+mDY48VpmW1F/9w/PL1?= =?us-ascii?q?pWMokl8aO6+y1N0Yb278VvJgIG2WZn3jhtpHGmAP+kIlQejrjkCSeSJCbHa1Ga?= =?us-ascii?q?Qn73c0D5z1I53EQ9WygbiF3S6+WJYQfGdMB0qQCl/pcZmJX7EHbyfBcYdajjUY?= =?us-ascii?q?WO35GMca3ha0uVq/kuI/Iw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0EpAQBDqitY/yNjr8ZdGwEBAQMBAQEJA?= =?us-ascii?q?QEBFgEBAQMBAQEJAQEBgwwBAQEBAR+BWKYwkG+DNgVaGIYLgiNTAQEBAQEBAQE?= =?us-ascii?q?CAQJfKIIzGgGCQVIwgQ8SiGyzRj2LaAELJYhBjH4Fj1yKZZBiApAgkVFVN4YmU?= =?us-ascii?q?QGIGQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0EpAQBDqitY/yNjr8ZdGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgwwBAQEBAR+BWKYwkG+DNgVaGIYLgiNTAQEBAQEBAQECAQJfKIIzGgGCQ?= =?us-ascii?q?VIwgQ8SiGyzRj2LaAELJYhBjH4Fj1yKZZBiApAgkVFVN4YmUQGIGQEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,497,1473120000"; d="scan'208";a="796816" Received: from fmsmga002-icc.fm.intel.com ([198.175.99.35]) by emsm-gh1-uea11.nsa.gov with ESMTP; 16 Nov 2016 00:42:27 +0000 Received: from fmsmga004-icc.fm.intel.com ([198.175.99.11]) by fmsmga002-icc.fm.intel.com with ESMTP; 15 Nov 2016 16:42:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,497,1473145200"; d="scan'208";a="191874029" Received: from clpowell-mobl3.amr.corp.intel.com (HELO wcrobert-MOBL1.amr.corp.intel.com) ([10.254.74.236]) by fmsmga004.fm.intel.com with ESMTP; 15 Nov 2016 16:42:26 -0800 From: william.c.roberts@intel.com To: sds@tycho.nsa.gov, nnk@google.com, selinux@tycho.nsa.gov Subject: [PATCH take2 v6] libsepol: fix checkpolicy dontaudit compiler bug Date: Tue, 15 Nov 2016 16:42:23 -0800 Message-Id: <1479256943-26743-1-git-send-email-william.c.roberts@intel.com> X-Mailer: git-send-email 2.7.4 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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: William Roberts The combining logic for dontaudit rules was wrong, causing a dontaudit A B:C *; rule to be clobbered by a dontaudit A B:C p; rule. This is a reimplementation of: commit 6201bb5e258e2b5bcc04d502d6fbc05c69d21d71 ("libsepol: fix checkpolicy dontaudit compiler bug") that avoids the cumbersome pointer assignments on alloced. Reported-by: Nick Kralevich Signed-off-by: William Roberts --- libsepol/src/expand.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libsepol/src/expand.c b/libsepol/src/expand.c index 004a029..3e16f58 100644 --- a/libsepol/src/expand.c +++ b/libsepol/src/expand.c @@ -1640,6 +1640,11 @@ static avtab_ptr_t find_avtab_node(sepol_handle_t * handle, if (!node) { memset(&avdatum, 0, sizeof avdatum); + /* + * AUDITDENY, aka DONTAUDIT, are &= assigned, versus |= for + * others. Initialize the data accordingly. + */ + avdatum.data = key->specified == AVTAB_AUDITDENY ? ~0 : 0; /* this is used to get the node - insertion is actually unique */ node = avtab_insert_nonunique(avtab, key, &avdatum); if (!node) { @@ -1850,10 +1855,7 @@ static int expand_avrule_helper(sepol_handle_t * handle, */ avdatump->data &= cur->data; } else if (specified & AVRULE_DONTAUDIT) { - if (avdatump->data) - avdatump->data &= ~cur->data; - else - avdatump->data = ~cur->data; + avdatump->data &= ~cur->data; } else if (specified & AVRULE_XPERMS) { xperms = avdatump->xperms; if (!xperms) {