From patchwork Fri May 19 12:48:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Jurgens X-Patchwork-Id: 9737137 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 50E6E6034C for ; Fri, 19 May 2017 12:51:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 448C828929 for ; Fri, 19 May 2017 12:51:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 382E328932; Fri, 19 May 2017 12:51:11 +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]) (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 6F2BB28929 for ; Fri, 19 May 2017 12:51:10 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.38,364,1491264000"; d="scan'208";a="5933973" IronPort-PHdr: =?us-ascii?q?9a23=3A7m8hKhImlOWM8lTGx9mcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgQK/X8rarrMEGX3/hxlliBBdydsKMbzbCP+P29EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6/bL9oMhm6sArdu8kWjIB/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?YIkBD+oZP+tUsofwqEUVrRalGQWgGPnixiNSi3PqwaE31fkqHwHc3AwnGtIDqH?= =?us-ascii?q?rao8/zNKwPVe610bPIzTrdYPNQwjf29Y/FfQ07rvGKXLJ/b87RyUs0GgPAkFqQ?= =?us-ascii?q?rYjlMCmT1uQKvGmX9fZvVeWqi2M+rQx6vzuhxt80h4XUiY8YxUrI+CVkzIovO9?= =?us-ascii?q?G1R1B3bcS5HJdIqi2XM4V7TtktTmxqoio217wLtJ6hcCQX1pgqwxjSYOGdfYeS?= =?us-ascii?q?+BLsTuORLC99hHJiZb2wmQ6/8VOlyu3gTsm010tKrjZdntnMqH8N0xvT59CbSv?= =?us-ascii?q?Rn5Eeh2CuP1xvJ5uFYIUE7iarbK5k7zr42ipUTqljMEjXzmEX3iK+abkQk+u62?= =?us-ascii?q?5OT7erjqu5CROoBuhgz+L6gigNKzDOsmPgQUQmSX4eG826fi/U39TrVKlPo2kq?= =?us-ascii?q?zBvZDBO8sboq+5AwlI0ocs8hqwFDCm0MkenXYbMl1FYwmKj5TpOl7SIPD4Cu2z?= =?us-ascii?q?g1K3kDhx3fzGMbrhAovVInjZjLjhZap961JbyAcrz9Bf4JRUBasdIPLzQEDxss?= =?us-ascii?q?fVDh0+MwyyxuboEs591p8AVmKVGa+VKqTSsUWH5ug3OemDeJcVuCrhK/gi//Pu?= =?us-ascii?q?j305lkUBcqmqxpsXb3a4HvV4I0iCb3rshsoBEGgRsQojSuzqlECCXSRUZ3aoUK?= =?us-ascii?q?I2/is7B56+DYffWoCth6SM3D+lEZJNeG9GDFGMEWvvd4ifWvcDdjydLdF7njwD?= =?us-ascii?q?T7ihRJcr1Quyuw/i17pnMu3U9zUFupLk0th14fDcmg829Tx1FMmSyX+CT3tznm?= =?us-ascii?q?8SQD82xq9/q1Rnylifyah4n+BYFdtL6vxUTgc1L4TcwvdmBND1XwLOYs2GSE26?= =?us-ascii?q?Qtm8BzE+UM4xyccUY0lhA9WikgzD3y2yDr8UkbyLGII78qbC0Hj0Ocl912zG1a?= =?us-ascii?q?k6glkhWstAK2umhqtl+AjSA47GiEKZlqmweaQbxi7N+3+JzXCSs0FATA5wTaLF?= =?us-ascii?q?UGgfZ0rXqtT54FjPT7qqCbg+MwtBz9SOKq1QZd3zjlVGRenjN8rEb2K3hWiwGQ?= =?us-ascii?q?6CxqmQY4ryZ2UdwCLdBVAKkgAS+XaGMBYxBj26rmLQEjNhCFXvY1n2/ulmsnO7?= =?us-ascii?q?SU00wB+WYE19zba1/QQVhfOEQfMJwr0EoDshqylzHFul0dLWEcCPpwx9c6Vdet?= =?us-ascii?q?Mw+1JH1XrYtwBkJZyhIbtiikQZcwRtsEPkzw93BZlYkcg2sHMqyxJ/KaGC31NC?= =?us-ascii?q?cDOYwIv9Or7NJWnx+xCvdrTa2lbE0NaZ4q0P8ug3q03/vAG1EUov629o3MRP03?= =?us-ascii?q?ud+JrKFhEfXojtXUYy7RR6oKvaYiYl7YPOyXJsKbW0siPF298xGOQq0BKgcMlE?= =?us-ascii?q?MKOYFA7yFNYXB9OyJ+wrhVepaA4EPOFI+6IuOcOpaeeG0raxPOl8hDKmkXhH4I?= =?us-ascii?q?dl30KX+Sp8UOnI340Zw/yDxQuHUTD8jVmkss/tn4BIfzcSEXSjySL8Ho5eerVy?= =?us-ascii?q?fZoXCWepO8C2yM9xh5rxW3FG7l6jHEgL2NG3dhqIdFP9wAhQ2V4QoXy9liuy1y?= =?us-ascii?q?Z0nC0xrqqDwCzOxPzvdAYaNWFWRWltl1PsLJOogNAdWUincxImlAC55UrgwahU?= =?us-ascii?q?urh/JXHJQUhUZyj2M31iUqyou7qcYs5A9I8osSJNUOimfV+aSrn9ox0V0y74G2?= =?us-ascii?q?texTY7eCuwupX+hRB6j3idLHlrpnrDZc5w3Qvf5MDbRfNJ2joGRTJ4iSXOClin?= =?us-ascii?q?Idap+dSUl5HesuGxTG+hTYVTcSjtzYOBqCS7/ndmARuhkPCvgtfnCxQ10Tfn19?= =?us-ascii?q?l2UiXFtAz8Yo7v16S+L+1nZFVnBFjy6sdhAYF+j5c/hIoK1XgdnJWV8mINkX3v?= =?us-ascii?q?PtVDxaL+cH0NSCYTw9HP/Qjl3FdvIWiTy43iUXWdxtdhZ968Ym4N3yIx88ZKCK?= =?us-ascii?q?CI47Bemyt6vEa4pxrLYfdhhjcd1ecu6HkCjuEKpgUtyD6dD6sRHUZGOyzsjBKI?= =?us-ascii?q?4M6irKlNY2ava7ew3lJknd+9FLGCvh1cWHHhd5c6ByBw88F/P0zU0HLp7IHkZM?= =?us-ascii?q?ffbcgIux2JiBfPkfJVKIkrmvoRgipnJHj9smE7xO41ihxux566s5adJ2Vr4q25?= =?us-ascii?q?HgZSNifpaMML5jHtkaFek96I34CpA5psASsLXJ31QvKoCj4Ss+roNxqWGj0mtn?= =?us-ascii?q?ibAabfHROY6Ep+t3LACY2rN3WMKXYFzNViWBmcKFVRgA8OWjU2hJk5FhqlxMb5?= =?us-ascii?q?akd2+igR5kLkqhtL0u9oNBn+UmPBqwqzbzc0T5afLBRI4QFe+0fVMcue7udtEC?= =?us-ascii?q?1C+J2ushCNIHSBZwtUFWEJRlCEB1f7M7mg/9bA9fSYBu27L/bVb7WBt/FRV/CS?= =?us-ascii?q?xZ21yotm5TGMNseRMXZ+E/03wE1DXWp2G87BgTUAVzQXlz7Rb86cvBq84DB4od?= =?us-ascii?q?2k/fTkXQLu6pGDC71MPtVz4xq2m7uMN/aMhCZlLjZVzokMyWXGybQF2V4dkSVu?= =?us-ascii?q?dz6tELkbryHCUKfQlrVQDx4BZCN5LNFI4L4k3glRJc7bjcv41rBijvErFlhFTk?= =?us-ascii?q?bumse1ZcwNOGGwL0nIC1qONLicIj3L2c73a7umSbJMlOVUqwGwuTGDHk/lJDSM?= =?us-ascii?q?jSHpVwi0POFCjSGbJgdeuJ2zchZsD2jsVtTmZQG6MNBtiT0627o0hmnFNWQEKz?= =?us-ascii?q?hzb1tNrqGM7SNfmvhwBndB4WR/IumLgSaW9ffYJ40NsfRxASR0ivha724gx7tR?= =?us-ascii?q?8SFEQuZ6mDHLot5ypFGmkemOyj19XBpItDlLmJqBvV9+NqXB6plARXHE8QoL7W?= =?us-ascii?q?WRDxQKo8VqCsb0tq9K1NfPjqXzJC1F89LO8ssWH9LUJ96fMHo9LRrpHybZAxAE?= =?us-ascii?q?TT6kMmHfgVdQn+yM+XKOr5g1sJ7slIAJSr9BW1w/DukaBVh9HNwePJd3WSspnq?= =?us-ascii?q?SUjMES+3qxsgLcRMJCvp/ZUPKSBO/gKDedjbZfYBsJzqn0LYMJNo30w0ZicEV1?= =?us-ascii?q?nJzWG0rMWtBAujFhbggxoElX6nh+SWwy1Fzjagy2+n8TEuC7nh0thwRiZuQt8S?= =?us-ascii?q?vj7E0sJlrWvicwllc+mcn9izCLbDHxNLuwXZ1RCyfssUg+LIn0QwJuYA2xmkxk?= =?us-ascii?q?LyvESKhXj7t7dmBriRXQuZ1RFv5AVadEegMfxemLZ/U01lRRsj+nylFc5eTbE5?= =?us-ascii?q?RijhclcZ63on1b2gJjdsM6JaveJKpR1FhfmKKPsjWu1u8v3A8UP1wN/3+KeC4U?= =?us-ascii?q?pEwIMaErKDey8exy6AyNhiBDdXMWWPowuPJq8U08O/+ewC38zr5DMEGxN/CfLq?= =?us-ascii?q?+DvWjPi9KISEsq1kwUj0lF4aR20cA7fkqQUEAv1qWeFxIINMrFMgxVYMxS9GXJ?= =?us-ascii?q?cSaJq+XNzop/P5+hGeDwUe+OqKEUj1q/HAk3G4QM78IBHoSj0UzDMcjnK7sFxg?= =?us-ascii?q?k36wTwOFWJFvJJdwyXkD0fucGw0Id33ZVBJjEaGWhyLDm45rPQpg8snPqPQcw7?= =?us-ascii?q?YmkEUYseN3I3Wcq6myhDs3RGEja3zvoTyBKe4D/kuiTQED78YsJgZPeOZRJjEt?= =?us-ascii?q?e2+Sk/86Wthl7X9Y3eKH3gOdRkpNDP9fsQp4ybBPNMUbl9r0DclpFER3yrVm7P?= =?us-ascii?q?FsK1J5jwaoQ3cNP0C3a7XUakhD4vScf+IsqtJLCSgQ70XYZUrJWb3Dc7OM+yDD?= =?us-ascii?q?ERARFwp/0Y6aJ9Yg0CbZw7YQLotwsgNqy/JhuY3cu0Q2q3LztZUeVfx/2gZ7NL?= =?us-ascii?q?1yoscvO6yHw4Q54gy+m38FICS48SgRHbxfejYY5eUS7pFXFGYArPpDA2l254Ou?= =?us-ascii?q?Y83+cz2hXIvkcAMzqTbuxmdHREv80gBVOVOXh5EXQ3R1mHgIXZ/wGswa4d/zFG?= =?us-ascii?q?n9lOy+1EsGLyvpjFYDKjQKars4naszI8bdg6pK18KZbjIs2HtJzCnjzfS53Qsh?= =?us-ascii?q?adXiCjCvRUgMRdLiVDTfZUnmElPNAJtpBa6UotTMs+IaJACLU0rLCwdTVkFTIS?= =?us-ascii?q?zTMeV46YwDMCgP2z1KfBmxiMd5QiNBgEsJRcjdsHTy55fD8RpK+5W4XRjW+ERX?= =?us-ascii?q?ABIB0P4gRU+AIAiohwc/j/4IXSVp9MzCVZruloUivRDJZo6UX0SmWXgVj+R/Wh?= =?us-ascii?q?l+2p3Q1SzPLw3NkUQgR/CU1Hy+ZQiEQoNKl9K7MMsY7Srj+IaUT6sXrjyee8OF?= =?us-ascii?q?ZRyczUd1j5DIXftmrxSSwc9mMKSoBR0n3fEo4SkwVhYqYxuFpMOJymelr55zE8?= =?us-ascii?q?34RpGL24Wtqxx1crqnYGQymqHsFEC+Fht1LXQyNqbIyxqJXiIJVSWW5Q+JuSq1?= =?us-ascii?q?tDl0VtKSG5w4JGK85R+j4MQCRPoTKFsdSoUs1DxMl2A4UPItpkunf9GaJEOISK?= =?us-ascii?q?rHEsvLzg1GPZ8SgmsFim3DWzB7O4T+VB8m0CHQUpIn+TqlUzA+sp6Wje6FbNvU?= =?us-ascii?q?5o/+1DHLiAkV1xoCphHpBJHjtJ1WqqL05pQ3lCrupXM7nafNJEQ/kqexCvPwIx?= =?us-ascii?q?FeQ800yO50F0km/zYzZuuQtC5yDdQw40WDEXgrfqhzITsdyoNiEBS51WdzUhcz?= =?us-ascii?q?nKJB+BlSBRohlfd1lgW4oFDdZd57EbwYxU89LZRkaiNS4JQB5vOh823PdEiUFD?= =?us-ascii?q?t0CYdjzHAgqzafbDqBt3ctmNrMSxNvT24B9Hip/7sOA/76gDXWOplhCtQd/Es4?= =?us-ascii?q?/xrdmKtkyQdKjmLeGzfXjBQyXSghyqg7crEYXK9TDJMAVHM5l61WYkYZ/5BG7T?= =?us-ascii?q?JhRGO7gUKFdHVa1hctVGpf1aZ9V4d6kX/69tGgiHSQnrGIC1q/lGNFnTTyzELy?= =?us-ascii?q?qd6uy/vZ7T7bvFROj8fMyD2WjITL9sM5dn7Tn7B63q3pVA+kr33fdt8l11SUTc?= =?us-ascii?q?PyCGttThKRsB5NO+eUv6op0pATTWDY91kHX3wkFAc9QYQzG28JsC0pxU83DwRv?= =?us-ascii?q?xk0kjorOJd7aFk5pct77Bv18i0Ob/YKe5Gvk9/HhiUGgJq+40vAGdlXWBRZfQR?= =?us-ascii?q?KPPLcqQHls3urv33F6gL6B2U5+NZaMHIJ0famsWlDTGcUxNElh8bqTEGNgucy+?= =?us-ascii?q?KFm6hsRManv+f53Ewt40K5LhEb0r9g/puE9bCOpO/MaBvd174EVbb2RsnrtLQj?= =?us-ascii?q?p1uS5eE4lL4JYmF1bBCnEOkZVs4Z2GjgyLsnwj8yHMzYHrLv4vhDW2g+njL6lJ?= =?us-ascii?q?B3B08WFe8MHbqX4YRemX81m+rdNtANc6BCnGOPGQSlEr8Ex36r8TGYIHJ5ghHU?= =?us-ascii?q?zhH/XX+z7ELsrSBmWyfMyM3jkkVNXLmtGUhSRzapOVN/sD6XOQros9z3ubg67E?= =?us-ascii?q?4oKWHksdONm3GnOLxJA83+KtucITM3pFIMlpExQMKg2ZwDE9qnPNgR6G1+bufZ?= =?us-ascii?q?626zly9BuKJHiorF78Gb5PrYAH6gj7eApLWV3jBYzXo4sk8j5dC8LP3O4MeKQ/?= =?us-ascii?q?uw3WYLUyh/oxfBXwKyqrHDtFAbI1KL313EmIMUJdFUxmI42Vv45Oc5T9I86h5e?= =?us-ascii?q?GpzGZ/wcuTD5ICH0zkqHY9IrSime1CNaHlD0EVl9A6U83Xz/vcLXmnfK+l0oQI?= =?us-ascii?q?Zwe1bhhRNpE4UyMVgt50QPwiofDQgNbgiWDLCpBEv/N4QLSVMOaQ+Z07imZKg4?= =?us-ascii?q?wVd/wrS15O/cdeZ8HbYCNu5Bjg6Sm1hWAokZsawFQLNyYVBd9q/XphT6C4f9Qv?= =?us-ascii?q?jmkWE9OuGyQs9H788WrWYi4hy4Rxq685hP9bEbiIqHdqRce5jDoNh871t75T4I?= =?us-ascii?q?biFNmAJwjw+lXuAcquHj5cLbsJmx5ua1SqktQ+QX9x4pB2VxlJbwmEosoc3L2O?= =?us-ascii?q?dcRIzVjp7/8ANXL36JponayR98JvQKK46xe7Zg7XoHLTAEJ30SJdqWd+U84yh1?= =?us-ascii?q?PTXP/VxNHMcMaskePMXTgg1bl0zpWL5S9srHAFCYEJ18d9o172btzjA674c8WP?= =?us-ascii?q?766DCqPZDf801NP/RbgSVjjt3CvvYawebSCCUM5XmZagR1zT2Cy5aXFvbw5v+A?= =?us-ascii?q?yNfKWFMaBiQ2SZtSJCKe+Qy7Qeq4jJrpXR2S6s/vh5I+c0WcRmevk6QBs6ZMF/?= =?us-ascii?q?NAiyrg0zhaCI/1nfKUvMC25GtRqFJHDJ557QfZF6VHIpV7JRP4m9GtRkh9GiT/?= =?us-ascii?q?f8XUeQA1uOaMx+cM5OJ+N1DlZYIAJxIJxL375WBSTgt0R778pkyZUv4JZNt6VP?= =?us-ascii?q?PEqWhY6Y18JK8UJ1iRvYHkoDhOplA3Bg8pdbAxoydVdknLhgJVXbj7tKQHigsG?= =?us-ascii?q?Xt5zoVVMFn6oOGIi+zrHUrxYjKuWCPwV9DWfVLABU0VsMiNjXhy02ZRue72ynf?= =?us-ascii?q?BEs2NLhT19oPk00zN8QBuzpCzsq7gL2T0+5LGyrC8BtmBdTuWCjyfIDk1OzPUU?= =?us-ascii?q?jagGDXbv8li8YGQeY4vz57lnPt7s9Y4743QweR8jZTEJXfy8CyHsiKOFGo6Pv8?= =?us-ascii?q?xShB6DvMXDdrGyIjIUNrsj1RLvXX593RbCnBxw6msEXi2g7MM4JIW6IcslyS6o?= =?us-ascii?q?GW/VdVkS5qNJtND8tUUMTOswaFNu3H9v0s6ZSS0RXMbPAXo6jhA4aWVYd5JO8R?= =?us-ascii?q?0aF6kogzaQualG+gAUYCvKHYm+/4nQnNvI2WMjQttwwWLWvKKFjIsw0HJ5g9N0?= =?us-ascii?q?8jKOuHMKeuzEUs9sB2P+1pteyePiZPWirOQHRJFgyLu/TP8IKtOj9neu2JV2Rk?= =?us-ascii?q?+lwawTH1+4MO8AxbfbVDyoSW+CVuSIdGiMmSg2Mkjo6RmuMFI3dN9Ar1UhPeva?= =?us-ascii?q?mp5ciwrhXKtvSSqOo1/b0HcuMfgedwIxpIenZxIKQ/AMaOSGIugu2vI+AkMWb3?= =?us-ascii?q?DVBSt2F/O2sVm1kYh1JXpg5UT6Yfzz/Q39MdqSGxwEEYvEoZ5r/fy1WHiNOXh6?= =?us-ascii?q?zB19JEN07fvQF0wttu9AdJachdbRh8xh0e4Ea/hiLzYwutsSmoJ/84mbzt2GcR?= =?us-ascii?q?bLzpb9PdvVuOSXA+XDz0Q2fWFXSr0ZYQfr6IghJt45X6fcHaBFvRQdGac6XIYh?= =?us-ascii?q?OHnv+61uKgN8bBLRbqyugsb2vuKLeodUp3jO41I0LSfcvQADy/OtQQx/bpCqnG?= =?us-ascii?q?nyIIsrSzJAtdJtDBxmEJFIG8MaoAqtG4SUl72ji9+t50N6vPcHsbHuBfDO1dS5?= =?us-ascii?q?2ZhxXpdd6UKEIDbRBLdkgl57geSqmPjNyZrxBt34edMCSud7RnXKaqLJHomlLT?= =?us-ascii?q?KOIM38cVZc87GAyLJ5TgmRZCfhUqqDriKrKPVk4UQ9yox/Z+fT0j0t77fF19v2?= =?us-ascii?q?ZmFboDqjrHGTOJtY9lzKCvTUXwhIRvqd7GZlAaoXYJP29OgUMtwix8OT7hJu7D?= =?us-ascii?q?REzMuFI6+hrlLD2kJ7aZLXNk3p1DglWYMSOhSwLVMsgXPFqnTaGXlTNdOrJc5p?= =?us-ascii?q?gNaUFRzt+1JxlXs2ZmFfBmXkX8yRNnYf28K/Yg2K6Q1KAs0fkO+3Y044q7ayRf?= =?us-ascii?q?NmO5pfheWqr7IHkdBzJyHIXshaMDnaLKVqMTpJEuXPuF8obwYLs7cvQYg1f5mO?= =?us-ascii?q?L10DMEqb1yPyyRHN0Vb1d9yxzqqJJjgZ8mlfxbLfzTdMvxW5ueqegsD7UrDZaZ?= =?us-ascii?q?b2XOTIMCokTTGXXjIyHlys+Vi6uvoIpv2YIX0QoloMeCKdFBYTprxzrdjXFmLT?= =?us-ascii?q?guNjfJgWi/2bWC39UzN4m7QoBiZKtEGMRPwDGRPQb3D/nGoP8DClc/RM53P+cJ?= =?us-ascii?q?WDwbdOHvcRBs1LaPLdC8PRZPR2Pz41knAcP+GmcpvXqLN9mknEVkMFAqLI8xuY?= =?us-ascii?q?V0fQTfuCg3rmRYwPvpMcoiMy+8nImiZ8HuLPJbnb7zKq/4K2izyUkffTWmkkfw?= =?us-ascii?q?o+h+dGSHKMyR8GKGwKF8A9uUfxT6rGbEFJkDopgOYowRgXdQJoTnpl0VVZmf+8?= =?us-ascii?q?HotSTltHonmpRagqZVY/Li4q8kKM+UWmbdUGuM3XRUdb+78IQIwaPL8j74yBa/?= =?us-ascii?q?hY++ogwD8z+H9yiC6aFV4Iy1vd/g=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HfAQC46R5Z/wHyM5BcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgyqBbo55kH2XfCqLfFcBAQEBAQEBAQIBAmgogjMkgkIGAQIkU?= =?us-ascii?q?gMDCQEBFwgpCAMBUwcSBYofBLFYOiYCiyiWLQEEkSmMbJMeixmGU5RGWIEKTyE?= =?us-ascii?q?VhT0cgWZzhmErghABAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 19 May 2017 12:51:08 +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 v4JCooX9007111; Fri, 19 May 2017 08:50:58 -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 v4JCnb63092297 for ; Fri, 19 May 2017 08:49:37 -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 v4JCnaiO005883 for ; Fri, 19 May 2017 08:49:37 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DhAQCA6R5Z/4GlL8FcGgEBAQECAQEBAQgBAQEBhUOOeZB9mAUchggChk4BAgEBAQEBAmsohRkGJ1IQGAgxVwcSiiixWDqLHgExli0FkSmMbJMekWyURleBCk8hFYU9HIFmPTaGYSuCEAEBAQ X-IPAS-Result: A1DhAQCA6R5Z/4GlL8FcGgEBAQECAQEBAQgBAQEBhUOOeZB9mAUchggChk4BAgEBAQEBAmsohRkGJ1IQGAgxVwcSiiixWDqLHgExli0FkSmMbJMekWyURleBCk8hFYU9HIFmPTaGYSuCEAEBAQ X-IronPort-AV: E=Sophos;i="5.38,364,1491278400"; d="scan'208";a="6059100" 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:16 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AGDk5FhQ1oRFX7jn9DR94Kvrne9psv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa6yYRCN2/xhgRfzUJnB7Loc0qyN4v+mAzVLvMvJmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBe7oR/PusULjodvKqY8wQbVr3VVfO?= =?us-ascii?q?hb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnY?= =?us-ascii?q?UAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhS?= =?us-ascii?q?waLDMy7n3ZhdJsg6JauBKhpgJww4jIYIGOKfFyerrRcc4GSWZdW8pcUTFKDIGh?= =?us-ascii?q?YIsVF+cPPfhWoZTzqVUNqhWxBwesCfjzxjNUnHL6wbc33/g9HQzAwQcuH8gOsH?= =?us-ascii?q?PRrNjtOqkdS+a1x7TMwzXedfNW1iny6I7Tchs8pvyDQKh/cczQyUYxEwPFjE6d?= =?us-ascii?q?qYn7MDOR0uQCqW6b7+1vVO61l2EnrARxryGpy8wxiYfJnpoYxk3A+Ch32oo4Kt?= =?us-ascii?q?+1RFRmbdOlEJZcrTyWO5VyT84kXmpmojw1yqcctp6+ZCUKyIooxxrYa/GfdoiH?= =?us-ascii?q?/BbjVOKLLjd+g3Jkd6iziAq18US6y+38UtG40FdMriVbjtnBrm0B2hjd58SdRf?= =?us-ascii?q?Zw/F2t1SuO2g3T8O1IPF44mK7DJ54k2LEwl54TsUrZHi/xnUX7lLKZeV8i+uip?= =?us-ascii?q?9evnZrfmq4SZN4BqjgH+Nr4hmsq4AeU3KAQBQ2+b+eGk2L354UL5WKlKjuExkq?= =?us-ascii?q?TBq5DVO8Abpq+/Aw9I3Ycu8Aq/Dje639QYmnkLNlRFeAmdgITzNFHOJ+74Xr+D?= =?us-ascii?q?hAGnkC1q3O/uJbr8GdDWKXyFl63uOf5l4lNY4BI60NQa4pVTELxHK/X2HgfquM?= =?us-ascii?q?fwEg4yMwvyxf3uTtp6yMdWVHqGGK6CGLvbq16T/uYmKOTKY5Ua/H7xL/Up6fn0?= =?us-ascii?q?gVcjlFMddLXv1pwSLDijE/1gZUWUb2b9qtYHDWoO+AE5SaiiiFSGFyRUfHu0RL?= =?us-ascii?q?477TITB4evDIOFTYeo05Kb2yLuMpRQLkJbEF+BF2ygI4mNXfYBbCC6J8JlljUC?= =?us-ascii?q?UqjnQIgkg0L9/DTmwqZqe7KHshYTsojugZ0sv7Xe?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0F6AQCP6B5Z/4GlL8FcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBhRiOeZB9mAUchggChk4BAQEBAQEBAQIBAmg?= =?us-ascii?q?ogjMkAYJBBidSEBgIMVcHEooosVM6ix4BMZYtBZEpjGyTHpFslEZYgQpPIRWFP?= =?us-ascii?q?RyBZj02hmErghABAQE?= X-IPAS-Result: =?us-ascii?q?A0F6AQCP6B5Z/4GlL8FcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBhRiOeZB9mAUchggChk4BAQEBAQEBAQIBAmgogjMkAYJBBidSE?= =?us-ascii?q?BgIMVcHEooosVM6ix4BMZYtBZEpjGyTHpFslEZYgQpPIRWFPRyBZj02hmErghA?= =?us-ascii?q?BAQE?= X-IronPort-AV: E=Sophos;i="5.38,364,1491264000"; d="scan'208";a="7241287" 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:15 +0000 Received: from Internal Mail-Server by MTLPINE1 (envelope-from danielj@mellanox.com) with ESMTPS (AES256-SHA encrypted); 19 May 2017 15:49:14 +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 v4JCn8HP027204; Fri, 19 May 2017 15:49:11 +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 1/9] IB/core: IB cache enhancements to support Infiniband security Date: Fri, 19 May 2017 15:48:51 +0300 Message-Id: <1495198139-69993-2-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 Cache the subnet prefix and add a function to access it. Enforcing security requires frequent queries of the subnet prefix and the pkeys in the pkey table. Signed-off-by: Daniel Jurgens Reviewed-by: Eli Cohen Reviewed-by: Leon Romanovsky Reviewed-by: James Morris --- v2: - In ib_get_cached_subnet_prefix wait to initialize p until after validation. Yuval Shaia drivers/infiniband/core/cache.c | 22 ++++++++++++++++++++++ drivers/infiniband/core/core_priv.h | 3 +++ include/rdma/ib_verbs.h | 1 + 3 files changed, 26 insertions(+) diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index b1371eb..b9c0066 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -911,6 +911,26 @@ int ib_get_cached_pkey(struct ib_device *device, } EXPORT_SYMBOL(ib_get_cached_pkey); +int ib_get_cached_subnet_prefix(struct ib_device *device, + u8 port_num, + u64 *sn_pfx) +{ + unsigned long flags; + int p; + + if (port_num < rdma_start_port(device) || + port_num > rdma_end_port(device)) + return -EINVAL; + + p = port_num - rdma_start_port(device); + read_lock_irqsave(&device->cache.lock, flags); + *sn_pfx = device->cache.ports[p].subnet_prefix; + read_unlock_irqrestore(&device->cache.lock, flags); + + return 0; +} +EXPORT_SYMBOL(ib_get_cached_subnet_prefix); + int ib_find_cached_pkey(struct ib_device *device, u8 port_num, u16 pkey, @@ -1108,6 +1128,8 @@ static void ib_cache_update(struct ib_device *device, device->cache.ports[port - rdma_start_port(device)].port_state = tprops->state; + device->cache.ports[port - rdma_start_port(device)].subnet_prefix = + tprops->subnet_prefix; write_unlock_irq(&device->cache.lock); kfree(gid_cache); diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h index cb7d372..249e3ed 100644 --- a/drivers/infiniband/core/core_priv.h +++ b/drivers/infiniband/core/core_priv.h @@ -176,4 +176,7 @@ int ib_nl_handle_set_timeout(struct sk_buff *skb, int ib_nl_handle_ip_res_resp(struct sk_buff *skb, struct netlink_callback *cb); +int ib_get_cached_subnet_prefix(struct ib_device *device, + u8 port_num, + u64 *sn_pfx); #endif /* _CORE_PRIV_H */ diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 99e4423..23486d3 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h @@ -1841,6 +1841,7 @@ enum ib_mad_result { #define IB_DEVICE_NAME_MAX 64 struct ib_port_cache { + u64 subnet_prefix; struct ib_pkey_cache *pkey; struct ib_gid_table *gid; u8 lmc;