From patchwork Fri May 19 12:48:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Jurgens X-Patchwork-Id: 9737139 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 BF0A06034C for ; Fri, 19 May 2017 12:52:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B176A2892F for ; Fri, 19 May 2017 12:52:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A472228932; Fri, 19 May 2017 12:52:06 +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, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (smtp.nsa.gov [8.44.101.9]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DEABC28930 for ; Fri, 19 May 2017 12:52:05 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.38,364,1491264000"; d="scan'208";a="5934013" IronPort-PHdr: =?us-ascii?q?9a23=3A5Lsx5RM7ZraUKkjcnW0l6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LP3yoMbcNUDSrc9gkEXOFd2CrakV1KyM6uu9BCQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9GiTe5Y75+Ngu6oRjeusQWgYZpN7o8xAbOrnZUYe?= =?us-ascii?q?pd2HlmJUiUnxby58ew+IBs/iFNsP8/9MBOTLv3cb0gQbNXEDopPWY15Nb2tRbY?= =?us-ascii?q?VguA+mEcUmQNnRVWBQXO8Qz3UY3wsiv+sep9xTWaMMjrRr06RTiu86FmQwLmhy?= =?us-ascii?q?cdMz4y7X/ZhMp+gqlGpB6tvgFzz5LRbIyTKfFwfL7SfckCSGRBQMhfSiJPDIC7?= =?us-ascii?q?YYQNAeoBJeRVo5TzqlQQthuzHhWgCP/1xzNUnHL6wbE23uI8Gg/GxgwgGNcOvW?= =?us-ascii?q?zaotrvMqcZTOS7zLTSzTXMcfxW3yz945XPfx88u/6MW7NwftTVyUktDA7Fi0uf?= =?us-ascii?q?qYjhPzyP0OQNtGea4/B8WuKojm4qsgd8qSWsyMc0koTFm40Yx1/e+Sh53Yo5P8?= =?us-ascii?q?O0RUFlbdK+DZdcrzyWOo94T884TGxlujw2xqAHtJO7ZiQG1YoryhrZZveaaYaH?= =?us-ascii?q?+AjjW/yUITpggXJlf6+wiAiq/Ei7z+38StG00FFXripZitXMtm4C1xjU6sWfVv?= =?us-ascii?q?ty5F2h2TeS1wDI8O1EPUA1mrbbK54m2LIwkIYcsV/fESPsnUX2jauWel0l+uiu?= =?us-ascii?q?9evnfq3rqoKTOoJ7kA3zMrkiltahDek3LAQCRXWX9fy51LL5/E35RLtKjucxkq?= =?us-ascii?q?ncqJ3aPtoUpqq4Aw9Tz4Yi5A+zACyh0NQFm3kIMExKeAmcgoj1O1DBPPD4DfCl?= =?us-ascii?q?j1Sqizdk3erKPrLmApXTNnTDiqvufa5h605Azwo+1dJf55VSCr4bPPLzWlX+tN?= =?us-ascii?q?rDAx87NAy0xePnB89m1oMCR22PGLSZPLnVsV+S6eIlO/OMa5MNuDbhN/gl4Obj?= =?us-ascii?q?jX07mVAHYaap3oAXaHe+HvRnPUWUenTsgtMcEWYFpQU+UerqiEGfUTJJYHayRa?= =?us-ascii?q?087CkhCI26FYfDWpytgLuZ0Sa1H51WYmVGBU6WEXrzeYWLReoDaCWIIsB7ijwE?= =?us-ascii?q?T7+hS40/2h6yqA/20b1nLvDb+icAr5LsyMB15/HPlRE17TF7EtiS02SKT2Fygm?= =?us-ascii?q?MEWiQ73L5hrkxny1eC0K94g/pCGdxV+fxJTh8wNYTAwOxiF9DyRgXBc8+UR1a6?= =?us-ascii?q?WNqmGyo8Qc42w98Lf0lyAc6ijgzZ0yqsHbAVi6SBBIYo/aLEw3jxO8F9xm7G1a?= =?us-ascii?q?ggiFkmRNBCNWiihqJm9gjTAZTFk0ODmKawdqQc3TDN+3mZwWqIok5YTBZ6Ub/Z?= =?us-ascii?q?UnAHekvWsdP561vMT7+0E7snNBdOyc+ZKqZRb93plVRGSO74ONXQeGK9gWCwBQ?= =?us-ascii?q?yHxrmUdorlZ30d3DnBCEgDiw0T/myJNQs5Bie8uG/eDyZhFVHoY0Px6+V+r2m7?= =?us-ascii?q?TkAsxQGQc0Jhz6a1+gIShfGEUfwcw6gEuCY/pDVuB1uyxc7ZC9+aqwpmZqVcbs?= =?us-ascii?q?s34E1b2mLBqwx9IpugIrh5hl4QaQR3uFju1wlsB4Vbl8gqq30rzA9oJqKeyl9B?= =?us-ascii?q?cS2X3YzoML3NNmby5Ayva7LR2lzG3teZ4KMP6OgmpFX5pwGkDVQi/Gt909ZOzn?= =?us-ascii?q?uc44/GDA0IUZL+Skw37QR1p6nGYikh4IPZzWFsPrSpvT/Dwd0pAPAoxQqnf9da?= =?us-ascii?q?LKyLDhTyE9EAC8ioNuMqh0CjbggYM+BK6K40I8SmeuOA2K6qOOZgmCypjX9c7Y?= =?us-ascii?q?9nzE2M7S18RvTP35YfzPGSxhGHWCvkjFe9rsD3nphJZS8THmWj1SjkA5RRardu?= =?us-ascii?q?coYLDmeuJcK3y856h57sXX5X7kSjB1Qc1M+uYxqSYET33RdM2kQPvXynhSy4wi?= =?us-ascii?q?RwkzEotaqfwDXCw//8exoDO25LQnRijFj3LIivl9AaXU6obwk1mxu+/0r6wbZU?= =?us-ascii?q?pLhnJWnJXUhIZzT2L31lUqaorLqCZMpP6Jc2viVNTOu8Zl6bR6XmoxsHzyzjBH?= =?us-ascii?q?FSxDchdzGlop/5hQB1iHqBLHZvq3rUYdlwyg3C5NzYX/JexCAKSzJ/iTnTGli8?= =?us-ascii?q?ON+p8M6Rl5vftOC+UH6uWodVcSb10YOKrDG76nFyAR2jg/CzncXqEQsk3i/9zN?= =?us-ascii?q?lnTibIowj6Yonw0aS1L/5nclNvBF/m5MpwApt+nZcohJEMxXgagY2Y/WQBkWju?= =?us-ascii?q?Kthbx6T+Y2cNRTIRxd7a/hTl0lV5Ln2V34L5Smmdwsx5atmieGwWxyY94ttWB6?= =?us-ascii?q?eV8LxFnTJ5olSiogLXe/R9mS0dyfQ24n4An+4JoBYtzjmaAr0KB0lXIDHjmg+H?= =?us-ascii?q?79C7o6RbfmCvfqas1EBmh9CuEKmCoh1AWHb+YpoiBTV/7th7MF3SyH388IfkeM?= =?us-ascii?q?XOYtIJrRCUjgzAgPZPKJIqjPYKni1nOX/nvXI51eE7gxtu3Yu1vIeZMWlt+ry2?= =?us-ascii?q?AgJAPD3ve8wT4i3tjbpZnsuO0YCgBJNhGikMXJvtVv+oHiwduungNwaUCjI8sm?= =?us-ascii?q?2bGb3dHQCB9Ehms2jDE5exN3GYPHMZ18ltRAGBJExDhwAZRDA6kYQ9FgCu2sPh?= =?us-ascii?q?bFt56SoL6VPjrBtD1P5oNwLjXWjFvAendC04SJ6BIxpK9gtC/VvaMdSC7uJvGC?= =?us-ascii?q?FV5oehoBaDK2CBYgRHF2UJWkuEBl34JLah+dzA//KfBuqkIPvEea+OpvBGV/eU?= =?us-ascii?q?2ZKv1ZNr/ziWNsqRI3ZiFOc02kxfXXB+AMTUgC8ARDASly7XaM6bvhi88DVtrs?= =?us-ascii?q?+j6PTrRB7v5YyXBrtUK9Vg4Qi2gb+YOu6ehSZ5My1Y1o8CxX/JzrgQxlgShD1v?= =?us-ascii?q?dza3FbQMrynNTLjfmqVPFR4UdztzNNdU76I7xgRNIdDUhcjr2b5+j/41F1BFWE?= =?us-ascii?q?fgms63e8MFPXuxNFTdBEaELL6GPyHEw9nrYaOgTr1dlP5buAa3tTafEk/jJSiD?= =?us-ascii?q?lyLzWxC0L+5DkDuXPAdAt4G5cxZtD3XjTd39ZxKnMN53lyA2waYuinLEL2EcLS?= =?us-ascii?q?N8c0RLrrGK6iNYmPp/EXRb7nV5NemEhzqZ7+7AJ5YNq/RrHD57l+1E73Qh0LZV?= =?us-ascii?q?9ztLROJvlyvdsNFuuEuqku+RxTp7SBBOsCpEhJqXvUV+PqXU7oJPWXfL/BIK62?= =?us-ascii?q?WdEAkFqMV+Bd3uoa9QzMLDlKXpKDdN69jU59cTB9DIKMKbN3osKQDmGDHOAwsb?= =?us-ascii?q?UzGmLmbfh1RDn/GU832atJk6qpz3l5oJRb5XTls1FukVCk59BtwNPI93Xi84kb?= =?us-ascii?q?6clMMI+X2+rBzLSMVAuZDGV+ydAfP0JzaDirlLeRgIzKjkIoQUM430x1ZtakJm?= =?us-ascii?q?nIjQHUrfQ8xNqDV7bgAouEVN7GR+Tmor1kLmagKt5GEcGOWxnh4xhAt+b/oi9C?= =?us-ascii?q?vw41c3IVrKoTU/nFM3mdr7nTCbaCTxI7uoXYFKFyr0sFA8MpXlTAlvaQ2/hk9k?= =?us-ascii?q?NDDfR7JNlbRgc3triAzduZdVH/5TU7FEagcKxf6Lf/UozUhcqiK/yE9d++TFEo?= =?us-ascii?q?VtmxEwcZGwr3JNwBlsbN8vJaPNI6pJwEBQhriQsS6ozOwxxhERJ1oV+mOIZCEI?= =?us-ascii?q?oFAINqUhJyew4+Ns7gqCmz1ed2cSU/oqo+ln+VkjNOSayCLsyblDKlq+N+aHNa?= =?us-ascii?q?OWp3DAldKUQlM3zk4HilNK/aZ30cg+aEqZTFogzKGLFxQOO8vCMh9aYNZP9HjJ?= =?us-ascii?q?fCaOreXMzYhzP4qjCuDiVfWOu7oMgkK4AAYpGJwB4dkaHpayyk7YIt3nI6QbyR?= =?us-ascii?q?g2/wTkPlaFDOlTeB2RijsHp9y/zJlt0olHPz0dHWJ9MSa357bQvAMqhuSMXMsu?= =?us-ascii?q?aHcAQoQELm42WNG9myNBu3RACyO33fwfyAmD6D/xvSvQDD/hb9Z5Y/eUfxxsAs?= =?us-ascii?q?ms+Toj66i2lULX8pLGKmHhK9tivt7P6eUHp5eIEP5bUb59s0LAlIZCXHyqT3TD?= =?us-ascii?q?EdirKJjsc4Msd8D7Cm6mUlyjjDI4V8TxPMytL6eShwHoWYZUvZKU3DAkLc+yCi?= =?us-ascii?q?sSGxFuqOEf/Kh8fxEMY4InYR70sAQzL7C/IAad0tWpX2atKTtXQuJCwuW7Z71Y?= =?us-ascii?q?1TEjYvW8yHQ+UpEw1/O3/lIVRJEWkhHewu6uaJNaUSjyBnNSZR3ApS85lmhnMe?= =?us-ascii?q?YyxP0wzQjTvlkdKT+LcvVlaGJZv90mA1OdP2l2AHIiR1CAlYrD/hKs37cK8iRG?= =?us-ascii?q?gdlU1/ZIv2LjsZ/Bfj2sQrerpo/Psysgd9QmpLdxMYP7KMucqJzehiDfTIXXsg?= =?us-ascii?q?CdXy66CvtamtxUIC1GRflFgnwqNtIdtopA80UxUN0yJ7tVCKkjvrqqcyZrDTYO?= =?us-ascii?q?zS8FUIONxCYCguG927TGlheQd5AiMAccvptbn9UTSTJ7bCQFqaC/UIXWknOLRX?= =?us-ascii?q?IQIAcP9whM4hwPlpNodOD//IXIVINMyyJRo/9sSCvEDINo91zgRWyNnVj4Uu+u?= =?us-ascii?q?k/K30gJWzfLs1NYbWBp+CUhSx+ZWikUoJ6ttK6kVpILKtCGHdV/itmL31OSmPE?= =?us-ascii?q?VRydHTd1DgAovJr3bzUi0d+X0RRI9A0nLfGI8TkwVndqkkuk9AIIe8ekbx/zYk?= =?us-ascii?q?3ZhmH6GkVcC3wFYotWwJRz23E9pHEe1ms0naWDxkY5CqtJXqII9eQmlO952Bs1?= =?us-ascii?q?1ZilliMzalyZpALMFA+j8MXD5ToTqDuNu9VshD1tFqD58WItZyoHD9GLtaN5iX?= =?us-ascii?q?pn05oL3vynvC9DA7v1a23jKzG7W3T+hB5W0RBh0pJ3iCqkkoF+Ys/X3S/UrLsl?= =?us-ascii?q?Bo5OpbB7+PjEt3oDZhHpBBGDdJ1Xa5L1ttVnlKqeNaJ7rJc8ZEWfk9eQevOwAi?= =?us-ascii?q?Ff4hx0GJ4UZ0nXLibixuqgda/jvSUxMyVSYLnrfngScepd2/OT8GV5JIai0sby?= =?us-ascii?q?ffJAKBgy9XuAtQZlp3VJ8HGtZF468U3Y9K8crYU0qsLjsFXBN6PAIizfVfjVJD?= =?us-ascii?q?sFmfeS3FDwqocujAvwZqcsiPt86mMu75/BtZhYz6quw48bsMR2G+kw23Xd/et5?= =?us-ascii?q?P8tsGNtkaWb6j4PfGzbWPDQTTRgx29nqsrD57P/yfPKgVbMIV6xWAiYZf/FW7B?= =?us-ascii?q?JQ5GKL4DJ0pHSaB6bs1LovpEaMB5eKYG47NtCwmDRhPoBoygsudKIUrURTvDMS?= =?us-ascii?q?qN6Oq/rpzP7bbFU+jvetSMx2rbQ6JwJpp68SL7G6vw3oBD5kr7wext9kRnSVjc?= =?us-ascii?q?Ly+OstLhJh8R5Ma4ckvupJopHSnZAJ1oinri2llAd9YLQy2t6JkY1IlZ52juRu?= =?us-ascii?q?1lyUXzrelS96V+6YYt/bBpyMC0JaPMJvRGq0NnBQKUBgpy/JU3HGd/X3xRYvMW?= =?us-ascii?q?KPrJf6QWl9ruq+fsF6wT8hKV5fdUad7aJ0HFhsm/Cy2TSR1ekwcHsj4WNAyc1+?= =?us-ascii?q?SKm6VsU8aqufD52l4x41i5NhMGzqpi5YGK+qqSo+/YcgXewKMYWqfwQMPztbMs?= =?us-ascii?q?t1mU5fI6iL4EYnZ1bBG/EOgBSs4dwX/tzaYuzS83EsPDGbfg9ORCV3I/kDLggY?= =?us-ascii?q?pyH04KGvMOALqE4Zhennoim+PHLNEWdbpCmmmXHx6+DrAC0WKr6zeQIGR9hBHO?= =?us-ascii?q?0g3/QWS37FDsti90WyrMz9DkkkpOTbm6HkJSUiWmOENitzOPJgXovsLtuasp9E?= =?us-ascii?q?E2LnDktNWVmWS9IrxXG9PwJMeAISg0o1Ial4YxScCu2Y8FH9q9PNYR/2tkYvvY?= =?us-ascii?q?9WyrjzdLo71biIrG/sGV5vLXEGGkj62BrrWAxCtVynYmsl4i7dCgLOvB58WQQ/?= =?us-ascii?q?Sv1WYeUTtwuxfbUx6ysLzboEgeOVaX30fThIwKItZZ0GE61kHn4eguW9cz+xte?= =?us-ascii?q?F4neffMCpDbzODTuzVaZfd03SjGU0yFLEVLtDVl4BK881XrxvMPIj3jf4UEnS5?= =?us-ascii?q?Jrd0P5mRx4EZk3JVgq6FgNzSoJCRINZgyDDLG0GUTlKpMJWlMCaRSc0rm1YKU3?= =?us-ascii?q?3UxvwrO3/uDTcOh8CrEROfZakwGBgkJUGo8Msa0ZWrJzYUVR9KnNpgjtE4LnRe?= =?us-ascii?q?TplWIsNf2pRcBX6dgZuGE+4gmjRxqh55BD76wYiJyRba5Lf5zMvMF670d66j8C?= =?us-ascii?q?bTRNjwJjjxylUeAdqufj4sLYsJay6eahSrwtR+MJ+BgwHWh+iIHwgF87q9HNy+?= =?us-ascii?q?hcUpHViZj48A1VP36KopjV0x1mJuoINY2mZ6tv93QIJygfO3IBJ8GWZOMm4y9w?= =?us-ascii?q?KjnT4UJNAt8Ub9MCIMXNgRxUilHuWLxL+crUAEWYBJlvd8Ao9Gf3zDE18YciXe?= =?us-ascii?q?bg8jC2OIvf40tLP/xdkCVmjMjCq/QNwfrOFCgX5mGUaxdrzSOE15mNDPHw8eKX?= =?us-ascii?q?yN7KU1MGHyg2U5pSJTeZ/QyoWPC1lZXzXQ+O7M/8no4+flqKRnOthKQFrrpMEe?= =?us-ascii?q?lYhyrn3DhRDJz6iumJvNqr7GtXslxHH5hp7R3ZBqpQIpV7NQ7/lsmxSUh2HjH/?= =?us-ascii?q?d93MdhoypOqWwf8B4+B5N0v4eY8bLQwLxqn/6XpUVARuTqD5vkqXXOIWfttmS+?= =?us-ascii?q?jEompT6Y1+N68FJEKdq4DyrjdUtFA2BxckaLAsoTxBbUnChRBbVanytr4BjAsc?= =?us-ascii?q?TNF4tFRDGWK1Im0+4STIWb5SjKmLB/wf6i+TQbAWU0V0LiN+RAu42Jdpe7upm/?= =?us-ascii?q?BLqH9JniN5oPg3zjNnRRq8uSv3p6IO2DIt46+4tDQfuXNfSuWRjibIBU9FzPsU?= =?us-ascii?q?kacWE2zi5kCkYHkfcIvy56FqJcX+9YY75XQyehEjfzAbUuShDCHwlLmEAouVsN?= =?us-ascii?q?JTnBSNotnBbaevLSgOMbQw0RDjSGZz0gjQmBZl62UKTS+m7NA6OIWxI8AlyTS0?= =?us-ascii?q?GWLDblYD/rtJsNfttV4MVOY2ZldhwGJt08eZQi0NQNfCG30yjggiaGVLbIhP6R?= =?us-ascii?q?kEGKk0mjyIpLVJ/hkIYDfIFYSo4ovQncfI2HklStdqwmPWprGbiZ4x1X1lms90?= =?us-ascii?q?7jSQt3gIcOzYScBsCGDp1ohD0ez+e+mtsucfRYt6ybShVeQPMtWi+WSq25VlRE?= =?us-ascii?q?ulyq4YH1WnLO8J3q3bXDu9SW2EReSLdHCBnzM4Mk7x5hmoKUY6aMVQoE8+NevC?= =?us-ascii?q?gIBTlwv7XbNyWCqQuUfRzHY/PuMCawI2pICndhQRQ+EPYeicOfMjwOY6CFsLc3?= =?us-ascii?q?/JATV2BPGrvlK3m4h7IXpg613gYevx6gDmLMeSGh4cHI7CqZ5x/ea1RniPOH9n?= =?us-ascii?q?yB1yMlJ59+LYF1Q2re9TbYqencLXh9Rgyu4FdvFtMSIntt4UgIJj5pGe0N2Wfh?= =?us-ascii?q?HJ0pbyOdbVr+CWA/LBy0Qqe3laXaQCbAL05oU6O9s5VKPJHbtdoxsQH686QIYu?= =?us-ascii?q?N23p7qF7MBtzchLNZLSzmsTrqPqLZoFVp3DK8F09NyLcuxwfyvyuUwN3dZeqh2?= =?us-ascii?q?/9IJooXDJOs8VtCgd6HItIA84AqA6nDICPlaGjj9++4Vh6u/MLsaXsFvDKzsq2?= =?us-ascii?q?0JtrU5hc+0OLIC7bBLN3jUR9kuSynvDA34H1CcPjf9MESed6TnfBar/HBYW/Ni?= =?us-ascii?q?mON9n9e0Fc9b6c16h1UhKLZCD2R6CGrjGrNO144UUnzYx1ZPHTwyIp77Ha3tvy?= =?us-ascii?q?em5aqiCso36VNJtQ8kbKCvLGXx1OUveF83hqHbcRbYTq8OcBKsEiwNeG7wl09j?= =?us-ascii?q?RC39OPI7K9oU/UxkJ7aZXbIVPs2ykjRYYKIBW/MU0rgWLCtHTdAHJcIdagKcls?= =?us-ascii?q?htaVExPs61N2mWE3aW5LAnDoSsuJOWgHx8K+YxWH9ABRANYAmO64YlU1trC0Se?= =?us-ascii?q?l0OpVFnviqtLoHkdZ1MS3PQtZVPz3IJr9sIjVRFvnPpEQvYhMcvLg6QJw6ZYKP?= =?us-ascii?q?IEwZNEeN0j3yzQ/Y3k3vdtysybyFICAI/XVb17jFyyRDpxGlufaFhc3uSLLZbJ?= =?us-ascii?q?TxXP7IKiolVyqaSC80EUmz/FerpfsEsOCfIWcFrVAeejiSBxILpqBzsdjQCXfe?= =?us-ascii?q?mfZtfJ0PmP+XWiP9RTZmlKUsHCZLtEGNQ/0FFQXMaX/unnZc60SeIapH/WjkdK?= =?us-ascii?q?Kw3a1IQKkNBY8KdeeWB5PAcO1aDy8hizFcPeG7ZdCapLE8lhrTQXAxD7jD9FrY?= =?us-ascii?q?SlWfBPOb2XajUJ0cpYkvkjIh4NPLhit+GKmOOKyQ43ai9oO0giGCtcXEW2Utal?= =?us-ascii?q?Bzi+UHRCGazRBGbmEJBc0EkEDrXqOEIU1L0TZhietqnQULYwl1SWFp2X5+k/O0?= =?us-ascii?q?G8kfQlkR3020R/hTQFlxRBEt50CH5Ba6NdAJv8HeQ21287YITYMbK+lu447Sbv?= =?us-ascii?q?hDiM011S5r9XRp+x6WCElQ20fcq6c=3D?= X-IPAS-Result: =?us-ascii?q?A2HgAQC46R5Z/wHyM5BcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgyqBbo55kH2XfiiCTYkvVwEBAQEBAQEBAgECaCiCMySCQgYBA?= =?us-ascii?q?iRSAwMJAQEXCCkIAwFTBxIFih8EsVg6JgKLKJAKhiMBBJEpjGyTHosZhlOQFoQ?= =?us-ascii?q?wWIEKTyEVhT0cgWZzhl+CPQEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 19 May 2017 12:52:04 +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 v4JCpwUM007410; Fri, 19 May 2017 08:52:01 -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 v4JCnfEp092306 for ; Fri, 19 May 2017 08:49:41 -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 v4JCncwF005898 for ; Fri, 19 May 2017 08:49:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1B8AgCA6R5Z/4GlL8FcGwEBAQMBAQEJAQEBhUOOeZB9mAUcglKDNgKGTgECAQEBAQECayiFGQYnUhAYCDFXBxKKKLFYOoseAQEIKJAKhiMFkSmMbJMekWyQFoQwV4EKTyEVhT0cgWY9NoZfgj0BAQE X-IPAS-Result: A1B8AgCA6R5Z/4GlL8FcGwEBAQMBAQEJAQEBhUOOeZB9mAUcglKDNgKGTgECAQEBAQECayiFGQYnUhAYCDFXBxKKKLFYOoseAQEIKJAKhiMFkSmMbJMekWyQFoQwV4EKTyEVhT0cgWY9NoZfgj0BAQE X-IronPort-AV: E=Sophos;i="5.38,364,1491278400"; d="scan'208";a="6059110" 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; 19 May 2017 08:49:31 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3A75XwyxYh2DF2P/dPskVJZsH/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZr8m+bnLW6fgltlLVR4KTs6sC0LuJ9fq5EjFdqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLdwIRmsswndq8YajItiJ60s1hbHv3xEdv?= =?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?iFS2kSx07+vBI6akGZLJaH/Zn/OpZb9g72ZEwRc3iNVY4IhZTLoGJba7QUPqnM?= =?us-ascii?q?DJBR8+dQqvyqDoD8s5no4GUHiOGYeBObnTqkeM7+kiZe6Wa8tdtDLwJ/Yi/fLG?= =?us-ascii?q?l3I1mVYBO6Ku2N9fc32xGLJmLkuFcFLthMsMFSEBuQ96BOzjjBuYViVeYW2uWK?= =?us-ascii?q?k/zj4+AYOiS4zEQ9ODmruEiQuyGNV0e3pJB1aXWSPkfoOFVvMOQCefJstolDsU?= =?us-ascii?q?E7OmTtlyhlmVqAbmxu8/faLv8SoCuMemjYAt6g=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0H0AQCP6B5Z/4GlL8FcGwEBAQMBAQEJA?= =?us-ascii?q?QEBFgEBAQMBAQEJAQEBhRiOeZB9mAUcglKDNgKGTgEBAQEBAQEBAgECaCiCMyQ?= =?us-ascii?q?BgkEGJ1IQGAgxVwcSiiixUzqLHgEBCCiQCoYjBZEpjGyTHpFskBaEMFiBCk8hF?= =?us-ascii?q?YU9HIFmPTaGX4I9AQEB?= X-IPAS-Result: =?us-ascii?q?A0H0AQCP6B5Z/4GlL8FcGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBhRiOeZB9mAUcglKDNgKGTgEBAQEBAQEBAgECaCiCMyQBgkEGJ1IQGAgxV?= =?us-ascii?q?wcSiiixUzqLHgEBCCiQCoYjBZEpjGyTHpFskBaEMFiBCk8hFYU9HIFmPTaGX4I?= =?us-ascii?q?9AQEB?= X-IronPort-AV: E=Sophos;i="5.38,364,1491264000"; d="scan'208";a="7241300" 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; 19 May 2017 12:49:30 +0000 Received: from Internal Mail-Server by MTLPINE1 (envelope-from danielj@mellanox.com) with ESMTPS (AES256-SHA encrypted); 19 May 2017 15:49:28 +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 v4JCn8HU027204; Fri, 19 May 2017 15:49:25 +0300 From: Dan Jurgens To: chrisw@sous-sol.org, paul@paul-moore.com, sds@tycho.nsa.gov, eparis@parisplace.org, dledford@redhat.com, sean.hefty@intel.com, hal.rosenstock@gmail.com Subject: [PATCH v7 6/9] selinux: Allocate and free infiniband security hooks Date: Fri, 19 May 2017 15:48:56 +0300 Message-Id: <1495198139-69993-7-git-send-email-danielj@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1495198139-69993-1-git-send-email-danielj@mellanox.com> References: <1495198139-69993-1-git-send-email-danielj@mellanox.com> X-Mailman-Approved-At: Fri, 19 May 2017 08:50:48 -0400 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: linux-rdma@vger.kernel.org, linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Daniel Jurgens Implement and attach hooks to allocate and free Infiniband object security structures. Signed-off-by: Daniel Jurgens Reviewed-by: James Morris --- v2: - Use void * blobs for security structs. Paul Moore - Shorten ib_end_port to ib_port. Paul Moore - Allocate memory for security struct with GFP_KERNEL. Yuval Shaia security/selinux/hooks.c | 25 ++++++++++++++++++++++++- security/selinux/include/objsec.h | 5 +++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index bc77c56..d580268 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -17,6 +17,7 @@ * Paul Moore * Copyright (C) 2007 Hitachi Software Engineering Co., Ltd. * Yuichi Nakamura + * Copyright (C) 2016 Mellanox Technologies * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -6156,7 +6157,26 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer) *_buffer = context; return rc; } +#endif + +#ifdef CONFIG_SECURITY_INFINIBAND +static int selinux_ib_alloc_security(void **ib_sec) +{ + struct ib_security_struct *sec; + + sec = kzalloc(sizeof(*sec), GFP_KERNEL); + if (!sec) + return -ENOMEM; + sec->sid = current_sid(); + + *ib_sec = sec; + return 0; +} +static void selinux_ib_free_security(void *ib_sec) +{ + kfree(ib_sec); +} #endif static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = { @@ -6343,7 +6363,10 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(tun_dev_attach_queue, selinux_tun_dev_attach_queue), LSM_HOOK_INIT(tun_dev_attach, selinux_tun_dev_attach), LSM_HOOK_INIT(tun_dev_open, selinux_tun_dev_open), - +#ifdef CONFIG_SECURITY_INFINIBAND + LSM_HOOK_INIT(ib_alloc_security, selinux_ib_alloc_security), + LSM_HOOK_INIT(ib_free_security, selinux_ib_free_security), +#endif #ifdef CONFIG_SECURITY_NETWORK_XFRM LSM_HOOK_INIT(xfrm_policy_alloc_security, selinux_xfrm_policy_alloc), LSM_HOOK_INIT(xfrm_policy_clone_security, selinux_xfrm_policy_clone), diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h index c03cdcd..b7f15f7 100644 --- a/security/selinux/include/objsec.h +++ b/security/selinux/include/objsec.h @@ -10,6 +10,7 @@ * * Copyright (C) 2001,2002 Networks Associates Technology, Inc. * Copyright (C) 2003 Red Hat, Inc., James Morris + * Copyright (C) 2016 Mellanox Technologies * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -139,6 +140,10 @@ struct key_security_struct { u32 sid; /* SID of key */ }; +struct ib_security_struct { + u32 sid; /* SID of the queue pair or MAD agent */ +}; + extern unsigned int selinux_checkreqprot; #endif /* _SELINUX_OBJSEC_H_ */