From patchwork Thu Nov 10 21:18:29 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Gruenbacher X-Patchwork-Id: 9422077 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 91D3C60484 for ; Thu, 10 Nov 2016 21:24:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7EBF0296C3 for ; Thu, 10 Nov 2016 21:24:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 73933296D5; Thu, 10 Nov 2016 21:24:28 +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 9E0BE296C5 for ; Thu, 10 Nov 2016 21:24:27 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.31,620,1473120000"; d="scan'208";a="843532" IronPort-PHdr: =?us-ascii?q?9a23=3AdU/J0xPQgUeC0nGIl3Ql6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LPjypcbcNUDSrc9gkEXOFd2CrakV0KyO6Ou5BTFIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZb1/IA+qoQjfucUanIRvJ6YswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wKLCAy/n3JhcNsjaJbuBOhqAJ5w47Ie4GeKf5ycrrAcd8GWWZNW8BcWCJbAoO4?= =?us-ascii?q?coABEewPM+hFpIX5vlcCsAeyCQyqCejyyDFHm2X20LU63eo/DA/I0g8uENAAsH?= =?us-ascii?q?TMrtj5KakfXu+pw6fH0zrDdOhb2Sv/5YXSbhwtve2AUax2fMHMyUcvDQTFjlCI?= =?us-ascii?q?pIH5OTOay/4NvHaB4Op7SOmhinQnqxxvrTip3cgjkJXGhoILxVDe6C50x5w6Jd?= =?us-ascii?q?KiSE5mf9GkFoBfuDuBOotsXMwtXmFotzwmyrEcpZG7ey0KxY0hyhXCaPKHa5CF?= =?us-ascii?q?7g/sWeueOzt1hG9pdKihixu970Ss0PDwWtGq3FpWqidJiMTAu34T2xDJ98SKSf?= =?us-ascii?q?Vw8l2/1TuM0Q3Y9/tKLloulaXBLp4s2rswlp0OvkvdBiL2g0D2jLOOdkUj5+io?= =?us-ascii?q?9/zrYrX4qZ+YMI95kh3+Pb40msy+HOQ4KRICX3Sb+Oug1L3j+lf1QLNWgf0tjq?= =?us-ascii?q?bVqpXaJcUfpqKhAg9V1Jgs6wqnAju739kVkmMLIVJYdB6dkYTkNE/CLOrlAfun?= =?us-ascii?q?hlSjijZrx/TIPr37BZXNK2DOkKz/crZ56k5czhczzN9G651PDbEBPfTzVVPvu9?= =?us-ascii?q?zDFRI5Lwy1zPrnCNV6zI8eX3mPDbWDPKPdtl+I+PojI/OQa48NpDb9N/8l6ub1?= =?us-ascii?q?gnAinlMdeaip3YALaHCjBPhmOFuWbmb2jtcaD2gKugs+TOr3iFyNSjNce3azX7?= =?us-ascii?q?gh5jEgEo6nA53MRpy2gLyG2ie3BJpWZnpJClqUC3fna52EW+sQaCKVOsJhnCYE?= =?us-ascii?q?WqKnS4A91BGurxT3y79/LurV4yEYrpzi1MNv6+3UjxEy+iR+D96B3GGVU2F0gm?= =?us-ascii?q?QISic13K9lokx9zUqD3LN7g/NCFtxT4O5JXh09NZ7GwOxwE8ryVR7ZfteVVFam?= =?us-ascii?q?Rc2rDissQdIrwt8BfVx9Fs64gR/f2iqmGbgVl6aEBJYs6KLTw2DxJ9phy3bBzK?= =?us-ascii?q?Qhj0cpQs9LNW2hnaN/8xXTB5LOk0Wcjammb6Mc3DTC9G2b12qBoFlYUBJsUaXC?= =?us-ascii?q?RX0ffUXWrc7+5kPZU7+jEq8nMg1Gyc+ML6tFcNvpgU9ARPj9JNTUe3ixlHuoBR?= =?us-ascii?q?aU2rOMa5LnemsH0yXZFEgLjRoT/W2dOAggGCihuXnRDCFrFV71ZEPs6+Z+omuh?= =?us-ascii?q?TkAo1wGKc1Fh172t9x4JmPOTVvIT0agAuCo6tzp0G1O90M7MBNqbuwptZqNcbs?= =?us-ascii?q?0h4F1fz2LWqxR9PoC8L6BlnlMedQV3v0fq1xppEYVNitIlo20wzAp1M66Y10lB?= =?us-ascii?q?dzyA15DqJrLXMnXy/Ayoa6POx17RysqW9b0R5/Q2pFTupx2mFko4/HV9z9lazW?= =?us-ascii?q?Gc6o/MDAUMTZL7Slw3+ARip7HGfik94JvZ1WNtMaaorj/C3MgpCPE5xRageNdf?= =?us-ascii?q?NqyEGRT2E80bAcihMvYqm1+zYhIDJuBS+7Y+P9m6ePuexK6rIOFgkSqijWRG+4?= =?us-ascii?q?B9zluA9zFiRe7M3pYFxeyY3wScWjfnlFehs8b3mYFYajEJBGa/zzbrBJJJbK1o?= =?us-ascii?q?YYkLEXuuI9GwxthmnZ7tXHpY9Fq9CFMcxMCpfhSTYkfm3Q1NyUsXumarmSyizz?= =?us-ascii?q?x7izsptLaQ3DTSw+T+cxoKInZLS3N/jVfoO4S7lcoWU1OvbwgtiBul4kD6yrNe?= =?us-ascii?q?pKhjKWnTRltHczLwL258Tqu6rqCCbNJX6JM0rSVXV/yxYVWeSrLkvRQa1TjuH3?= =?us-ascii?q?VAyzA/czGlpI/5kwZ8iG2DMHZ5tGDZdt1oxRfD+NzcQuZc3jkYSyl+kjnaHVu8?= =?us-ascii?q?MMev/dWPkZfMrPy+W3imVp1Jfinh1ZmAuzej5W12HR2/mOi+msPhEQcnyiL7yd?= =?us-ascii?q?9qWjjIrBrmZInkybi6O/p9fkZ0HF/899Z6GoZmn4sonp4QxHwai46J8noGjWfy?= =?us-ascii?q?McxX2azkY3oLXzILxMTV4Af90k15Mn2J3575VmmawsZ5fdm1f34Z1zky78BPB6?= =?us-ascii?q?aY9rpEkjVpolCgtwLefeB9nisByfsp8HMam/sGuBcpziqDGrAdB09YPTDymBSS?= =?us-ascii?q?9N2+sb5Xa3i1cbirzkZ+htehDKyYog5ARnn5dJAiHTV/7sphKl7M1mP86p38ct?= =?us-ascii?q?nKcd0TrgGUkwvHj+VNJpI+jPwKhTZgOWL4pnAlxfA0ggFp3ZGgpoeHM39t/KW7?= =?us-ascii?q?AhFGKjL1e9kf+jb3jaZRhsyWxZygHo19GjUXW5vlVf2oEDIOuvT9NweOCCE8qn?= =?us-ascii?q?CAFLrZAwCf9FxmoG7VHJCzKX6bPn8Zwst+RBOFPkxQnBgUXCkmnp4+Dg2qwdbu?= =?us-ascii?q?cEN95j8P+l74tgFDxfhzOhn5TGjfuByoZSsuR5iHMhVa9AdC6FnJMcaG9OJ8Az?= =?us-ascii?q?lY/oG9rAyKMmGbfR5EDG8TVkyBHV/jOr6u5Nnb/ueCGuW+KuHCYbKUqexRT/2I?= =?us-ascii?q?346g0pN6/zaQMcWCJn9iD+ch1UpbRXB0AMrZmzQVSywMiyLNYc+bpBGm9S1xss?= =?us-ascii?q?+/8e7kWAb16YuIEbtSPs1l+wqqjqebK+6QmCF5JC5A1pwS3nDH1r4f3F8OiyFp?= =?us-ascii?q?bDStEKoPujDTQ67Kna9XFREbYTtpNMRU96I8whVNOcnDh9zozb53kOQ6C1hfVV?= =?us-ascii?q?P7hMGkftcKLHu+NFPaHkaELq6KJTnWw8Hxe6y8U6RcjPlTtx2zuTebFFXvPjKd?= =?us-ascii?q?mDn1TxqvK/1DjDmHPBxCv4Gwag1tBnL9TN38ZR20LsR3gCYtwbIumHPFL2EcPi?= =?us-ascii?q?Znc09XqL2f8z9YiO1lG2Nd9nplMfWEmyGB4ubDK5YWvvxrAiJvmu1H/ns10LpV?= =?us-ascii?q?4ztCRPBvnyvStNFuqUm8kuaT0jpnTAZOqjFTiY2RskVtI7vZ+YdbVHbD5BIC82?= =?us-ascii?q?OQCxEQqNtkDt3goKdQy9fVmKL0MjdC/Mre/dEACMjMNMKHLH0hPAL1GD7TCQsJ?= =?us-ascii?q?VySrNWbehkNDlvGd7WeVrp8kpZjvg5cBVrhbVFkpGfwAEURlAMYOIJFpUTM4ib?= =?us-ascii?q?SbltIH5WKirBnNQ8VXppPHV/KWAfrxMzuZiL5EZxUGwbzmMYQTKo3720tnalZk?= =?us-ascii?q?hojKHVTfXcxVqC17cgA0uFlN8GR5TmAr2kLlbB+t72EXFfGqmx45lBd+Yf4t9T?= =?us-ascii?q?r35Fc3PkTFpC01kEYrmNXlhSuecDn+LauqWoFWESX0vVArMpznWwZ1cRGynUt8?= =?us-ascii?q?OTfCWb1elb9geHtoiA/boptPBeRTTatfYB8TxPGbffMo3kpAqi+/309I+fPFCY?= =?us-ascii?q?d+lAstaZOstWxP2xl9Y9EvP6zfOKpJw0NLiaKPpC+ny+cxwAEGJ0YX7myTeDQE?= =?us-ascii?q?uEoWObk6PyCo5PBj6RSemztff2gBT+clovVs9kM7JuuP0Sbg079YJ0+rKeOfNa?= =?us-ascii?q?SZt3LHlc6STVM6zlkImFVd/bhqzccjdFKZWF01w7uPFhQGKNHCJBpPYMpI7njT?= =?us-ascii?q?eiiPsf7Tzp1pIoW9DOHoTfOOtaoOhEKrAhopFZwW7ssdBpmszF3YLcD/Ib4L0x?= =?us-ascii?q?Ui+hnkJE6fA/RPZBKLlywHrtqlw5Br2IlRPDYdAX9yMS+v/LbYuhcqgOafXNcx?= =?us-ascii?q?enoaWowENmgoV828mi9ZuG9NDDax0uIE0gSC6CX8pivIBjnmc9VjfOuUZQ9rCN?= =?us-ascii?q?yu4jUw7ay2iV/R8pXDKGD3LshtutjK6ewGvZmHEO9UQaN7s0jCh4lSX2aqXHLX?= =?us-ascii?q?Ed6pO5jwbJEhbd/uCne6SFO/jS41T8fqMdaiKaiImR3nSZxSsIaFwDApLdW9GS?= =?us-ascii?q?0GGxdsu+ED47pxZRECY5o+Zh7oqwQ+NqykLQiF09WvQ3yiJiBMQ/lZ0+q6e6Rd?= =?us-ascii?q?zzAwYe+i1HsgUpY6wvG38U4KWp4KgA/Rxey4aolfTyf8BGJSdx/IpSojmGhrLv?= =?us-ascii?q?wyzfsnwBPUrVkcNCiGe/ZtaGxFo94zG0udIXB2C2o+QF+ci5DM7xW30LAT5SRd?= =?us-ascii?q?mc9Y0eNYsHTkuJ/Qfi6sUrSxqZrJqyogccQmo6ppPIP4PMSGsojTkSbCQ5nOrA?= =?us-ascii?q?KFSjW6GOBAmtlQOi5YR+NImW49M8wcpYVB8VYxVts5J7FXB6ksu7GqaT5gDSEM?= =?us-ascii?q?yC8UTJ6P0yIZjee9wbTakA2ccJM4MBwLqJ9CmMcSUzZqYiMCo6+uT5/Wl2mFSm?= =?us-ascii?q?cXIAcT6gBM5BkYmIFpY+7r+pbFQphXxjFKpPJ0VzfEGYNz91vnUG2Wh0b3SOm5?= =?us-ascii?q?meyzwQ1S1O7s0sUcWBNnFUddxfxZmVczJb5rLKkQuorKsj6WekPgoGLi1vepJF?= =?us-ascii?q?lLxc3TbV34A5LPtXDgXS0E5X0UWYhPxWnFFZsIiQp5b70kqU5QIIC8YEn++SIr?= =?us-ascii?q?x4BoH7m+WsCrw1clrXkGRye2HdpOEftmsFfNVD1jfZ+rtI3vO49OTW9I5J2dt1?= =?us-ascii?q?BZnV1tMiGj0ppTMcRN4j8KXDVUoDWdoMG9SNZf1sBsFZMMJMlwu2vlEqNeJJeR?= =?us-ascii?q?u2E2uqDoynLB9TEwqku1xDWyG6+9TuJW5W4eFx4oJ2uAtEYgEfEg8mDI8lDCql?= =?us-ascii?q?p05ftUBqCTjUVtpzZwBopBBixU1XCjNVhzT2JLs+RbKKTUb8xTWOM+ZRmxNBwi?= =?us-ascii?q?DfQmxVCG/VlonXflZCx/rgRa+zrHUAkySSkYmbbtmToQq8GhJT8aS4xHbTQnby?= =?us-ascii?q?fZNQ2bgzpbvBBBZEF2Q5oZGMpK+6kH3YtI+crPUVqsKSYAXBF5KgI0zf9fmlVZ?= =?us-ascii?q?vEWeZy/dERKidezTvR1vYceRsMmpIez5/AhdkIPoquQ4+LgYSnK7hwKtWcjeoJ?= =?us-ascii?q?H4ttKUrEuCbqD4M/ezYXXZVjjDkQiwhas4D5nN5yXTMg1bJIdhxHU5f5fhEnDE?= =?us-ascii?q?PQ5aJ60FOkVXT6Z6ZstaoupCfc9rZL4J+bNxBhKAXh7gA4Kvo+VaIlvRWDjTIT?= =?us-ascii?q?6M/fC4oYLW8bPSU/PgZtCWy3bBXa13Io9w6SPnFLfyzY9e5k321+939kxkVFfG?= =?us-ascii?q?MzqOrMj6KwMP48miaFXtsoM1EjPRHZh/jmDhxkdeeMoLWyeq6ogXyItF6HbsTu?= =?us-ascii?q?J1ylDzsPZO97Z+9IY3/6tkydyzJafPM/RVrVFoAh6IBgVw7JotBHJzR2dLYu8e?= =?us-ascii?q?MP3RZ7gWjdjyq+DrEKwa8AGV+/ZHZtTZOk7MgdS/CjWASRxehggBtz8aLgyY1/?= =?us-ascii?q?Gbh694U8GlpfL22kg1+VixMgYGzKxx5YeD4qeHuenXYAHKwLcZXKjlXNn/rrM2?= =?us-ascii?q?u0Od/fckjqIBenRpYw27F+gQTswdyX36zaAt1iIsF9nMH6z79f5GSnI5mi7gm5?= =?us-ascii?q?FhEFUXAPwUG6GL8Z5ZnmcilOzTLscWfbxammaTCR6kFacPyXyx5CuRLmllmBbO?= =?us-ascii?q?3AzuTm6o8F/5tyl4QTDLz9v5lEpaSKW3D19IXyW1IU94rC+PPA3wudrxvaQ490?= =?us-ascii?q?A2MmrhtN6XlWuhPr1XH9flK9yHPSk0vk8Xg4EtRtyyw4AUB8CxINAL8HFxdvHe?= =?us-ascii?q?8X+kkzddo6dbgIrT+seV+vTLEnmni62Vsa6NyCpZyng/ulE/8cugO+rL59CFTP?= =?us-ascii?q?WkzWERTz1wuwHZRR66tqTbr0wIOUyMyErEhJYFPtVH0nkjykHn5O8jTcko9ApC?= =?us-ascii?q?F4bPefUCpSzyODTu21qfZcw4VjWG2TtNAl31CUV4GLQ72G/ouMLJjnLQ9l0zS4?= =?us-ascii?q?l+aUPomBt3D58iJkI18lgXxSgDHhYRZhCHFr2oAl7lLYQcX0gZdRuHxKS6ersw?= =?us-ascii?q?3UBrx7Ov4PHcbel7B6UTMvZQlQGOk0ZcGpINqa0RWq58e15H+67TpwjiDZTnUO?= =?us-ascii?q?bilXo0NP21Td5V8cYFuHQ8+Aq/QQSv6Ytb5bYBlJ+IbrJEYYTLvM1k7Udn5DsP?= =?us-ascii?q?ezdIgBdhjxK2T/ocpOHl4tjUqpao7PihVLo1TeUN6xc0H3h+j4f3gF07oNHW1v?= =?us-ascii?q?1TRZfJhonk6wBCPWKKt5jG3BVmLuoOMY2rdq5693obPygeO24OPd2OZvYn4i9t?= =?us-ascii?q?KzvS6EZAAsMNedMYJNDCmR1QikDyRL5T8dfUFUGCBIdubcAo6HD3xyov/Zs7SO?= =?us-ascii?q?bg5ye8JYrD4FFVI/NDkCJsmcrapOcP3frdFCgX4HeeaxhvwSOO0oKNBOj0/eWN?= =?us-ascii?q?ztHUSlwHEzUuU4hHODqN5QynR+SylJXzUQOY8Mzzj4wkdEKWWHOxmL4JsqFWEe?= =?us-ascii?q?5Pki/7xCRRFpjph/KJtNqh8HdXtkdZH4Z39xLFHrtQM45mNhT5mcmrR1R8CTHk?= =?us-ascii?q?eM7ObBoupfCaxuES7OViL0H+f5MUIgoYy7Lm7npYVgRuR6TsvlmHQeIRZMBrSP?= =?us-ascii?q?fFrnBJ941gK7UAPEWGpJDwqDdHtkw2ChczaLAstjxaalXOnApNVqb7prEAjBcc?= =?us-ascii?q?Udl+uUNLAmK/JmY+5zvBVaRIg6icE/gV/SuJTq0OSUpkKCV+TA2p2J92Ybumge?= =?us-ascii?q?hHsn9aniN6uPUq1jtmRB2guS3jua0Awjcg+LCiuzUHp3NFUuufkyDSCVVA1/QG?= =?us-ascii?q?l6EcBGj+6VakenkMcJPy4KV7JcTn7YQh7GgwYQ44fyEfQOquBCf+j6KOAoySv9?= =?us-ascii?q?NRnxGNuMDUYr+1MyceLLM9yQjsR3JlyAjRgA5o8HcXQjWn9NIkJoK9OcYjxiay?= =?us-ascii?q?BWfbdFIM4r5Uv8rwtF4LSvA2aVBgwGh4zMiHRzMNS9bLG2kojwgoc2NEf4xf6R?= =?us-ascii?q?UCDaknni6IvrVa/gETeDrUE5ql9ZPWncrT3Xk9UMplxmPRpq2enJ8q12dlm9xs?= =?us-ascii?q?5C6UpHsSb/DYU9NrAnXr1IdQ1+L+Z/upsu0cRopp0rKhX+EeMsW5/2u5xolqUF?= =?us-ascii?q?e/xrsCB1q5LPMDxrDDXieqTW2YXuqKfHaInzY9KUPy/h6oLls2aMhWtUM9NPXN?= =?us-ascii?q?hoJEnQ37Tbx0XjmQpUPczGE7M+MadwI3uJ+gewwOTe4Re/aTKPMrwP0/FFsMdW?= =?us-ascii?q?HGETFxC++svl6nhJJ7NGl44UXmfeTt9RjrMMeTGhkBCoPasp9x9uC5Rm2fPX9s?= =?us-ascii?q?1htyM1do9+3HDVQ+qvdcc4qNndjXn9l71O8Fd/RuMS06odMTmJhs6YqT0MeMbx?= =?us-ascii?q?7RyIz+JdfLrfiEG/ff1VglenlGUroFZgP4/541McA/W73PBrZZphAcBa8mQJw9?= =?us-ascii?q?KWf+6rx7IBl0cg7La7S+mtPqqf6TZptIu3/W6Uo9LD/bux0H0PO0VwJ6b5euh3?= =?us-ascii?q?X8O50wQzVBr9p2ChR4AIRPAcQArxG8A56VnqG7hMW9+0Rgu+8FqaDwEOzF1Myl?= =?us-ascii?q?34VtWJhX/UKLMyjVBKlqmkRqkP+/g/bB0pn0DMPtZ8kEVOxlTWLfbb/GBIq/IC?= =?us-ascii?q?qUOs3gY05G76Kc0LVhXxWReCD5X62GtCi+O/V/+kg7z414fPbJzDMz9b3b38Hy?= =?us-ascii?q?Z25DrCe5sXGJLIdf7EDNBeHGURNUUeCF8Gd5EqIJdob08eYOMcA4wNeC+QVz6y?= =?us-ascii?q?5C0MSdKai7skDMwl57dY7cLEbx3CY5XZcFLQ+nMUsom2DZsWjdAXVAIci4M8li?= =?us-ascii?q?nsiaAgbr50ZvhWEnfnRBFXbwRdeNJWgb3NqzZAmL9AJNEtYCkPe7eUo5tq2pVe?= =?us-ascii?q?loIY5ImeSwu7UBltZlMSbPRNJVPyvINr95IiJRDvnTpFgvehMEqKY6WoM0ZZiI?= =?us-ascii?q?PUMGP0CMxyzuzQvCz0L0bcKj1L6TLysN8XVI0ajF0T5SqAm9ovmZn8LjXKrebJ?= =?us-ascii?q?HsU/7YKDAlWS2CRTQuDUap/k+pu/4FvPqDPWcSuVEVYjuUCAEJvKxvq8bfDnPL?= =?us-ascii?q?k+15YJIKnOyaWzz3SCBgkao9HDpEtUCNQ/oFEgnbdGHhgGtauAO8Iv9M/HTlb6?= =?us-ascii?q?CXx6ZPXOwWGIRMeOWDQ9TEYfBeOysoljIBNea+ZdLcrLE53UnTQGsEFanI6F2e?= =?us-ascii?q?TEmLQvyTxzLrQZ8Zv44qtSo04tjQhDN4E7zUP7aDoD6j6oG4gzyDtu3EV2kifU?= =?us-ascii?q?g1jfkcAGmF2hZAM2AEC8wPtEHrXKGAe15G1Gg1huJ2xx8MZANzX2Vs0n1Tm/a9?= =?us-ascii?q?ANdZSV8PjG61Rv0JdlV3Ay0x/UOQ5Q3ye9MAs9jJR2BC7rsMVZYdLP4w5YbJOq?= =?us-ascii?q?sQx/Yp3DR9oCw9tSWQFFxdjhiY86rOAq183KdO5W8m8PFqRkuPWS/QcnDbyoq6?= =?us-ascii?q?DMJC3TxuoX7h18XIv+1gN6BXp59nD1cQACJ3J9fd/TZbXWHyxgSyow6xHC6CLz?= =?us-ascii?q?IB/DYLOSsFe/53z+98thbIcs3M6UaOuK08pkurDhyLBaaq15BRDMHmyxm4OmF3?= =?us-ascii?q?dmCTHo1y4tNKk8wfKfc/bJW6K0jIMwy7CwWfoS1K/x/v9PDjNtZH2mUTlO0XLd?= =?us-ascii?q?jtW4QbRY3C0CpQ32dDxJ1Jy3aYRNzYeMu9o+FiBHpGDpCnSGKjNJ/RNi/zr9gb?= =?us-ascii?q?240vDF6WYe4XemVBvMhluH3tagaB/4vq8yaWZo6iaDG/MsgFMJmywz1HjbzcO4?= =?us-ascii?q?Xk7tRYBHYH9LR6gsTF4yON4g+AaMq6Kyetii4iMQehPIHKoMlw?= X-IPAS-Result: =?us-ascii?q?A2HWBAAV5SRY/wHyM5BeHAEBBAEBCgEBFwEBBAEBCgEBgwU?= =?us-ascii?q?BAQEBAR+BV7sdJ4glUwEBAQEBAQEBAgECXyiCMxoBghQCBAECJBMUIAsDAwkBA?= =?us-ascii?q?RcpCAgDAS0VEQYBBwsFGASIPrJRUjgCiy4BAQEHAQEBAQEBIYY+iHQRAYV9AQS?= =?us-ascii?q?aN5BTAooQhgqRQ1VYKByDHxyBXnGFLYItAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 10 Nov 2016 21:24:25 +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 uAALONgv025882; Thu, 10 Nov 2016 16:24:24 -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 uAALIhq8031920 for ; Thu, 10 Nov 2016 16:18:43 -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 uAALIefO025085; Thu, 10 Nov 2016 16:18:43 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1BLAAAt4yRYhxy3hNFeGwEBAQMBAQEJAQEBgzABAQEBAYF2txCEFoYkAoIdUwECAQEBAQECEwEBAQoLCQkdhRICAQMnUhBRVwYBEohfslhSi2gBAQEHJ4Y+jwMFmjeQUwKQGpFDgVWDOxELgV49NIdaAQEB X-IPAS-Result: A1BLAAAt4yRYhxy3hNFeGwEBAQMBAQEJAQEBgzABAQEBAYF2txCEFoYkAoIdUwECAQEBAQECEwEBAQoLCQkdhRICAQMnUhBRVwYBEohfslhSi2gBAQEHJ4Y+jwMFmjeQUwKQGpFDgVWDOxELgV49NIdaAQEB X-IronPort-AV: E=Sophos;i="5.31,620,1473134400"; d="scan'208";a="5816986" Received: from emsm-gh1-uea11.corp.nsa.gov (HELO emsm-gh1-uea11.nsa.gov) ([10.208.41.37]) by goalie.tycho.ncsc.mil with ESMTP; 10 Nov 2016 16:18:43 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AZ4NEYxId6mIc1FOB7tmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeLfTxwZ3uMQTl6Ol3ixeRBMOAuqkC07Gd6vy9EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6zbL9oMBm7owrdutQZjIZiN6081gbHrnxUdu?= =?us-ascii?q?pM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTY?= =?us-ascii?q?QguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhT?= =?us-ascii?q?wZPDAl7m7Yls1wjLpaoB2/oRx/35XUa5yROPZnY6/RYc8WSW9HU81MVSJOH5m8?= =?us-ascii?q?YpMPAeQfIOhWoYrzqFkArRalGQWgGPnixiNUinPqwaE31fkqHwHc3AwnGtIDqG?= =?us-ascii?q?jZrNPoO6cIT++61rLIxijCYfNMxDfy9o7IfQs7rv6QXbJ/b9DRwlQoGgzfgVWQ?= =?us-ascii?q?s5HlMC2T1usWqWeW9PBgWvyyhG4nsQ5xviKjydsrionMn48YzE3P+yZhwIstO9?= =?us-ascii?q?G0VEp2bcS5HJZeqS2WLZZ6T8AsTm1ypio3ybsLsoOhcicQ0pQo3RvfZuSHc4eW?= =?us-ascii?q?5hLjU/6cITJ3hX54Yr6/nQi9/lWgyuLmSsm4ykpFri1AktXUt3AN0QLc6tSfR/?= =?us-ascii?q?dj4kus3SyD2x3d5+1aO0w4iKnWJpA7zrIulZcfqUHDETX3mEXygq+WbEIk+u2w?= =?us-ascii?q?5uv9bbXmvIKcOJFyig7lKKsjgda/DvolPQgORWeb5f6w26Hk/U38WLlKlOE5kr?= =?us-ascii?q?HFsJDGIsQWvrW5DBJO0os49xa+Dyup0NQfnXUdKlJFYwiIg5LmO1HJPvDyFe2/?= =?us-ascii?q?jEi0kDd32/DGOaXsAo7TIXjHkbfhe6t96kFHxQovzdFQ+5JUCrYbLPL1QU/+rs?= =?us-ascii?q?bUDhA+MwyqkK7bD4BF354aEUeIBbWUePfKuEKMzvomPu3JYYgSoju7IP8gsbqm?= =?us-ascii?q?tmM0gV8Qe+GS2JITbH2pVqB9L16xfWvngtBHF3wD+AU5UrquwHCYUDUbX3+oXr?= =?us-ascii?q?l0sjwjAZinFq/bT5qsm6SF1Sy2WJpMaTYVJEqLFCLBcYmeVv4XIA2IP8JnmDUP?= =?us-ascii?q?VbW7A9so2guzuQnwwpJ9I+bU8zFevpXmgosmr9bPnA0/oGQnR/+W1HuAGiQtxj?= =?us-ascii?q?sF?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HpAAD+4yRYhxy3hNFeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwUBAQEBAYF2txCEFoYkAoIdUwEBAQEBAQEBAgECEAEBAQoLCQk?= =?us-ascii?q?dMIIzGgGCFAIBAydSEFFXBgESiF+yWFKLZwEBAQcCASSGPo8DBZo3kFMCkBqRQ?= =?us-ascii?q?4FVgzsRC4FePTSHWgEBAQ?= X-IPAS-Result: =?us-ascii?q?A0HpAAD+4yRYhxy3hNFeHAEBBAEBCgEBFwEBBAEBCgEBgwU?= =?us-ascii?q?BAQEBAYF2txCEFoYkAoIdUwEBAQEBAQEBAgECEAEBAQoLCQkdMIIzGgGCFAIBA?= =?us-ascii?q?ydSEFFXBgESiF+yWFKLZwEBAQcCASSGPo8DBZo3kFMCkBqRQ4FVgzsRC4FePTS?= =?us-ascii?q?HWgEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,620,1473120000"; d="scan'208";a="683590" Received: from mx1.redhat.com ([209.132.183.28]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Nov 2016 21:18:38 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CA65598C26; Thu, 10 Nov 2016 21:18:37 +0000 (UTC) Received: from nux.redhat.com (vpn1-6-6.ams2.redhat.com [10.36.6.6]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uAALIVmR022357; Thu, 10 Nov 2016 16:18:36 -0500 From: Andreas Gruenbacher To: Paul Moore , Stephen Smalley , Eric Paris Subject: [PATCH 3/4] selinux: Clean up initialization of isec->sclass Date: Thu, 10 Nov 2016 22:18:29 +0100 Message-Id: <1478812710-17190-4-git-send-email-agruenba@redhat.com> In-Reply-To: <1478812710-17190-1-git-send-email-agruenba@redhat.com> References: <1478812710-17190-1-git-send-email-agruenba@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 10 Nov 2016 21:18:37 +0000 (UTC) X-Mailman-Approved-At: Thu, 10 Nov 2016 16:21:36 -0500 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: Andreas Gruenbacher , selinux@tycho.nsa.gov MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Now that isec->initialized == LABEL_INITIALIZED implies that isec->sclass is valid, skip such inodes immediately in inode_doinit_with_dentry. For the remaining inodes, initialize isec->sclass at the beginning of inode_doinit_with_dentry to simplify the code. Signed-off-by: Andreas Gruenbacher --- security/selinux/hooks.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index e4527d9..cf5067e 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -1389,12 +1389,15 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent int rc = 0; if (isec->initialized == LABEL_INITIALIZED) - goto out; + return 0; mutex_lock(&isec->lock); if (isec->initialized == LABEL_INITIALIZED) goto out_unlock; + if (isec->sclass == SECCLASS_FILE) + isec->sclass = inode_mode_to_security_class(inode->i_mode); + sbsec = inode->i_sb->s_security; if (!(sbsec->flags & SE_SBINITIALIZED)) { /* Defer initialization until selinux_complete_init, @@ -1512,7 +1515,6 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent isec->sid = sbsec->sid; /* Try to obtain a transition SID. */ - isec->sclass = inode_mode_to_security_class(inode->i_mode); rc = security_transition_sid(isec->task_sid, sbsec->sid, isec->sclass, NULL, &sid); if (rc) @@ -1548,7 +1550,6 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent */ if (!dentry) goto out_unlock; - isec->sclass = inode_mode_to_security_class(inode->i_mode); rc = selinux_genfs_get_sid(dentry, isec->sclass, sbsec->flags, &sid); dput(dentry); @@ -1563,9 +1564,6 @@ static int inode_doinit_with_dentry(struct inode *inode, struct dentry *opt_dent out_unlock: mutex_unlock(&isec->lock); -out: - if (isec->sclass == SECCLASS_FILE) - isec->sclass = inode_mode_to_security_class(inode->i_mode); return rc; }