From patchwork Tue Jan 10 20:37:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Smalley X-Patchwork-Id: 9508509 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 ED1E7601E9 for ; Tue, 10 Jan 2017 20:36:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DAC8F27CAF for ; Tue, 10 Jan 2017 20:36:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CAAF7285A5; Tue, 10 Jan 2017 20:36:19 +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 E4C9D27CAF for ; Tue, 10 Jan 2017 20:36:18 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,344,1477958400"; d="scan'208";a="2177649" IronPort-PHdr: =?us-ascii?q?9a23=3A6Yc64BNbHG8S0x8tEXsl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LP//rsbcNUDSrc9gkEXOFd2CrakV16yM7eu5AT1IyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbx/IA+ooQjQucUanJduJ6IswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wIOSQ58GXKgcJuiqxVrg+qqxhmz4LKfI2ZMfxzdb7fc9wHX2pMRsZfWTJcDI2y?= =?us-ascii?q?bIUBCPIBMORFo4TzqFQBsRSwChe3BO701j9FhGX70bEg3ug9Dw3L2hErEdIUsH?= =?us-ascii?q?TTqdX4LLocUfyrw6nQzTXMcfVW0irg5ojNaB8hpfWMUqxwcMHMzkQvDB7Kjk6L?= =?us-ascii?q?pIz5PzKayuQNs2+B4+pmTuKgkXQrqw52ojix38ohjJTCiIENyl3c6Cl0z4k4Kc?= =?us-ascii?q?e4RUJme9KoDpRduz+AO4drRM4pXntmtzwgyrIcvJ62ZC0KyJM6yBHBc/GHaI2I?= =?us-ascii?q?4g77VOaWPDd4mGppeLKhiBa29kit0vH8WdOu0FZLsypFicPAtmwN1hPP6siHTe?= =?us-ascii?q?Fx/kG91jaUyw/f8OREIUEwlabDKp4hxKA/loYLvEjeESL7l1/6ga+Lekk+5OSl?= =?us-ascii?q?5Prrbq/7qpOEMo97kAD+MqAgmsylBuQ4NxADX3OF9uS41b3j+1D5QbpTgvItla?= =?us-ascii?q?nZrZbaKtgFqa6iGAJVzoYi5Aq/DzehytgYm2IHI0hfdBKIiIjpJUnCIOrkAven?= =?us-ascii?q?n1SsjDBryujEPr3mBJXCNGTDkLf7crZ78ENcyg0zzdZa551OEbEBPOz8WlXqtN?= =?us-ascii?q?DCCR85KQO0yf79CNphzoMeRX6PAqiBPaPQs1+H/P4gI+qXZI8Svjb9KuYl6uXg?= =?us-ascii?q?jX89hF8ccrKm3YYRaHCkA/RqOUKZYWDjgt0ZC2cFohI+TPD2iF2FSTNSaXeyX6?= =?us-ascii?q?Y55j4lEoKrFonDSZ6wj7yGxie0BIVWZnpBClCOD3jna5mEV+0LaCKILc9riiYE?= =?us-ascii?q?WqS5S489yRGusxf3xKd7IerR/S0Ys47j2MVu6u3Nix4y7z10DsWa02GLVW10mH?= =?us-ascii?q?0HRyMu1qBlvUN90kuD0bR/g/FACNNT++lGUh0hOJHAyOx6Dsz9VRjafteVUlqm?= =?us-ascii?q?RMupAS0pRNIr39AOe1p9G8mljh3b3yurArgVl7qQCZwx9qLQxnnxJ8Bnx3bAzq?= =?us-ascii?q?YhlVomQspRNWK4nKJ/8RbcB5LRmUWDi6mqbbgc3DLK9Gqb02WOpFtXUBRxUaXe?= =?us-ascii?q?Rn0fflHZrc745kPZV7+uDa4oPRdfxsKYLatKcNLph01cRPj/INTef36xm2CoCB?= =?us-ascii?q?aG3LODdozqdHkc3CXGE0UElhgT/XefOQglCCahuHjSDDt0FVLge0ns6/VxqGun?= =?us-ascii?q?Tk8oyAGHd05h2KC2+h4SmPyRUPAT0agHuCcmtjV4BlG938jZC9CYvQpuYL1cYc?= =?us-ascii?q?8h4FdAzW/WrRFyPoahL698nF4TaB54sF/r1xltDYVAi8cqpmswzAVuMaKYzE9B?= =?us-ascii?q?dzSA0JDwJLLXLm3y/Be0Zq7Sx1HezNGW+qIV5/girFXjpg6pHFI483p7y9lVz2?= =?us-ascii?q?ec5pLSAQoJX5LxSEE39wNmp7zBeSk94YTU1HNpMaautD/OwdQpC/U5yhy4ZddQ?= =?us-ascii?q?LLuEFBPuE80dH8WvJvYlm1y1bh0aJuBS77U5P924ePucw6GrIeNgkCihjWRd74?= =?us-ascii?q?B3yliM+DZkSu7Uw5YFxOmV3heaWDjhjVeuqMT3lJtYajEVG2qw1TLrBJVNZqFo?= =?us-ascii?q?e4YEF3uuKdWtxtpin57tR2JY9Fm7ClMA2c+pfR6SYELm3QBLz0sYv2anmSyiwz?= =?us-ascii?q?xziTEpobKV3DbSzOT6aBoHJmlLSXF8jVftPYe0k9caXFKyYwc1lBul4kD6x6dA?= =?us-ascii?q?qaR7LmnTR11HfzLxL214VauwrLWCadZV6Jw0qSVXTPi8YVeCR775ohsayD/jE3?= =?us-ascii?q?JFxD8lczGqu5P5nwF1iW+GN3ZztHvZecdxxRjD/9zQX/hR0SQaRCNgkznYGkC8?= =?us-ascii?q?P8W1/dWTj5rDqOe+V2alVpJNaynk0YSAtSWg6G1xHB2wg+uzlsfgEQgg3i/xz8?= =?us-ascii?q?NqWjnQrBbgfonr0Ly3Mfp9cUl1AF/w8dB1FptlnYs3gJEQxX8ahpOO8HoCjWvz?= =?us-ascii?q?N9Jb1r7kYHoLWzEL38bf4BL51017MnKJ24X5W22ewsR/Ydm6eXgb2iEj4MBME6?= =?us-ascii?q?eU6qJLnTdvrlq/twLRbuB3ni0Bxvs29H4an+YJtRIzziWbH78fBldYPSrxmBSI?= =?us-ascii?q?9dy+qrtYZHq3e7iqyEV+hcyhDK2FogxEQHb2YIoiHStr48pjMVLMzH3y5pjqeN?= =?us-ascii?q?bKa9IfrBqUkw3Pj+JNMpI+iuIKhTZ7OWL6pXAl0fM0ggF10JG1uYiGJH9h/KSn?= =?us-ascii?q?DR5ELjf1fd8c+inxjaZCmcabx5ivEY98GjUPQpToVeinEDQOtfv5LQaDCyA8qm?= =?us-ascii?q?yFFrrFBg+T8lxmr3XSE5CxK36YOncZzdJ4RBmSOkNTmgYUUysmnpQhDACl2NTh?= =?us-ascii?q?cFtl5jAW/lP4pAFDyuR0Nxn4V2fSvwmoZSkpR5iYNhpZ9BlC513SMcyc8O18Az?= =?us-ascii?q?1Y8oemrAyXJWyRfx5IAn0RWkyYG1DjOaGj5dza/OicAuqxMefOYamUpuNETPqI?= =?us-ascii?q?w4yg0pd9/zmQLMqPJmdtA+c92kVdQXBzA97ZlCkXSywLiyLNaNaWpA2m9ix5tM?= =?us-ascii?q?y/9e7kWAbo5YqPELZdK8lg+xWsjaeELe6Qiz5zKSxE2ZMU2X/I1L8f0UYUiyF0?= =?us-ascii?q?bTatCawAuDXDTKLRgK9XFAIbay1yNMtO9a082BVCOc/BhdPxzLJ4ieQ1C1hdX1?= =?us-ascii?q?z7hs6pfdAKI326NF7fHEaEKq+JKiPNw8H2faO8TqZdjORKuBKupzmXCUjjPi6M?= =?us-ascii?q?lzPxTRCgLflMjD2HPBxZoIyybw1tBnb5Q9LpcB20KsF3gCYtwbIuhXPKKHQcPi?= =?us-ascii?q?Jmf0NJs72Q6zlXgu9mF2xd6XplLumFmyGD4+neNJkWreNhAj5omOJC/HQ617xV?= =?us-ascii?q?4TlfRPNvhivdtNFurE+9kuSU0TpoSgROpSxEhI2VpkVuI6PZ+YdcWXzc5hIC8X?= =?us-ascii?q?2QCwgWp9tiEtDgoKFQytfIlKL1MzpN7szb8tAdB8fOLsKLKn0hMQDmGDTMFgsK?= =?us-ascii?q?USarNX3Dh0xaiPyd7HKVoYIkqpfyg5cOTadbW0IzFvMfEEtlHdgCL4xwXjIri7?= =?us-ascii?q?Kbi9QI5XWmphnLWMpapozHVu6VAfj3NDaZirxEawESwbP/LIUcKIv71Fd4all9?= =?us-ascii?q?govKGFHdUsxKoi1kcgA7ul5N8GRkQm01xU3ldhun4GUPGv6sgh42lgx+bPwu9D?= =?us-ascii?q?bs51c4OEHHpC43kEk/l9XqnyyRcCLxLKe3WIFZFTD4t04vPZPnWwx1dxG9nVR4?= =?us-ascii?q?NDfYQLJcl71gen5xhw/YopZPGvlcTbZYYBAKw/GXfPYo0VVGpiWh20BH+fPPCY?= =?us-ascii?q?F+mwsybZ6ss3VA1hp5bNErPqzfOrBGzkJMiaKOpSKnzeExwBUDKEYK/mOSYDQI?= =?us-ascii?q?t1IIN7U8ISqn4PBs4xSYmzRfYGgMS+YqovVy+0wgPOSAySTg3KNdJUC1NuySNL?= =?us-ascii?q?mWtHbalc6PWF8w0VkIl0Zd97hszcgja1aUV1wozLaJChsGL9TCKQBIYMpJ73Xc?= =?us-ascii?q?ZzyOsf/KwZN7JIWyCPznTfKUtKYVnkKlHBwlH4IS4cQdBpOsyl3XLd/7LL4Zzh?= =?us-ascii?q?Ug/ArrJE+bA/tUYxKEijEHo924zJ9sxoRSPC0SAWBnPSWw/LbXqRcggOCfU9cu?= =?us-ascii?q?fncaQowEO2oyWM29gS5WoXJADTiw0u8CxwiC6SL8qj7XDDnmYNppfO2Uag90CN?= =?us-ascii?q?Gq5TU/9LC7iUXJ/ZXaJmH6M8liu9DU5OwGoJaHDu9bQqNms0fAgYVYQWKlU3LX?= =?us-ascii?q?G96vO5fwc5UsbcDzCnuiUVy/kTI0QN33PNaxLqiFmg7oRYFMsIaHxjwjM9GyFi?= =?us-ascii?q?0GERdqu+4D/L58ZREEY5cjfR7otgE+N6ujIAeY0tSjWHuiKTpWTvZF1uq2fbpX?= =?us-ascii?q?wDQwbuWi0nsvUok6z/Wr8U4KXJwFlBXexfe/aIZASSfzH3xcewPIpSo/jWdsLf?= =?us-ascii?q?09wuYlzxPOqFUcPS2LePZvaGNao9E2HUmSLmluCmokW1+cipLO7RWy0LAU5CZS?= =?us-ascii?q?hctb0fNbv3jkpZ/QeiisWayxpZXSqSogYsAso7dtPoz7PsuGqJTekyTQTJnNsw?= =?us-ascii?q?2FVCq6GORfmtVLPS1XXuJHmWA/NswAo4ZB7lAxVsgmLbxVFKYsvqyqaSZjDSMK?= =?us-ascii?q?1y8ZUYKA0yACgue737vajQ+efo0/PhIerJhMhcAQXDJxYiMbuKCsTZ7Wl3OeRm?= =?us-ascii?q?gNPggT8RxG5BgcmY9oYuDl/I3IQYdQxD5Uuf17TjDGGYVv91v/TmGWgEb3SO+9?= =?us-ascii?q?k+O3wQ1SzOjg0t4BWB5wEUJd3fpZllM0KLFrLKkdppTKvSWSdUP9p23g0/emJE?= =?us-ascii?q?NLxs3KaVL4CIvFtWzzUi0Y+H0USo9PyG3RFZsIiQp5bbwnpFNSL4C6Ykz+/SAr?= =?us-ascii?q?x5x1H7mkUsCm31gkoWwaSCeqEtpBDuBmv0jUWDB+YpCktovqNItITm9X4p2dpE?= =?us-ascii?q?9TkF9xPC6h1ZpcN8ZN7yYWUzhVvDWdusG+SM5Y1M93Dp8MI8t/tGznFKNCJpeR?= =?us-ascii?q?v2U8uqbzxX/B5zA8rFC6yS2yG6++U+JW4WkeFRssJ2uAtkkvFest/3zV8lDVrF?= =?us-ascii?q?90+eJbCaKOjUV1uzl9GZ9PCixO1XC/IFR5VGNGvPlCKKTJb8xcROE/ZRC1OxMk?= =?us-ascii?q?E/4mw1eE/UBznXb3ZSxyqgta9D7cXwkySSkanK3tlScYqs65JT8QU4hIYik5by?= =?us-ascii?q?fZNwKbnjhavApYa0FvQJ0ZHspJ+7QA0odO+MrNV1qsIzkfXBN+LgI4zeZflUlb?= =?us-ascii?q?vUWYYy/dFxCndfLSvRBsYMiestapLOzn8wdDlIznqvo096IZR32pgQetW8zRr5?= =?us-ascii?q?fgtt2WsUuDbKX4M+qibnLaUTfDkwuwiqk+D5nW4SfcLRBXK59kxno4eZLhE3LE?= =?us-ascii?q?PQxaJ6IHIEpWTbt1adtarexGZcJoZagE9LRxCRKAQxPgBJagrOJaLlrJQzTRMT?= =?us-ascii?q?mB+PSloY3P9bzdVfTgZsuUynbdXa14I5d65iPnG7rx1Y9e/VT21elz+kxmTljJ?= =?us-ascii?q?Lj6OoM7nJgwV+MmoblHisYExHTPKHJdwl2Lgxllbd8oLWSKl7YgYxYhC6Hb3VO?= =?us-ascii?q?J4yFT8v/NU97l484k4+bRpxd2zJafIJvRQqVVnDQSMBgV26pUtB3ByR3xLYuAP?= =?us-ascii?q?NvjeYL8Ujd3qq+DrDawY8gOV++1eadvDOU7BhtOzCjaGSRxLhA0BsyIVLhOA1/?= =?us-ascii?q?6ZnK95Uduqpe7j1U82/le+KAQJwKpq5Yee9aqCvPXXYAfJzbgYRqjqQdv+rrY2?= =?us-ascii?q?tEOI4v0kj7oOdXZrYwC8FegdS8odxnvhza82zCIjCcXDH6n69P5ETXI5kSrqm4?= =?us-ascii?q?phEFUOBvMUAb2L8JxcnmginezZOMcWcqdflWmRDhOkDqUNyXiw6yuQOmVlhA/B?= =?us-ascii?q?0w3oS2Op8FD2tTN4QTfLz9r7lEpVUqK6BUZUXyqsI0N4sTWPPATytNXtoqQ18F?= =?us-ascii?q?s2MnH4u9KRiWuhIq1YE9f4JNyGLik+vEgXg4EpRtyzxYAbHsKwINEQ8H5iafve?= =?us-ascii?q?73mkkzRbr6dGgIre5dqV+u7MEHmlgKCbpK+BxDdCyng3pVs/8MyvNunS592WRP?= =?us-ascii?q?Slz3oeQD17uwTfRB61trzar1cPNEyQzEjLmZIFPtdF3Xk5zE7q/u4jT8wv9A9G?= =?us-ascii?q?DIbPe+sCpSzvODvz2VufZ8k3Viye3jZMEFL6D0R3GK8m2G3qpMLJj3DQ+182SY?= =?us-ascii?q?Zsa0zrnxt3D583KUg18lgY3jIDERQRaRCcFLyoB0XlLY4fWEgGdxuG3Ka1er02?= =?us-ascii?q?3U11zbOj/unTYvJgB6AVLPZSkhaOnERHGpIRqaAeQbN9dEVH+6HLvQXiEJboX+?= =?us-ascii?q?T4mnUsL/G1Rdpa8c8BvXs4/gm/Xwag6YtE77sDk5+Id7VEYJbWs8B+7kdn+SYP?= =?us-ascii?q?eTZQgBh7lB62Teccq/397dfBrZqo8OGuVLw3SOkN8Bg0HWt+hYPqgF8/udHXy/?= =?us-ascii?q?tcSorNhITn6g9NP2KFuIbU0hl7M+oOKJunfK1++HUDJigeIW8OPNWNZvkk+SBt?= =?us-ascii?q?LCnc51xMA8MLf9MYP9DBmQNKhU3zXrFc6M7bFkWfC4dpeMAi93D3xywt8ZsgTu?= =?us-ascii?q?bg7ye7JYzF715TO/NMliNsm8zZqecIwPrSBykX4WWDZBhu2CyC0YSNB+z2/eqS?= =?us-ascii?q?1NHeT0kGETIuU4dBODqC/hSqRuWvm5XzTAyU9s/zjYk6dEKRWny+gqQFvbxREe?= =?us-ascii?q?5bkCn72CZRFpztjfKPr9Ws8HdXtkFAEItr4h3KBqNfPol8ORT/kcWrXVZzBi/+?= =?us-ascii?q?eMHSaxovt/GbxuMS7OVkN0rxf5UXIhQaxLLm8XBVVBdhSKbqvlaFWuIcfN5mSP?= =?us-ascii?q?TCrnBJ5oJvNbQCPF2cpJPwqDdHtkw2AQEuaL8qrTxabVPCnAtLVKbooLQAkBcT?= =?us-ascii?q?UcZluU9QHmK9IG0+6CbcVaROlaWfFfMb/DOSTqwITkVpPThzQxyw2Jp0fbumg+?= =?us-ascii?q?pLsmRcniNyuPIqySBpRAOguS3woKIAwTAg+La4tDUHo3BKUuWekyPVCVpezfUK?= =?us-ascii?q?jKEcC23h6Vy9e3QDcory4Kd9KsTk6IYh4m4zYRM9cC0aRe6gET3/j7uUAoyTt9?= =?us-ascii?q?JRnB+NuNvUYr+1NiUSMqk9xg/iR3h6yQjShhFo8HEEQj+49t8rOJ29Odo5xiqv?= =?us-ascii?q?AWXbdkgD4q1HsMv1rlMKQvE5aVV/z2V/yMSHQDMCRNDXEWYvkgckcXlEcI5E6R?= =?us-ascii?q?ICGKkohjGIv6dY8QEQZDfZCZ+l+o7WncfJxXYxV9FqyXzKpqednJMlzGVlm89o?= =?us-ascii?q?7i6JoHkSdezYUs90Anj00odfyPD+aOu2v+ACSYtm1K6hX+EYPsmk42u2141gWl?= =?us-ascii?q?W5ybQGA1q5LOgDy6/UUye4SG2XROOLfnOQnzYjLEHy4wWoIUczaMhQqU8yLurC?= =?us-ascii?q?iYRGmw3nT7x0Wj2apUXHw2w7LeMaawU2tZ+7ewwLSe4cfPScJekyz/09FlQMa2?= =?us-ascii?q?XFHS1oBO+qqVSthpR0O2184UXmZuTg6gXmMNqRGhkHFo7XtZxx9ua5RmKGP39v?= =?us-ascii?q?0htyMFNy9+jBC1Q7rvVcfIqJndjMm9R71vYIeOxzPi07pt4egZlj6Y2T0MeWbR?= =?us-ascii?q?HR0Ij9KszPrvifGf3fwFwgentGXboBfQP1+4I6M8YhW73UGbtWpw4cBKY9QJwl?= =?us-ascii?q?OWf876R0LAR0cg7Keru7ntPqpuWQZptPpn/W6F0wID3bux0Zxfy+VRZ7YIyyh3?= =?us-ascii?q?XuPJAwQSpMr9NzBRtiHYtPA90PohGmAp6VnaG7jsG++1l+u+AUq6bwDerK1Nuh?= =?us-ascii?q?1YVrQ5da/VCLPCrWBKRzgkRlkuSygvDF0pbrEsPvYtYEVOlnQm7fdLDKBIK/Ki?= =?us-ascii?q?iBOsjkYU5J76ac0K5lUhWWfC34UbKGtDelNPp4/0o20Yl4fOvPzDw38b7Xwtzy?= =?us-ascii?q?Z3tUpi27t36GKINf7EDWBezZRx9UTv6F/3h+EK0PaYv77vwOMcAjwNeA/wlz9i?= =?us-ascii?q?pN39WfL6insEDMxlpxdYjHI0vxxyY5RY4KLQy7MUsth2/Zt3vcDW1YLsilMslt?= =?us-ascii?q?nM2VAwfs50Zrn2EtYXRNGm3yRdeeIWIbwd6xZBWW9AJXCNYOh/W3dlA8tq2zT+?= =?us-ascii?q?loJ5pEleKlurUbkdZmNTvPS9ZCPy7KN7J2PSReDv/JpFc2Zh4LqKU1WogvaZiJ?= =?us-ascii?q?OkMHP1+KyTnuwgvazU30a9us2b6MICkM7npHz7PF0T5LpwSip/aZg8vjX67dbJ?= =?us-ascii?q?H3Wv7SLSUkWiudRTQoHkaj4U2ktOYcvPqEPWcfpUgZYiCIBw4QoaBgtsPdDnLV?= =?us-ascii?q?me1/fJ0Kg+2aWy/wSC1kjqYyADhEtVyUSfoZCQbWd2PhgHZbuAG6PfBD5nXpb7?= =?us-ascii?q?mZxqpOR+wWGZFAcuaHTNTEY/xePCknljEYOOa6Yt3doK003U7ITGsDDqnI70eS?= =?us-ascii?q?TUCMTfyA3DLrWoMVs5Izuioy9dLahjV3HLjQP7aDuz6u9Za1jCmCtuLFTGktYl?= =?us-ascii?q?I6gOYZDWmfxBlPMnoEC9AIuE33RK6PeVpM3mozie1ywx8MZBhzUnp2331Umfa9?= =?us-ascii?q?HddZSUQVjGO1W/AGakp4DDYu8k+L+AHyZsYAuc/LTW9E6rQMUZYdLOUv6ITPI6?= =?us-ascii?q?sQzvMp0y5nrSE5qCidEU1SjhiE86vRG6J8wKdO5W8m8PFqRkuPWS/QcnDbyoq6?= =?us-ascii?q?DMJC3SVuoXfi18rQpe1tMaVVqJx3AFcNGyJ5Os7S8SpHUW7qxAvh9yq8SS+TJD?= =?us-ascii?q?Mf/SYjOT0OduEzyfRy9hnPaIXv80SV4pk9pVOrBADDMb+93JhGG4m9zgmjQTVa?= =?us-ascii?q?ejWsUZZto7BCk8hEMvBvXpS3H12Udlu2NQmfoS1ZsUKyrw=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2FvBQDaRHVY/wHyM5BdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgw8BAQEBAR+BWxGOSahhJogKUwEBAQEBAQEBAgECYChCDgGBY?= =?us-ascii?q?huCIwI3FCALAwMJAhcpCAgDAS0VHwsFGASIQg2zCSYCiXkmjz4RAYJqDIMMBYh?= =?us-ascii?q?1hyKLDJFSAopBhhwCkl5YcBwGAhAHGw84hDIcgX1VhS+BCYIuAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 10 Jan 2017 20:36:16 +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 v0AKZMul006189; Tue, 10 Jan 2017 15:35:30 -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 v0AKZLvY111854 for ; Tue, 10 Jan 2017 15:35:21 -0500 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 v0AKZIlR006180; Tue, 10 Jan 2017 15:35:18 -0500 From: Stephen Smalley To: selinux@tycho.nsa.gov Subject: [PATCH] selinux-testsuite: remove wait test Date: Tue, 10 Jan 2017 15:37:50 -0500 Message-Id: <1484080670-31273-1-git-send-email-sds@tycho.nsa.gov> 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: Cc: Stephen Smalley MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP With the removal of the security_task_wait() hook, we also need to drop the corresponding test from the selinux testsuite. Signed-off-by: Stephen Smalley --- policy/Makefile | 2 +- policy/test_wait.te | 45 -------------------------------- tests/Makefile | 2 +- tests/wait/Makefile | 6 ----- tests/wait/child.c | 7 ----- tests/wait/parent.c | 74 ----------------------------------------------------- tests/wait/test | 15 ----------- 7 files changed, 2 insertions(+), 149 deletions(-) delete mode 100644 policy/test_wait.te delete mode 100644 tests/wait/Makefile delete mode 100644 tests/wait/child.c delete mode 100644 tests/wait/parent.c delete mode 100755 tests/wait/test diff --git a/policy/Makefile b/policy/Makefile index 992278b..6a9e6e4 100644 --- a/policy/Makefile +++ b/policy/Makefile @@ -20,7 +20,7 @@ TARGETS = \ test_task_create.te test_task_getpgid.te test_task_getsched.te \ test_task_getsid.te test_task_setpgid.te test_task_setsched.te \ test_transition.te test_inet_socket.te test_unix_socket.te \ - test_wait.te test_mmap.te test_overlayfs.te test_mqueue.te + test_mmap.te test_overlayfs.te test_mqueue.te ifeq ($(shell [ $(POL_VERS) -ge 24 ] && echo true),true) TARGETS += test_bounds.te diff --git a/policy/test_wait.te b/policy/test_wait.te deleted file mode 100644 index 78c8861..0000000 --- a/policy/test_wait.te +++ /dev/null @@ -1,45 +0,0 @@ -################################# -# -# Policy for testing the task_wait hook -# - -attribute waitdomain; - -# Domain for parent process. -type test_wait_parent_t; -domain_type(test_wait_parent_t) -unconfined_runs_test(test_wait_parent_t) -typeattribute test_wait_parent_t waitdomain; -typeattribute test_wait_parent_t testdomain; - -# Domain for child process that can be reaped by the parent. -type test_wait_child_t; -domain_type(test_wait_child_t) -unconfined_runs_test(test_wait_child_t) -typeattribute test_wait_child_t waitdomain; -typeattribute test_wait_child_t testdomain; - -# Domain for child process that cannot be reaped by the parent. -type test_wait_notchild_t; -domain_type(test_wait_notchild_t) -unconfined_runs_test(test_wait_notchild_t) -typeattribute test_wait_notchild_t waitdomain; -typeattribute test_wait_notchild_t testdomain; - -# Allow all of these domains to be entered from the sysadm domain. -miscfiles_domain_entry_test_files(waitdomain) -userdom_sysadm_entry_spec_domtrans_to(waitdomain) - -# Grant permissions for a domain transition from parent to child, -# including the ability to wait on the child. -domain_trans(test_wait_parent_t, test_file_t, test_wait_child_t) -allow test_wait_parent_t test_wait_child_t:fd use; -allow test_wait_child_t test_wait_parent_t:fd use; -allow test_wait_child_t test_wait_parent_t:fifo_file rw_file_perms; -allow test_wait_child_t test_wait_parent_t:process sigchld; - -# Permit the parent to transition to the notchild, but don't -# grant the permission to wait on it. -allow test_wait_parent_t test_wait_notchild_t:process transition; -allow test_wait_notchild_t test_wait_parent_t:fd use; -allow test_wait_notchild_t test_file_t:file entrypoint; diff --git a/tests/Makefile b/tests/Makefile index 228b764..53f256a 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -8,7 +8,7 @@ SUBDIRS:=domain_trans entrypoint execshare exectrace execute_no_trans \ fdreceive inherit link mkdir msg open ptrace readlink relabel rename \ rxdir sem setattr setnice shm sigkill stat sysctl task_create \ task_setnice task_setscheduler task_getscheduler task_getsid \ - task_getpgid task_setpgid wait file ioctl capable_file capable_net \ + task_getpgid task_setpgid file ioctl capable_file capable_net \ capable_sys dyntrans dyntrace bounds nnp mmap unix_socket inet_socket \ overlay checkreqprot mqueue diff --git a/tests/wait/Makefile b/tests/wait/Makefile deleted file mode 100644 index 1cf884c..0000000 --- a/tests/wait/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -TARGETS=parent child -LDLIBS += -lselinux - -all: $(TARGETS) -clean: - rm -f $(TARGETS) diff --git a/tests/wait/child.c b/tests/wait/child.c deleted file mode 100644 index d80c613..0000000 --- a/tests/wait/child.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void) -{ - exit(0); -} - diff --git a/tests/wait/parent.c b/tests/wait/parent.c deleted file mode 100644 index c4d1800..0000000 --- a/tests/wait/parent.c +++ /dev/null @@ -1,74 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char **argv) -{ - int pid, rc, status; - security_context_t context_s; - context_t context; - - if (argc != 3) { - fprintf(stderr, "usage: %s newdomain program\n", argv[0]); - exit(-1); - } - - rc = getcon(&context_s); - if (rc < 0) { - fprintf(stderr, "%s: unable to get my context\n", argv[0]); - exit(-1); - - } - - context = context_new(context_s); - if (!context) { - fprintf(stderr, "%s: unable to create context structure\n", argv[0]); - exit(-1); - } - - if (context_type_set(context, argv[1])) { - fprintf(stderr, "%s: unable to set new type\n", argv[0]); - exit(-1); - } - - freecon(context_s); - context_s = context_str(context); - if (!context_s) { - fprintf(stderr, "%s: unable to obtain new context string\n", argv[0]); - exit(-1); - } - - rc = setexeccon(context_s); - if (rc < 0) { - fprintf(stderr, "%s: unable to set exec context to %s\n", argv[0], context_s); - exit(-1); - } - - pid = fork(); - if (pid < 0) { - perror("fork"); - exit(-1); - } else if (pid == 0) { - rc = execv(argv[2], argv + 2); - perror(argv[3]); - exit(1); - } - - pid = wait(&status); - if (pid < 0) { - perror("wait"); - exit(1); - } - - if (WIFEXITED(status)) { - exit(WEXITSTATUS(status)); - } - - exit(-1); -} - diff --git a/tests/wait/test b/tests/wait/test deleted file mode 100755 index 6302885..0000000 --- a/tests/wait/test +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/perl - -use Test; -BEGIN { plan tests => 2} - -$basedir = $0; $basedir =~ s|(.*)/[^/]*|$1|; - -# Verify that test_wait_parent_t can wait on test_wait_child_t. -$result = system ("runcon -t test_wait_parent_t -- $basedir/parent test_wait_child_t $basedir/child 2>&1"); -ok($result, 0); - -# Verify that test_wait_parent_t cannot wait on test_wait_notchild_t. -$result = system ("runcon -t test_wait_parent_t -- $basedir/parent test_wait_notchild_t $basedir/child 2>&1"); -ok($result); -