From patchwork Wed May 31 20:14:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stephen Smalley X-Patchwork-Id: 9758041 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 E040F60390 for ; Wed, 31 May 2017 20:10:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D336F283FF for ; Wed, 31 May 2017 20:10:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C734A2842B; Wed, 31 May 2017 20:10:46 +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 autolearn=ham version=3.3.1 Received: from emsm-gh1-uea10.nsa.gov (emsm-gh1-uea10.nsa.gov [8.44.101.8]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D44D9283FF for ; Wed, 31 May 2017 20:10:45 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.39,276,1493683200"; d="scan'208";a="7622946" IronPort-PHdr: =?us-ascii?q?9a23=3AzgSM0B+6sm46Mv9uRHKM819IXTAuvvDOBiVQ1KB5?= =?us-ascii?q?0u4XIJqq85mqBkHD//Il1AaPBtSEra4awLOK6OjJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMhjexe7x/IRS5oQnMucQbj5ZpJ7osxBfOvnZGYf?= =?us-ascii?q?ldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbD?= =?us-ascii?q?VheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxDmki?= =?us-ascii?q?cHMyMy/n/RhMJ+kalXpAutqwFjz4LRZoyeKfhwcb7Hfd4CRWRPQNtfWSJCDI27?= =?us-ascii?q?YIQAE+UPPf5aooXgqVYBswC+CBKwBO7s0DJEmmX70bE43uknDArI3BYgH9ULsH?= =?us-ascii?q?nMsdv1KLkdUfi1zKbWyzXIcu5Y2TLn54jMdhAuv/GNVq93fMrK1EYvDBjIjkmQ?= =?us-ascii?q?qIP5PzOV0f4Bs26A7+V6T+6vhGknqx9orzWp28wihI7JhocPxVDF8yV02Jw1Ks?= =?us-ascii?q?OlR057e9GkDIFcuD2dN4tzRM4pXmJmuD4ix7EbtpO2czIGxZQ6yxLFdfCKfJaE?= =?us-ascii?q?7gj+WOuXPDx2nmhqeKiliBa36UWgz+r8WdSq31tStSpFl8XMtmgK1xzO9siLUv?= =?us-ascii?q?t98Vml2TaIzw3T9vtLIVo1larGMJ4t2KIwl5oPvkTDGS/6gkP2g7ONdko44OSo?= =?us-ascii?q?7uXnYrH+qp+dMY97lB3+P7wzlsGwDuk0KAgDU3WB9eii27Dv41f1TKhSgv0ziK?= =?us-ascii?q?bZsZTaJcoBpq6+Bg9Yyp0j5Ai7Dzen1tQYgHYGIEtedxKAkojpPU3BL+7jDfqk?= =?us-ascii?q?n1StkCtkx/DBPrH7BJXNNWLMnK3ufbZ69U5Q0BAzwsxH55JIFrEBJ+r+Wk32tN?= =?us-ascii?q?zeFBA5Lwy0zPzhCNhm1IMeXmSPAqqDP6PJrV+H+PgvI/KWaI8Sojb9JOAv5+Ty?= =?us-ascii?q?gn8hhV8dYa6p0IMVaHC6BPtpP0aZYWHrgtcHEGcKoBEzTOLuiF2fXj9cfGuyX6?= =?us-ascii?q?Qg5jEmEo6mCp3DRo+1irybwCi7BoFWZnxBCl2UH3bodoGEW/ISZyKIOcJhnCIL?= =?us-ascii?q?WqWmS487zx6urBX6y71lLuXK5iIYqYjv1N9v5+3cjRsy7yB7D9yB02GRSGF5hn?= =?us-ascii?q?4HSCMz3KB4p0x91kqP3LNmg/NGD9xT5vJIUgA8NZLGyex1FczyUBrbftiVUFam?= =?us-ascii?q?XsmmATYpQ90s398BeVx9Fs6+gRDE2iqlH6Ual6eXBJAu9KLTwWTxLd5ny3nazK?= =?us-ascii?q?khk0UmQsxXOGymh69/8A7TCpXMk0WdjqqqdKIc0DTL9GiZ12qOv0BYUBBuXqnf?= =?us-ascii?q?W3AQeFfWp8zj5kzeV7+uFagnMgxZxMGcMqtFcMfpjVRdRPr4INTReXixm2arBR?= =?us-ascii?q?aQwrODdpbldHsH0CXaEkgEnBgZ/WyaOggmGiehv2XeASRgFVL1eUzs9/VxqHKg?= =?us-ascii?q?TkIvygGKd0xh26Ou+h8bnvyQUfQT3qgLuC05sTV7AE69387KC9qHvwdhf79TYd?= =?us-ascii?q?A64Fdazm/ZtBZyPp+nL6B/nFIedB53v0z23RVtFopAidQqrG8tzAdqM62XzUlB?= =?us-ascii?q?dzKG0pDqIbDYMHX9/BW1Z67RwFHe386c+r0T5/Qgt1XjoAapG1I583VpydlV1G?= =?us-ascii?q?Cc5onRAQoJV5LxVUg29x1gqLHceCU94Z3b1WF0O6murjDCw84pBPciyhu4cdZQ?= =?us-ascii?q?KqeEFBPsHM0AHMijM/IqlEazbh0fIeBS8bQ4P8S8d/uJwKSrJvpvnCq6jWRb54?= =?us-ascii?q?Bwyl6M+DdhRe7JxZkFx+qV0ReAVzf5kFiuqNv3mZxeaTEUAGW/1TDuBJRNaa1q?= =?us-ascii?q?YYYLFWCuLtWxxtV/g57tX2BX9EW4ClwcxsCpYx2SY0b63Q1K2kQduWanljegzz?= =?us-ascii?q?xojzEpqbKS3DLPw+v+aBoHPXRLSHN+glfsJoi0id8aUVOsbwgokhuq/1z6x69B?= =?us-ascii?q?qKR4NWnTTl9CfzLqIGF6Tquwqr2CbtZL6JMpqiVXTP2wYUuERb75ohsa1T7jHm?= =?us-ascii?q?RFyTAgbzGqu5P5nx1mh2KGNnpzqmTWed1ozxfF+NPcXeJR3iYBRCRgkznXAVy8?= =?us-ascii?q?P9238tWOi5jDte6/Wnm6Vp1ObSbr1pmMtCyh5W1lGRe/hey8msX7EQgm1i/2z8?= =?us-ascii?q?FqWj/VrBb4eIXkzb62PvlgfklsGF/87Mx6F5p7kocsgpEQ3mQVio+T/XUZjWf5?= =?us-ascii?q?Kc9b1r7mbHoRWT4LxMbY4Av7101lNXKE3IH5WWubwst6Ydm1fH8W1jg678BQB6?= =?us-ascii?q?ee9KZEkjdtolqksQLRZuBwnikbyfQz83ManecJtxctzimHBLAdA1VYNzT2lxuU?= =?us-ascii?q?99C+sLlXZGG3fLiozkV+gNShAaqerQFdRHb4eo4uHSFq4cV5Kl7M12fz6o78ct?= =?us-ascii?q?nKcd0TrgGUkwvHj+VNMpI+i+cFiDFoOWL4snwp0eg7ggJy3ZuipoiIN31t/L6l?= =?us-ascii?q?Ah5fLjD1f9kc+izpjalAhsaZxYavHol/FTURR5boUOmoHywItfT8LQqOCzo8qm?= =?us-ascii?q?qBGbXDAwCf5kBmr2jAE5+1LX2XImcWzcl6ThmHOENfmBwUXCk9npMhGACl3srh?= =?us-ascii?q?cFt+5jAU/VP4pAVDxf9vNxnlSGjfvB2oajA2SJeBMBVW8htO50DPMcyR9uhzBT?= =?us-ascii?q?1X/oW9rAyRLWyWfwFIAnsNWkyAGV/jIqWu6sPa/OWDAOqxMefOYa6SpuNET/eH?= =?us-ascii?q?24ij0o148DaQLs+PJGVtD+Un2kpfWnB0A97Zly8BSiANkiLCdcqbpBC8+yBstM?= =?us-ascii?q?+w7PHrVBjo5YuVBLtYKc9v9AyugaefK+6Qgz50KThC1pwS2HDI06IQ3FgOiyFp?= =?us-ascii?q?bDmgCq4PujLITK7Kna9XFREbYTtpNMRU96I8whVNOcnDh9PzzL53lOY1C09eWF?= =?us-ascii?q?zvm8Gpf9cKI32zNFPGAkaELrKGKiHKw87tZaOwU7pQjP9btxeoozaUD1fjPiif?= =?us-ascii?q?lznuTx2vKf9DgzqFMxxYuYG9bhFtBHPiTN34dBK0LsV7jToswb07nnnKL3ITMS?= =?us-ascii?q?Bgc0NRqb2d9ThXje54F2xF73plNvWEmz2D4+nDNJkZreFnAj9qmOJe4XQ6zaZV?= =?us-ascii?q?7S5fSfNpmCrStMNuo0q8nuiB0DVnTAFOqjFNhI6RukViI6rZ/IFaWXnY5BIN8X?= =?us-ascii?q?mQCxMSqtt+ENLvpbpfytfRm6LoMzpC6Mjb/dUGCMjbNs2HK2AtMRz3Fz7IFAEF?= =?us-ascii?q?VyKkNXnDh0xBl/Gf7maarpk1qpjrnpoDUaJUW0IuGfMbEEtlGsYOIJBtXjMrib?= =?us-ascii?q?SbltIH5WKirBnNQ8VXporIVv2IDvXxNjmUlr5EZwMWzrP+KIQcLIz720h5ZVl9?= =?us-ascii?q?k4XGAU3QXcpCoid5dA87vF1N8GRiTm00w0/ldgSt4HoJGf6umR43ixVxYeI2+z?= =?us-ascii?q?f25Fc4OFnKqTAsn0k2nNXqnSqecCXtLKuqW4FZFTb0vVArMpznWwZ1cRGynUt8?= =?us-ascii?q?OTfHR7NRi6VveHtuiA/bt5tPF+BTTbFYYB8QwvGXYusn3U5aqiq52U9N/fHFBo?= =?us-ascii?q?d6lAs2bZ6sqGpN2wR9Y9EvIazdP6lJzl9LhqKSpCCo0PsxwAwfJ0oX9mOdZjII?= =?us-ascii?q?slQSNrY6Pyqo4vBs6QualjtZZmcMTOQlrehw9kwhO+SN1Dnv079ZKk+sMOyfIb?= =?us-ascii?q?uZu3Lems+IWF8w0F0Hl1Vd97hszcgja1aUV1wozLaJChsJMszCKQdIYMVM8HjT?= =?us-ascii?q?fD2Dvv/TzpJvOIWxDOfoTfWBtKwMmEKrAB4pH5gQ7sQGBpSjzVvXLdnmLLEY0h?= =?us-ascii?q?Ug/x7kJE+fDPROdhOLiykIrN2izJ9t3IldOjEcDX97MSqp+rbdvhUqj+abXNcq?= =?us-ascii?q?fncaWZMJOW8tWMKkgSFZsG5AAyOp0u8C0wiN9Tz8pjnKDDbmddZjYOqUZRV2B9?= =?us-ascii?q?Gs4Dk/76+2iV3X85XZPW36M8ptusPX4+MAu5mHE+9UTaV6s0rEn4lYQGaqXHDJ?= =?us-ascii?q?Ed+0IJj9cIYsbdrpCnqgVVy/kT01Rd/rPNmxNqiInR3oRYFMvYmAwj8jMc69Fj?= =?us-ascii?q?cDGxZ/vOwM+KV8ZQgfbJUheh7oqx4yN6qhLweEyt+uWXqiKSNKT/lDyuW3f79X?= =?us-ascii?q?zzAsb+CgznsgUpE6wvK48U4KXJEFkgvSxfC9aIlCSSLzAGBSex3TpSolkGhsLv?= =?us-ascii?q?oywuY6wBPPrVkcMzCKefd0Z2xFv9AzH0idLW9wCmUmW1+WlZDD7RK037AO4ytd?= =?us-ascii?q?mM5Z3vdBsHj/opDQfiqjWKmrqJXTtCoga8IprrZqPoziOMSGsorSnjLCTJXKtA?= =?us-ascii?q?2KTjK6HeJAmtdMOCJYXOVImWY9NMMdp4VB71E8Wd0jKLxRFqYsvKuqZiB+DS8S?= =?us-ascii?q?1yMZUJmA3DMaiOemx7TajguQcIglMBEcv5VCn9odUypyYiwAoa+uTJjZmHGfRW?= =?us-ascii?q?gKOggT6x5A5AUalo9/Zurl+pbHTIdQyz5KpPJ5SjHLFp9p91TnSmGWhlz4SO65?= =?us-ascii?q?neKwwAxc1u7h3N4AVRFjDkhdwvpZmVEzKLFrMaUQuJDFsiOQf0PgoG3t0PemJE?= =?us-ascii?q?VWycDMbV33FpDFtW3nXSAH5X0UX5VAyG/BGpQWkgp5bqkrpFFNIICpekb++zIk?= =?us-ascii?q?yJ5zH7m9T8yrwUgqrWoeTSewD9VBE/1msE7QWDB9bZGnsonqO5VTQm9V+Z2SsV?= =?us-ascii?q?RZnV5sMyGn15VTNdtB4jkWXDhAuT+dpse9SNVf2c9qCJ8BOs1wu23gGKNCIpSR?= =?us-ascii?q?oGY7ur3uyn/Y5zAzq022xDOtFK+kV+hZ5XERGh01J2SCrUkiF+os8mHO8l/Ttl?= =?us-ascii?q?B74eJbCaaTjUVroDdwBZdOBi5X2nCjKlR8VnhGs+FBJ6TSfM1QWf4yZQWgOxYm?= =?us-ascii?q?D/4pw1SJ/V1onXf+eyFyuRFa9DrbXwkoTiQVg7DtmDMYqsG7OT8VVZNIbTM9by?= =?us-ascii?q?jbMQKXgyZXswhDa0tyQZAWHs5F+60H3YtT5sfCVUGsKSQeURx+Kg441OFQmVRF?= =?us-ascii?q?sEqGZSDXFRCoeurXsh1rYceRq9akLPTj8wddkIzntP03+r4eSHK4gQ2tWc7Rr4?= =?us-ascii?q?viud2QrEeOc734M+Kka3/bUDfMlQywhasjD5TS/SjTNxRUJoJnxnU6epjuF3TL?= =?us-ascii?q?PQhYKK0GPUZbU751acleqOBAe8BkYLoJ+bNqBh+fXRzvFpCgoOVEI1rOSznTND?= =?us-ascii?q?mO8uu6oY3P97PdUvTgataKx3nZX6J9Jo165iXjG7f2zY9e/VL72u1z+UxnSVjJ?= =?us-ascii?q?KTyBoc/lJgMM+smtaFXusYEuHTzLHph8inztyV9cd8APWS2l7IwYyI9F6Hb3Ue?= =?us-ascii?q?94ylPzsPFI+LZ59Yk6+KtpycCpJafINftVr0lnAgSOBgpw8pUhGm9/R3peYuUJ?= =?us-ascii?q?MvfeYbwZjdzyq+DwD6EX9AeV9PJHZtTaPEzBh82/Ci2GSRNeggcBqDkaLg+C2P?= =?us-ascii?q?6ZgaN0Ttylpefh0EI3/1e+NgIGzKxq5Yqc+KqHvvXXbxzKzbgAQKfqWNj+rrEx?= =?us-ascii?q?u0OW+f0klaIBem1vbA2hC+gRTMkdxn3vzaoy1yIjD9vDH678+P5ET385nCjvm5?= =?us-ascii?q?ZzH1UMHfMbAKSE8J9CnmginezZLdoWfrpEmmmRCR6uCqUCxmKz6yuLPGllhQnD?= =?us-ascii?q?0xf0QW6o7V/2qyp4TTHNz9flnEpVTKO4BVxOXyqzJE93rC+PPBfytNXpo6g161?= =?us-ascii?q?s2MmP8vtKXiGShIK9XH9H4JNGEJyk0pU4YjJo1RtO1woAXA9u9INAW8HFldfvT?= =?us-ascii?q?8GarniBOoqtdgIre+M6V8O3NHXa8l62at6mNxDdAx3ckp14/7s6vNurS59yKRP?= =?us-ascii?q?SlzH0RQDt+uwTfWR61tr3boEoONUyNzkjLhJQAPstF0nkgykHm+O8jTco39AVF?= =?us-ascii?q?E4bNZ+gPpT7tNzTpxlafecg4VjGE0ztQHFL6D0V3GLQm1GL3psLJmm/a+0c0SY?= =?us-ascii?q?loa0znmRt3Ap06KUIs7Vga2S8DHhYNaB+FFrGoBELlLYQeWUgFdxuHwKCwer0r?= =?us-ascii?q?0k1r3rOv+OjTYPR9B6sMLPlSlBKBkUNAGp0Ira0RXq5zd0Va9K7NqQjoE5LnUO?= =?us-ascii?q?T+lXosKf21RdhX/tsYt3s57AewXRig6ZZf77YDkp+Ia6pEbIPQs8B78kho+yQA?= =?us-ascii?q?djFXgBh4lRO2S/oQpOf54tjUqJCo8PqhVL4xR+UL8Bg5H3x+gIHsgF8/odHW2e?= =?us-ascii?q?BcSpfWiYjm6wBCPXqKuIfc0xlhJusDMJqrc6x893obJygfKXUOPcCVa/Um4C9i?= =?us-ascii?q?Li/T51pcDcMIf98YO9DNmQ9MgE3zRL5T7tbbGkOfC4pra8Ao9XT4yDQv/ps6TO?= =?us-ascii?q?nt8yK5JZHQ71FMI/NMlj5sm8jYpOgI2/bSDjYY4WWBYRhv3iyC04WNC+r3/eiU?= =?us-ascii?q?x9HbTUkGETAqU4ddPzeC/Q2nRvarm5XpSAyU99TzjIg4dE2OWny7hL4FvbpUEe?= =?us-ascii?q?5cliX72SBTFo/riPKTr9qs72xXulpcEIlt6R3FGaNfPoh0OBnjksmkWFJ8Byvl?= =?us-ascii?q?d83OcBohpvaWzP8W4+piL0v+eZMbIhUcxr3m63paVBdhRaXqsVaeWeIRYNpmR+?= =?us-ascii?q?3ernBJ941vN68PMEKapJzwoTdCsEo2DxMxaL8ssjxacVHDnAhSW6bypL4AhRUT?= =?us-ascii?q?XMV8uU9NA22wPnwx5ybJVKRSlqmRC+cV/i+VTqMQT0ViKjl+TA+t2JVyZ7upmu?= =?us-ascii?q?hKsmxakSNmu/gmyiFoShS6ty3toaINxD0h9aq3tDUEo3NFSPuRnz3PCVVZw/QA?= =?us-ascii?q?lb0cBGr66VygfHkDa5P/4LtgJcTg84kt+WgwYRUnfy0bQOuhCiDwj6WTAoyMsd?= =?us-ascii?q?JRnwCNuMTQbbCpKSgdK7U9xQjlR3djzgjUhAxo/3cTQjW88N8kI52wOcc7xiWy?= =?us-ascii?q?H2jWb1IM4r5Uv8vwsl4LV/E6aVR7wGVsysKHXDECRNTTG2YpiQgpcWdEf4xN6R?= =?us-ascii?q?8UE6klmTiJsbNA/g4KfDfYCIKl9ZfMnc3Qw3kyUc9qxn7Kpq2Cnp4q33llm9R6?= =?us-ascii?q?7yGQvHQSc/fVU9RrAnj114dQ1fbyZ/OzveAbUIFm0qiuUOceMsm//mu7wJdqWk?= =?us-ascii?q?+lx7QGGFq5NO4DxqvFXCq+TG2YWPiLc3KSkDojNU7y/xaoJEUtaMhWt089LvfC?= =?us-ascii?q?hplEmg39ULN0Qz6dpUPazGM/MuMVaQY2tJ2hewMUUO4bf/KcKvQ2wP0iFFsMaG?= =?us-ascii?q?fEHS53C++1sl6tm5N2O3d67kX5ZuTt9B7pMN2IFhkCD4HasoZ7+eamSWKZJX9g?= =?us-ascii?q?0BpyMVFv+OjBEVQxqvRRc42VndjXm9R7zfAFeOlwPiEnvd4TgI1j45GO0MiWaR?= =?us-ascii?q?HR0oryJdbNr/iABP3fy14lentUU7oeZQP16Z43Pts+W73UBrtWowgTBbI9QJw6?= =?us-ascii?q?LGfx9ad0LAxpfg7WfrS0jdHgpviXaZtMu3/W8lUwIT/SuxIdzvy0TBR7YI6xin?= =?us-ascii?q?TzIZAwQzdBoMN3ChtiAoRDAcQArxCoA5SMgqG0l8ex+19mu+8NqafxBOjK1M64?= =?us-ascii?q?34ptQZdX/kmLPDfNBKlxnEtplOOygu3P0pPpE8PtZcsEVPRnQm7CcrLGGYG/JS?= =?us-ascii?q?yVN8Lkf05J6aWc0K54UhqNeCD5RbSJuzO+OPVi/0o71pRyfPDPwzw187HbxNzy?= =?us-ascii?q?anlfpieiq36JKZRe4EXOBezfRBJUVeGF/X1kHaINa4v08/0CMds4wNiT+wNz9i?= =?us-ascii?q?hN0NOZI6i9qU/Bwll7eozfLEvo3SY5RIYLLBOwP0swgW/WtG7dDmpELse+MsRt?= =?us-ascii?q?g8iaDgbr50ZvnWEifXNBGmXySdeWI2gb1Nq0ZBeW+wJTE9YDg+m3dFY9tqKoVe?= =?us-ascii?q?ZoOpRFmeOttLgcj9ZpKifPS9ZePyHRKr92IzVQAv/IpFgybR4Oq6I1VZstZZiS?= =?us-ascii?q?PEMHN1+NySHowgvB1k37bMeh1LuPICYK8nVHyK/F0TdMpwmlo/qZhNPsUKzBZp?= =?us-ascii?q?HsQPHSKDYlVi2dRTkqHkam40yru+AFvPWGJWcSuU4UYiaIBw4Ip6BvsMLcDmnN?= =?us-ascii?q?lu1/ZJcKnuyVWzjsSC1kk6o/HiRLtUWLQ/oZDwnWbmThjXFauAO4I/9D43PlY6?= =?us-ascii?q?efxqpPVOwcGpFMfeGBQ9vEZfBeIC8lli4XOOa5Y9LRrrU030nWTWQHCanI9Vyf?= =?us-ascii?q?TEmQQvCGwTLkQ5kV7MAIvX8z99bRmDJnO7jZNLaY4Ti1+8i3izjLl/fZUzwWf0?= =?us-ascii?q?EtgO8ESFKEyR1EJXBMX8oZo2nxU6WAYABKz3tvhuVwjUxfMD9vW2FjhyUF1M22?= =?us-ascii?q?HddUHBtN1G4=3D?= X-IPAS-Result: =?us-ascii?q?A2G8AwBeIi9Z/wHyM5BdGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgwEpYnsSg3KLDJFwlw8oDYVsgndXAQEBAQEBAQECAQJoKIIzJA5GWAEBA?= =?us-ascii?q?QEBASMCDWUCIAQLAUYDAwkCFw0CIgQCAgMBbAWIBQsBQoFFDRCsIIFsOiYCizQ?= =?us-ascii?q?BIAWBC4c2gmuCBIYrgmAFniOHIIt7DYsihlWUTliBCicJAh8IIQ+DBIJFHBmBZ?= =?us-ascii?q?lqJUwEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 31 May 2017 20:10:44 +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 v4VKAhxQ011265; Wed, 31 May 2017 16:10:44 -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 v4VK9vxi071060 for ; Wed, 31 May 2017 16:09:57 -0400 Received: from moss-pluto.infosec.tycho.ncsc.mil (moss-pluto [192.168.25.131]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v4VK9ubR010750; Wed, 31 May 2017 16:09:56 -0400 From: Stephen Smalley To: selinux@tycho.nsa.gov Subject: [PATCH 1/3] libsepol, libsemanage, libselinux: Fix fallthrough warnings from gcc 7 Date: Wed, 31 May 2017 16:14:18 -0400 Message-Id: <20170531201420.25226-1-sds@tycho.nsa.gov> X-Mailer: git-send-email 2.9.4 MIME-Version: 1.0 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: Stephen Smalley Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/ Fixes the following warnings by annotating with a /* FALLTHRU */ comment. Unfortunately, the __attribute__ ((fallthrough)); approach does not appear to work with older compilers. ../cil/src/cil_parser.c: In function ‘cil_parser’: ../cil/src/cil_parser.c:253:14: warning: this statement may fall through [-Wimplicit-fallthrough=] tok.value = tok.value+1; ~~~~~~~~~~^~~~~~~~~~~~~ ../cil/src/cil_parser.c:254:3: note: here case SYMBOL: ^~~~ ../cil/src/cil_parser.c:275:7: warning: this statement may fall through [-Wimplicit-fallthrough=] if (tok.type != END_OF_FILE) { ^ ../cil/src/cil_parser.c:279:3: note: here case END_OF_FILE: ^~~~ ../cil/src/cil_post.c: In function ‘cil_post_fc_fill_data’: ../cil/src/cil_post.c:104:5: warning: this statement may fall through [-Wimplicit-fallthrough=] c++; ~^~ ../cil/src/cil_post.c:105:3: note: here default: ^~~~~~~ regex.c: In function ‘regex_format_error’: regex.c:541:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:542:2: note: here case 3: ^~~~ regex.c:543:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:544:2: note: here case 2: ^~~~ regex.c:545:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:546:2: note: here case 1: ^~~~ regex.c: In function ‘regex_format_error’: regex.c:541:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:542:2: note: here case 3: ^~~~ regex.c:543:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:544:2: note: here case 2: ^~~~ regex.c:545:10: warning: this statement may fall through [-Wimplicit-fallthrough=] *ptr++ = '.'; ~~~~~~~^~~~~ regex.c:546:2: note: here case 1: ^~~~ modules.c: In function ‘semanage_module_get_path’: modules.c:602:7: warning: this statement may fall through [-Wimplicit-fallthrough=] if (file == NULL) file = "hll"; ^ modules.c:603:3: note: here case SEMANAGE_MODULE_PATH_CIL: ^~~~ modules.c:604:7: warning: this statement may fall through [-Wimplicit-fallthrough=] if (file == NULL) file = "cil"; ^ modules.c:605:3: note: here case SEMANAGE_MODULE_PATH_LANG_EXT: ^~~~ Signed-off-by: Stephen Smalley --- libselinux/src/regex.c | 4 ++++ libsemanage/src/modules.c | 2 ++ libsepol/cil/src/cil_parser.c | 2 ++ libsepol/cil/src/cil_post.c | 1 + 4 files changed, 9 insertions(+) diff --git a/libselinux/src/regex.c b/libselinux/src/regex.c index 0c5ad27..ec1b0c4 100644 --- a/libselinux/src/regex.c +++ b/libselinux/src/regex.c @@ -539,12 +539,16 @@ truncated: /* no break statements, fall-through is intended */ case 4: *ptr++ = '.'; + /* FALLTHRU */ case 3: *ptr++ = '.'; + /* FALLTHRU */ case 2: *ptr++ = '.'; + /* FALLTHRU */ case 1: *ptr++ = '\0'; + /* FALLTHRU */ default: break; } diff --git a/libsemanage/src/modules.c b/libsemanage/src/modules.c index 90c5e49..62af101 100644 --- a/libsemanage/src/modules.c +++ b/libsemanage/src/modules.c @@ -600,8 +600,10 @@ int semanage_module_get_path(semanage_handle_t *sh, break; case SEMANAGE_MODULE_PATH_HLL: if (file == NULL) file = "hll"; + /* FALLTHRU */ case SEMANAGE_MODULE_PATH_CIL: if (file == NULL) file = "cil"; + /* FALLTHRU */ case SEMANAGE_MODULE_PATH_LANG_EXT: if (file == NULL) file = "lang_ext"; diff --git a/libsepol/cil/src/cil_parser.c b/libsepol/cil/src/cil_parser.c index 101520c..585ea77 100644 --- a/libsepol/cil/src/cil_parser.c +++ b/libsepol/cil/src/cil_parser.c @@ -251,6 +251,7 @@ int cil_parser(char *_path, char *buffer, uint32_t size, struct cil_tree **parse case QSTRING: tok.value[strlen(tok.value) - 1] = '\0'; tok.value = tok.value+1; + /* FALLTHRU */ case SYMBOL: if (paren_count == 0) { cil_log(CIL_ERR, "Symbol not inside parenthesis at line %d of %s\n", tok.line, path); @@ -275,6 +276,7 @@ int cil_parser(char *_path, char *buffer, uint32_t size, struct cil_tree **parse if (tok.type != END_OF_FILE) { break; } + /* FALLTHRU */ // Fall through if EOF case END_OF_FILE: if (paren_count > 0) { diff --git a/libsepol/cil/src/cil_post.c b/libsepol/cil/src/cil_post.c index 0d494ea..ad073e8 100644 --- a/libsepol/cil/src/cil_post.c +++ b/libsepol/cil/src/cil_post.c @@ -102,6 +102,7 @@ void cil_post_fc_fill_data(struct fc_data *fc, char *path) break; case '\\': c++; + /* FALLTHRU */ default: if (!fc->meta) { fc->stem_len++;