From patchwork Thu Nov 30 16:52:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Moore X-Patchwork-Id: 10085363 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 DA55460234 for ; Thu, 30 Nov 2017 16:53:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CCA302A1F7 for ; Thu, 30 Nov 2017 16:53:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BEC1B2A21D; Thu, 30 Nov 2017 16:53:21 +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 USFB19PA16.eemsg.mail.mil (uphb19pa13.eemsg.mail.mil [214.24.26.87]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B8842A1F7 for ; Thu, 30 Nov 2017 16:53:20 +0000 (UTC) Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by USFB19PA16.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 30 Nov 2017 16:53:13 +0000 X-IronPort-AV: E=Sophos;i="5.45,341,1508803200"; d="scan'208";a="6540044" IronPort-PHdr: =?us-ascii?q?9a23=3ALXergx/fODUnSf9uRHKM819IXTAuvvDOBiVQ1KB6?= =?us-ascii?q?1OkeIJqq85mqBkHD//Il1AaPBtSLraocw8Pt8InYEVQa5piAtH1QOLdtbDQizf?= =?us-ascii?q?ssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1?= =?us-ascii?q?JuPoEYLOksi7ze6/9pnQbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeu?= =?us-ascii?q?BWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbO?= =?us-ascii?q?SxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsL4V7A0XSmp4bltRhHmlS?= =?us-ascii?q?wLMyc1/HzLhsB1iq9QvRCvqAFlw4PMYI+bKvRwcKDTctwVWWVPUdtfVzRDD4+h?= =?us-ascii?q?YYYAEfEBMP1Er4T/vVYCsQeyCBOuCe7p1zRGhmX23ao/0+k5Cw/JxhEgH9YTu3?= =?us-ascii?q?rTq9X1M70SXv6ox6TP1TXDavRW2TDn6IfWaR0hu++DUq9wccXL1UkjDR/KjlKV?= =?us-ascii?q?qYH8OT6ey+cDs3CD4uZ9Wu+ihHQrpgFsrjS12MshhZfFipgIxlzc6yl13II4Kc?= =?us-ascii?q?elREN1f9KoCoZcuiKUOodsXM8vQGdlszsgxLIco560Zi0KxYwixx7YdvOIbZCF?= =?us-ascii?q?4gnmVOaNOTd4g29leK6nixay70egzur8W9Go0FlQtCpFk8TMtmsX2xzP6smIVv?= =?us-ascii?q?t9/kC71TaJyw/T8f1LLVoxlaraL54t2r8wlpwNvkTfBiL6hUr7gaCMekgk5+Sk?= =?us-ascii?q?8frrb7r4qpOGKoN4kgT+Pb4vmsy7D+Q4KA8OX22D9OSnyrLj+Uz5QLNXjvw5i6?= =?us-ascii?q?XWq5faJdkdpqGlHQBVyZ0u6wq/Dji60NQYmmMLLFReeB2dlYTpNFbOIO7gAfel?= =?us-ascii?q?n1usiCtrx+zBPrD5AJXNKX7Dn639fbZ98UFczhE+zdJY55JSD7EOOunzWlPvu9?= =?us-ascii?q?zCFR81KQu0w/zoCN9lzIMRRXqPArOFMKPVqVKI5OAvLPOQa48Wozb9LP4l5//w?= =?us-ascii?q?jXIil18debSp3JQMZ3ClGPRmP1iZbWDrgtcbHmcAphA+Q/DyiF2eTT5TYG6/Xq?= =?us-ascii?q?w95jE/DYKpE53DS5ujgLOfwSi7GYdWaXpeClCWFnfodZuLVOsQaC6IJc9hiDME?= =?us-ascii?q?X6C7S4A9zRGuqBP6y71/I+XJ5iIYsJXj1N5p5+HOjhwy6yJ7D96c02CMSGF0mH?= =?us-ascii?q?kERzko06BjuUZ90EuM0bBkg/xEEtxe/+5GUhsgOp7G1OF1F9fyWgfdcdiTU1am?= =?us-ascii?q?Xs+qATcvQdIt29UOeVpyG82+jhDf2CqnG78Ulr2MBJwy6a/c2nzxK998y3bAzq?= =?us-ascii?q?UhiUMpQtFMNW2nmK5w6RLfB4jXnEWFj6yqb7gT3DbR9GefymqDpF9XUBZqXqXf?= =?us-ascii?q?XHAffVDbrczj6UPYTr+uEqwnMg9bxsGeNKRGcNrpjU9JRP37ItTRf3qxm3usBR?= =?us-ascii?q?aP3r6MYpDqdH8b3CrBCUgEiBse/XOeNQg/HyuhuGzfDCd0GVLoeUPs/vF0qGmn?= =?us-ascii?q?QU8s0wGKc0ph2qK2+hEPhvycTO4T06kHuCg7qDV0G0u908jRC9qaqAprZL9cbs?= =?us-ascii?q?8l4FdbyWLZsBRwMYa9IKB4h14RbR53slj02BprD4VMi88qrGklzABqM6KXzEtB?= =?us-ascii?q?dy+E3ZD3IrDXMHT98w20Zq7Z31Hf38ya+qER5/Qks1/jph2mFlI+83V71NlYy2?= =?us-ascii?q?Cc5pvQDAoVSpLxTl069wN8p7HdbCg94pnb1Xt2PamyrDDCx8ojBPE5xRa4Y9df?= =?us-ascii?q?LKSEGRf8EsIAA8iuNPIlm0Kybh8fIuBd6rQ0MNi7d/uDwqKrO/xgnD2+h2Rd/I?= =?us-ascii?q?99yl6M9zZ7SuPQw5YK3uyX3gqdWDf4l1qursf3mYVYaj4IBWq/1TLoBIhPaa1u?= =?us-ascii?q?ZYwLE3uhI9WrxtVigJ7gQ3hY9F+nB1MCxsCpYgGfYEbj0g1K0kQbu3unmTG3zz?= =?us-ascii?q?ZsiTEmsrKf3DDSw+TlbBcHJG9LS3V+jVfrO4i4lcwVXEivbwgvmxuo/kL6x6ld?= =?us-ascii?q?pKtlNWnTRl1Efy/sL2FtSqGwrKaNY9ZT6JM0tiVaSOC8YVGBSr7huhcayD3sH2?= =?us-ascii?q?9fxDA9ajGrtY70nwdiiGKcKnZzrWbWedpqyRfZ+tPcWeZb3iAaSylglTnXGl+8?= =?us-ascii?q?MsGz/dWTk5fDtv6xV3i9WZ1Ufyjm1piAtDan6m1xGxG/mOqzmtL/GwggzSD7z8?= =?us-ascii?q?VqVTnPrBvkYYnkyaK6Mfl8c0lrGlD87dF6GodgnYssnp0Q3mIahpqN93odjWjz?= =?us-ascii?q?Kclb2b75bHcVXT4E2cPV4Az71017NH2JwZ75WWuHwsZ6etm6eX0Z2jgm78xQE6?= =?us-ascii?q?eU66FEnTFprVWmowLRZuJ9njgDxvc07n4Vnf0JshI3ziqBGrASAVVYPSv0mhSW?= =?us-ascii?q?6dCxsb5aZHipcbet1Epyh9ahA6+eogtEQnb2Zo8iHTNs7sV4KF/MyGf86pzgeN?= =?us-ascii?q?TLcd0TtwGUkhfZg+hbMp0xkOAGhS19OWLypXcl0fI0jQRy3ZGmu4iKM2tt87i/?= =?us-ascii?q?Ah5EMT31Ytge+j/zgqlDmcaWxZqgHo17GjUMXpvnU+6nEC4IufTgLQaOHyU2qm?= =?us-ascii?q?2HFrrHAQ+f9EBmomrKE5+xM3GXIGcWzcl+RBaHPkNSmwYUUysmnp4iCg+l3tTh?= =?us-ascii?q?f1lj6jAX+FH4tgNGyvh0OBnnTmffuACoZy8uSJSFIhta9ARC6F3RMcyZ7uN+BD?= =?us-ascii?q?tX8YGkrACXLWybfQtIB3kTWkOYH1DjIqWu5d7Y/uiWHOqxMebBYa6UpuxYS/eI?= =?us-ascii?q?womv35B88DmQM8WDJH5iD+c02kBbR3B2B9zZmykTSywQjy/NadSbqw2k+i1vtc?= =?us-ascii?q?2//vXrWBj05YuTBbtSMNNv9AqwgaifNu6fniJ5JSxf1pMWyn/C0KIf00IKiyFy?= =?us-ascii?q?azmtFqwNtTbTQ63LhKBXCR8baz90NMZT7qIzwBdCNtDBhtPyzL54geY/C01ZWl?= =?us-ascii?q?z5hsGpecsKLnmmO1zcA0qLMLWGJSbXw8Hse6+8UqNfg/lOux2rpzmbF07jPjKe?= =?us-ascii?q?lzjmTB2gLeFNjDuGPBxFoo28fAxiCXT4TNLhbB23Kth3jSc5wbcsnHPFKXYcMS?= =?us-ascii?q?Rgc0NKtrCf9iJYgvp4G2xH9XdqMPeLlD2Y7+bCLJYaq/xrAj57l+hC+nQ116NV?= =?us-ascii?q?7D1YRPxygCbdtNFurEu4kuaR0TdnVwJOpShNhIKOp0piOKHZ+YJHWXfL5h4N6n?= =?us-ascii?q?+QCxsSrdt/FtLvo7xQysTIlK/rNDdC9NfU8dEGB8jTKcOILnwhPgHzGD7TEgQF?= =?us-ascii?q?TiWmOn3Yh0xYjP6d7GaVroQgppjqhpUOVqdRVEYpGfMCFkRlANsCLY90XjIklb?= =?us-ascii?q?6UktUF5X+5rBnfSsVVoIzHVu6SAfXoLTaWk6NIZx0WzrPkNY4TLJH021R+allm?= =?us-ascii?q?m4THA0zQUs5XrS1ldQI0o0JN8GNiTmIp3ULlcQCt4H4JGf6ygBE2lhN0Yf4x+z?= =?us-ascii?q?f0/1c3Ol3KqTMqkEYvgtXqnyqecCTtI6ewRoxZECv0t1IsPZP8TQZ1dReyklJk?= =?us-ascii?q?NTveQbJekadgf3hxiADAoZtPBeJcTapcbRANwvGXYfMo3klCpSWjxE9K/vHKBo?= =?us-ascii?q?V4lAsta5KsqGhA2w17Zt4vOaPQPLZJzkRXhq+WoyCnzP4xwA4DKEYW626dYjQI?= =?us-ascii?q?uFYPNrgoPCqn4PBj6RGYmztCZGgNV+AmovR0+UMhI+6A1T7v06ZfKkCtMOySN6?= =?us-ascii?q?eZu2/alcGWRFMx10QImlJK/bhwzMcvaU2UV1ogzLGJDRQGKdLCKR1Jb8pV7HXT?= =?us-ascii?q?ZjiBseHMwZJzIoW8GfvlQvOJtKYRnk2rBh0pH5gW4sQHAJaszFnSLd37I74d1R?= =?us-ascii?q?Ut+APrKU2ZDPRIfRKLlysHo8G/zZJswIZdJzEcDn9mPimt4LbYuBMqiuKZXNgq?= =?us-ascii?q?encaQpcENnUuVcKgny5ZvmhPAyev3eIcyAmC6Tj8piLKAzTndNVjZe2bZRV1BN?= =?us-ascii?q?G45DUz6a62hkDL8p/GPWH1KcxiusPT6eMdv5uIEO1bTb9mvkjGhoZYWWKlU3TU?= =?us-ascii?q?EdGvPZjxa5MgbdvuCna1Sla/kS46T9/tPNaxKaiFmQ7oRZtVsImf2DAsK8q9Gy?= =?us-ascii?q?oDFBhuvO4D5bhzZQsZb5o8ex7ouBw0N7ajLweAztWuX2GtJCNMT/lZzOW1e7xX?= =?us-ascii?q?zy0obu+h0HUuV4w0wfOr/EAKX5wFkhbexfO/aIZESijzBmZRewPRqiolj2JhLP?= =?us-ascii?q?o9wv8jwBPUtlkRKyqLe/ZzaGxDpN4xHk+SIW9sBWomWVCciYvD4gij37AW/itd?= =?us-ascii?q?kNZU0fFLsHfkpJ/fZSigWKq1ppXJqyAgd8Qpo7VtMYz/JcuLrJ3fkibDQ5nQsw?= =?us-ascii?q?2FVS+6GOBZmtVLISJXXudHln8/NcwBo4pB5lI7Vt0iKLxXFKksureqZCJhDSEI?= =?us-ascii?q?1y8ZVJ2P3CADgue61LvXjRmRf44kMBMYtJVChcYdXDNtYi8Eoq+sSZnWnXeeSm?= =?us-ascii?q?cXOAcT8RhM5AUYm4BqZODl/YzIQIVPyzNNovJ0UyrLFoVz+FfhTGGZn0T4Qu27?= =?us-ascii?q?k+O1xQJS0O7s0t4DVR5+D0hd2/hZlk82J7FyNaYQopTKsz+TeEP9pGLi1u2mJF?= =?us-ascii?q?xLxs3Vc133F43FtGXmXi0b430USpdFyGvDGpQKjwp5dKErqU1QIIChf0bz/CAk?= =?us-ascii?q?y5hsH7ajT8yrwUgqrWoeTSewD9VBE/1msE7QWDB9Y5Ckso/lNI9WQmBN45CStk?= =?us-ascii?q?lWkF11MyGnzZpTNdtN7iQLXDhVrjWXpMGyR9Fb2c9qE58MJc9yu3X6GKxaI5We?= =?us-ascii?q?vmM5uqfxxX/D5zAzrkq1yC+1G6CmU+JT53ceFRkxJ2SCtkkvCPMh/Xzc8l/Rrl?= =?us-ascii?q?x5/fpXC7aUgEptpzZ9G4xBCSxS1XC5NVhzSmdJs/lCIqTPb8NcW+UyZQOoOxEm?= =?us-ascii?q?D/4pwVGG/UFuknfleCFysgxa+z7DUAUqSSYVhariliMEpsGhJzAaV4pCbS89YC?= =?us-ascii?q?fdNwKbhSdXsQ5Ha0FxR5AWGMtK+60A0ItP+crCVFysJj0bUxxkKgI4y+BQlUpZ?= =?us-ascii?q?vEWfYyDdAhKidezTvR1vYceRsMmpIezl/AddlIzorv03+r4eR32ihQ2tW8rRr5?= =?us-ascii?q?H9tt2NskuBarv4P/e7YX/bQzjGlQqwiqs8D5nW4yjTNxJWK5tgxno+ZpjhEmrL?= =?us-ascii?q?Mg5YJ68AIkpbSKR6aclHou9GZs9rYqAJ+bR3ChKAXBPvF5SlrONaIVbLWTTeMy?= =?us-ascii?q?KB//S9oY3J67zdR/LgZsuRyHnZWK93Io116T/gG7fty4Ne/FT52ut1/ENgVVfG?= =?us-ascii?q?KzyBrMjmJg4T4smiclDvvpwvHTPTGptwkXztxk9ad8UNWC2q7I4YyI5F53bsVO?= =?us-ascii?q?J4yFb8vPdV97l+5ok9+6ppxtusJafONfRatldqAh6VBgp28ZUtBHJwR3tLbu8Q?= =?us-ascii?q?L/fRer8Zjdv1puDyGKEW5weZ++tDadvIP0vBgNWwCimASRxYmwcMsSIVIRGY1/?= =?us-ascii?q?GbgK90Vcakpe/i10I2/1e+LwAJzLZx5YeF4KWEvunXYAXNzbIcQKjlWtvzrqgw?= =?us-ascii?q?u0OV/fAkkKUOeml1bgC8HugSSNMSxmD6za8w1SIsCcTDH7D+9/FfS3I1hDXgm4?= =?us-ascii?q?pyH18OAPMbAaKL/ZhCnmc/g+HZNNwWcqVZl2aKCxGlEqENyWSq6yuRL2lpmBfO?= =?us-ascii?q?3A/sQWmr9l/5sTd4QTfQz9fkikdVV7i2Cl1IUCW1IkJ4qy2APBb2u9Xro6g161?= =?us-ascii?q?s2MmP8vtKXiGShIK9XH9H4JNGEOiY0pUkXjZMrSdyt2IAbBcK9L80M8HF6dfbR?= =?us-ascii?q?92SrnDJfrKhdmore+MaV+u/NEnW6iK2asbqNzihCynckpVE/9sygNvbW6t2SWf?= =?us-ascii?q?uoy3oeTydxugvGRR61qaXXr0sKNkyP0UfLnpEKP95C0HkgzE7m+PQsQNI99QVZ?= =?us-ascii?q?DIbAZOkOpTPtNzvux1aQfdY3WjOZ0ztNEVL/CUN4F7Qk2GLsoMLJkm/d+0EyRo?= =?us-ascii?q?Zuc0zonxp3AJsjJE0w6VgXzSsDERQXZhCAFr6oH1nlIZECVUcddRSNxKK6dbsv?= =?us-ascii?q?3U1v3rOv4/febeNmCKoXKPldkg6OkUNfGpIXra0RXrJ8dEVA9K7MvATiDZboX+?= =?us-ascii?q?T+n3oqKfK1Wtxa8dwet3Y67QawWRyg6YtE77Ycj5yIbbBLYZzNvMB68kdm6iUC?= =?us-ascii?q?dihTjxhljxK2S/oQpOb97djHqJCo8PqhVL4xR+UL8Bg5H3hxj5nqj18/utzYy+?= =?us-ascii?q?BcSonRiYT+7g9NOWKKt5jG3Bl8M+YOLJirfLl4/XUdOyceP24OPcaRa/Qk5i9t?= =?us-ascii?q?NzPT50BNAswSft4YOcvNlhpSikL3RLFS+M3bGkWbC4dobcwo6XT4yCwt+5smTu?= =?us-ascii?q?ng8CO2JYzY71xVMPNMkD5slMnbqOYIzvTcDikX4X+Eaxl62S6CxJyNBOz2/eqS?= =?us-ascii?q?0t3UUEkGHiEuWYdHODWC4RCnRvaylJjxUAOU7c/zgJQkeE2MRnyxmLkFvbtNEO?= =?us-ascii?q?5BjCX7xTteFoHuivKLstqs9nFYtllaH4Zy9xHFHrtQPoljMxTiisarXlR8Bjf4?= =?us-ascii?q?eMzMdxoupvCZxuEX7uV6KkvxeI4bIhUfy77g7npVVARuQqbsvlmFReIReMdmSP?= =?us-ascii?q?Tco3BX941gJaEPPFyGqZ3ktDhIrk45ABMzZL82sDNaalHEnBdJVKbspL4Algwc?= =?us-ascii?q?XMZ2uU9IHmKxNnwx5z7DValOl6mRD/oV8jSPQaAUVUVnLD9+SQuv2JpyY7upge?= =?us-ascii?q?xHsmRekyN/oPgr0yRmRBy4uS3tu6ICxykt+LS5tDUdo3xKUP+SkyDSCVVM1P4K?= =?us-ascii?q?l7sTC27+6VygZ3kOdJfy4LhiJcn76Ykh4mgwYRY9cC0CR+igDT//j7+QCIyVrN?= =?us-ascii?q?1cnAKNuNnJbbKrKCgSN7c9yRHkR3Vm0AjRhhVo8GwNQjq+6t8oPoO9Ntg5xiCw?= =?us-ascii?q?A2jUaE4M4r9VsMv2rVMEV/U5aVV9wGh4yciHQioNRNDTG2YrkAcrdH9IcJVZ6R?= =?us-ascii?q?8VD6MomCqHvrFa/gEIZzfZCpyl+o7UncjSw3k8Q9BqxmbYpqCeg5Mq13plm8hq?= =?us-ascii?q?4SGSonQScPfYU9RtAnj12YdT0+v+Z++isuofUotp1KyhUOMeMsmk4Wa21otlWk?= =?us-ascii?q?ukxrQGAVW0K+4CxrbeUyegV2KYQ+CLfHaWkzY+KE7y6gGiLkcrZ8dSs089LuzC?= =?us-ascii?q?i4ZSlg35S7N0RzmfqkHAwWwmMOMaaxg2t5m9dwwNVu4RaPCWJfIyz/0mFFsMc3?= =?us-ascii?q?jJEDNxC++yr1Ggh5B7O3F67kXhfeTt8xzpMMeIGhYaD4HWtJhx9uKmRmiZI39v?= =?us-ascii?q?0AVyPFVo9+fYD1kxsu5cc5CMndnfnth71e8Fd+xxMS0modMTm5hs6Y+T0MuQdh?= =?us-ascii?q?HR1JnyL8nPoveEG/3f01gqemZCX7ocewz6+4U6Pt8/W73UBrZZoxUcBa4kT5wl?= =?us-ascii?q?Nmfx8rx0LQxpfg7WfrS0jdHgpviXaZtMu3/W8lUwIT/euxIZyfy0Shd0You3h3?= =?us-ascii?q?X0PJAwRjVBr8BiChtmAItDAcUAoBS7A5SMgqG0l8ex+19mu+8NqafwCPXK1NOj?= =?us-ascii?q?34VrXpha/leGPDDLC6lunEtlj/6+gvDa0pn+EcniY88LVPBnQm7Zbb/LBp6/Kj?= =?us-ascii?q?yLOs3gekNL8KWR0KxnXRWLZSD4Xq2GtCu+OPVi/0o71t8wQO2G1zEp7rfGyPPu?= =?us-ascii?q?dmpboWGltnfPO5xBv3LQAumLZxtJTbKg92F/EOVDdY7z8/0DGcYvzNiV/0946z?= =?us-ascii?q?EUg5jNGLSoskKZghEzTpncNka8nn9hVA=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2BHAgDoNiBa/wHyM5BcGgEBAQEBAgEBAQEIAQEBAYMQKQN?= =?us-ascii?q?payeDf4ogdI1/j1CEMIRzgTIDUxMYikY/GAEBAQEBAQEBAQFqKII4JIJLAiBZA?= =?us-ascii?q?wkCHwUCIgQCAgMBQykFiE2BUAOmG4InixiBD4IyggmBVoFpiReCSYJjAQSKQYh?= =?us-ascii?q?Tj0ehCRGHSAJIlX2BOh85gVEyGggbFYJjglIcGYFsWooDAQEB?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 30 Nov 2017 16:53:10 +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 vAUGqbUj014986; Thu, 30 Nov 2017 11:52:43 -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 vAUGqYvf089945 for ; Thu, 30 Nov 2017 11:52:34 -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 vAUGqUUZ014974 for ; Thu, 30 Nov 2017 11:52:34 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1BUAAC3NiBal3IWGNZcHAEBAQQBAQoBA?= =?us-ascii?q?YMQKWxrJ4N/iiB0jX+PUIQwhHOBMgNcCopePxgBAQEBAQEBAQETAQEBAQEeBoY?= =?us-ascii?q?ggQYFAh8HAkkpiFKBUAOWB5AVgieLGIEPgjKCCYFWgWmJF4JJgmMFikGIU49Ho?= =?us-ascii?q?QkRh0pIlX2BOh84gVIyGggbFYJjggIMRBAMGYFsWooDAQEB?= X-IPAS-Result: =?us-ascii?q?A1BUAAC3NiBal3IWGNZcHAEBAQQBAQoBAYMQKWxrJ4N/iiB?= =?us-ascii?q?0jX+PUIQwhHOBMgNcCopePxgBAQEBAQEBAQETAQEBAQEeBoYggQYFAh8HAkkpi?= =?us-ascii?q?FKBUAOWB5AVgieLGIEPgjKCCYFWgWmJF4JJgmMFikGIU49HoQkRh0pIlX2BOh8?= =?us-ascii?q?4gVIyGggbFYJjggIMRBAMGYFsWooDAQEB?= X-IronPort-AV: E=Sophos;i="5.45,341,1508817600"; d="scan'208";a="132115" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.34]) by goalie.tycho.ncsc.mil with ESMTP; 30 Nov 2017 11:52:34 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3Ar6W7HRxEx07Ha1bXCy+O+j09IxM/srCxBDY+r6Qd?= =?us-ascii?q?1OsTIJqq85mqBkHD//Il1AaPAd2CraoYwLaO+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZLebxlViDanfb9/Ixq6oArNusILnYZsN6E9xwfTrHBVYe?= =?us-ascii?q?pW32RoJVySnxb4+Mi9+YNo/jpTtfw86cNOSL32cKskQ7NWCjQmKH0169bwtRbf?= =?us-ascii?q?VwuP52ATXXsQnxFVHgXK9hD6XpP2sivnqupw3TSRMMPqQbwoXzmp8qFmQwLqhi?= =?us-ascii?q?gaLT406HzZhMxugqxVoxyuqRNwzJLbboyOKPpzfLnQcc8GSWdbXMtcUTFKDIOm?= =?us-ascii?q?b4sICuoMJfxWoJPgp1sKsBCwAg6sBOT1yjBWm3T72rU60+EmEQHBxgwvAckDsG?= =?us-ascii?q?7Ko9roNKcdS/y1wLPUwjXEavNbwDHw45XLfBA5ufyAQ698fMXLxUUxGA7JlEuc?= =?us-ascii?q?pZL/Mz+Iy+gAvHCX4/R8We+rkWIrtg98ria1yssxiYTEiJgZxk7H+Ch/3Y07P8?= =?us-ascii?q?e3SFRhbt6hCJZQtz+VN49xQs46TW5mvSk0xLsbtZO/ZiYH1IorywPFZ/OZbYeI?= =?us-ascii?q?5wnjVOmLLTd9nn1leba/iwy38Uihzu3wTsi00FBUoSpZitTAqG0B2hPJ5sSZRf?= =?us-ascii?q?Zx5Fmt1SiV2wzO9+1JLlg4la/BJJ4gxr4wmIATsUPGHiLugEX2iaiWdkI++ue2?= =?us-ascii?q?8OnneKvpqYKcN4BulgHyKLghmsu6AeggKAgBQ3Cb+fig1L3k5UD5W6tFjvk3kq?= =?us-ascii?q?nfrZDbKt8WprK5AgBJ0oYj7AyzDzG90NsCh3UHI1VFeAzUx7TubkrDJPH+EOeX?= =?us-ascii?q?n0WnkDAtwevPeLLmHMbjNH/GxY/oYLI1zklb0gd7mcha4JVOB5kbLf7zU1O3v9?= =?us-ascii?q?vdWExqezeoyvrqXY0unrgVXniCV/eU?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BUAABANiBal3IWGNZcHAEBAQQBAQoBA?= =?us-ascii?q?YMQKWxrJ4N/iiB0jX+PUIQwhHOBMgNcCopePxgBAQEBAQEBAQEBEgEBAQEBHgZ?= =?us-ascii?q?Xgjgigm+BBgUCHwcCSSmIUoFQA5YLkBWCJ4sYgQ+CMoIJgVaBaYkXgkmCYwWKQ?= =?us-ascii?q?YhTj0ehCRGHSkiVfYE6HziBUjIaCBsVgmOCAgxEEAwZgWxaigMBAQE?= X-IPAS-Result: =?us-ascii?q?A0BUAABANiBal3IWGNZcHAEBAQQBAQoBAYMQKWxrJ4N/iiB?= =?us-ascii?q?0jX+PUIQwhHOBMgNcCopePxgBAQEBAQEBAQEBEgEBAQEBHgZXgjgigm+BBgUCH?= =?us-ascii?q?wcCSSmIUoFQA5YLkBWCJ4sYgQ+CMoIJgVaBaYkXgkmCYwWKQYhTj0ehCRGHSki?= =?us-ascii?q?VfYE6HziBUjIaCBsVgmOCAgxEEAwZgWxaigMBAQE?= X-IronPort-AV: E=Sophos;i="5.45,341,1508803200"; d="scan'208";a="6311206" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ukel19pa21.eemsg.mail.mil ([214.24.22.114]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 30 Nov 2017 16:52:33 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;8682df06-f515-488b-9702-4a1246009301 Authentication-Results: uhil19pa08.eesmg.mail.mil; dkim=neutral (message not signed) header.i=none X-EEMSG-check-008: 248050346|UHIL19PA08_EEMSG_MP6.csd.disa.mil X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 209.132.183.28 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DMAAC/NSBahxy3hNFcHAEBAQQBAQoBAYMQgRVrJ4N/iiB0jX+PUIQwhHOBMgNcChOKSz8YAQEBAQEBAQEBEwEBAQgNCQgoL4VJgQYFAiYCSSmIUoFQlhKQFYInixiBD4IyggmBVoFpiReCSYJjBYpBiFOPR6EJEYdIAkiVfYE6H4IKMhoIGxWCY4ICDEQQDBmBbCM3igMBAQE X-IPAS-Result: A0DMAAC/NSBahxy3hNFcHAEBAQQBAQoBAYMQgRVrJ4N/iiB0jX+PUIQwhHOBMgNcChOKSz8YAQEBAQEBAQEBEwEBAQgNCQgoL4VJgQYFAiYCSSmIUoFQlhKQFYInixiBD4IyggmBVoFpiReCSYJjBYpBiFOPR6EJEYdIAkiVfYE6H4IKMhoIGxWCY4ICDEQQDBmBbCM3igMBAQE Received: from mx1.redhat.com ([209.132.183.28]) by uhil19pa08.eesmg.mail.mil with ESMTP; 30 Nov 2017 16:52:24 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7E06961D05 for ; Thu, 30 Nov 2017 16:52:23 +0000 (UTC) Received: from [192.168.3.23] (ovpn-121-138.rdu2.redhat.com [10.10.121.138]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2964C60A98; Thu, 30 Nov 2017 16:52:23 +0000 (UTC) X-EEMSG-check-009: 444-444 From: Paul Moore To: selinux@tycho.nsa.gov Date: Thu, 30 Nov 2017 11:52:22 -0500 Message-ID: <151206074183.32567.881282052709289967.stgit@chester> User-Agent: StGit/unknown-version MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 30 Nov 2017 16:52:23 +0000 (UTC) Subject: [PATCH] selinux: ensure the context is NULL terminated in security_context_to_sid_core() X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 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: Paul Moore The syzbot/syzkaller automated tests found a problem in security_context_to_sid_core() during early boot (before we load the SELinux policy) where we could potentially feed context strings without NULL terminators into the strcmp() function. We already guard against this during normal operation (after the SELinux policy has been loaded) by making a copy of the context strings and explicitly adding a NULL terminator to the end. The patch extends this protection to the early boot case (no loaded policy) by moving the context copy earlier in security_context_to_sid_core(). Reported-by: syzbot Signed-off-by: Paul Moore Reviewed-by: James Morris --- security/selinux/ss/services.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 33cfe5d3d6cb..6ec4cdc8af8f 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -1413,27 +1413,27 @@ static int security_context_to_sid_core(const char *scontext, u32 scontext_len, if (!scontext_len) return -EINVAL; + /* Copy the string to allow changes and ensure a NULL terminator */ + scontext2 = kmalloc(scontext_len + 1, gfp_flags); + if (!scontext2) + return -ENOMEM; + memcpy(scontext2, scontext, scontext_len); + scontext2[scontext_len] = 0; + if (!ss_initialized) { int i; for (i = 1; i < SECINITSID_NUM; i++) { - if (!strcmp(initial_sid_to_string[i], scontext)) { + if (!strcmp(initial_sid_to_string[i], scontext2)) { *sid = i; - return 0; + goto out; } } *sid = SECINITSID_KERNEL; - return 0; + goto out; } *sid = SECSID_NULL; - /* Copy the string so that we can modify the copy as we parse it. */ - scontext2 = kmalloc(scontext_len + 1, gfp_flags); - if (!scontext2) - return -ENOMEM; - memcpy(scontext2, scontext, scontext_len); - scontext2[scontext_len] = 0; - if (force) { /* Save another copy for storing in uninterpreted form */ rc = -ENOMEM;