From patchwork Sun Jan 15 15:38:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 9520977 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 308BD6020A for ; Tue, 17 Jan 2017 13:33:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 19568282DC for ; Tue, 17 Jan 2017 13:33:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0C11D2855D; Tue, 17 Jan 2017 13:33:13 +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 (smtp.nsa.gov [8.44.101.8]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 47B84282DC for ; Tue, 17 Jan 2017 13:33:12 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,244,1477958400"; d="scan'208";a="2857739" IronPort-PHdr: =?us-ascii?q?9a23=3AOLR7wh2dqEHNDrCXsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?sewTLPrxwZ3uMQTl6Ol3ixeRBMOAuq4C0LWd7vmocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDWwbal8IRi0ogncttQaipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2UxLjlj?= =?us-ascii?q?sJOCAl/2HWksxwjbxUoBS9pxxk3oXYZJiZOOdicq/BeN8XQ2ROXtxVVydcHI2y?= =?us-ascii?q?aYUBBPcFMepBsoXxu14CoB2jDgeuGezv0CdFiGLo06000+ovEg/I0wIvEN0MqH?= =?us-ascii?q?TZrsj5OakOXu660qbI1i7Ob+9U1Drn9ITEbh4sre+KULltccTR004vFwbdg1uN?= =?us-ascii?q?qYLuIjSb2f4Xs2iY8upgTv+khWEjqwF/uDivx8EsiobUjY8S1F/E8St5wJw0Jd?= =?us-ascii?q?2+R052esOkEIBOuCGALIt6WNgiQ2Z1uCYg1rIJp5C7fC8QyJQo2RHTcfqHfJaU?= =?us-ascii?q?4h/6UuuaPDR2hGp9db6iiBu//lKsx+3hWsWuzlpHoTRJnsPRunwV1RHe6dKLR/?= =?us-ascii?q?R580u7xDqC2ALe5vtZLU0wkafWLYMqzKQqmZoJq0vDGzf7mEDxjKCLaEop4vOo?= =?us-ascii?q?6+H7YrX+oZ+cKpN0hhn+Mqswnsy/Bvw1MhQUUGiB+OS8yabj8VflQLRKkvI2kq?= =?us-ascii?q?7ZvIrcJcsHva62HxVZ0oMi6xa7Fzum0dIYkmcbLF9dZR6KgIfkN0vOLfzlF/uz?= =?us-ascii?q?nVuhnClxy/zbJrHhB4/CLnnHkLfvZ7Z97EtcxRIozd9B45JUC7cBIO/8W0Por9?= =?us-ascii?q?PYCQI5MwqozOn5E9VwzZ8eWGKTDa+ZN6Peq1mI5vk1LOWWa48Vvyj9J+A/5/Hy?= =?us-ascii?q?lX85hUMdfa6x0JsVb3C4GO5pI1mZYXX2hNcMCmUKvg04TOzvklKCSiJTaGioX6?= =?us-ascii?q?In/D07D5imDYjbTIC3nLOBxDu7HoFRZm1eCFCME23neJmHW/cXbyKSJM5hkiIf?= =?us-ascii?q?WLivT48hyB6vuxTny7phMurU5zcUtZX51Nh6/+fTjw099SRoD8SB1GGAV3l0kX?= =?us-ascii?q?0TSDAo2qB/oFB9ylCY3Kh5nfNXC8Jc6+lOUgcgOp7W1/Z6BMzqWgLdYteJT06r?= =?us-ascii?q?TcihATE3SNI+3sEBY0J8G9i5lB/MwTCqA7gPm7yMHpw0/brW32LtKMZl13bGyK?= =?us-ascii?q?4hgkE7TctTL2KmnLVy+BTUB47Mj0qWjb2qdbgG0C7L6miD0XKEvFtEXw5oTaXF?= =?us-ascii?q?QXcfa1PXrdT/+kPNUbuuBqoiMgRf1c6CMKtLZ8bujVVeWvjjPtHebHiwm2e0Hh?= =?us-ascii?q?mIwbyNYJDte2UH0yXXEFIEnBwL/XaaKQg+AT+somLfDTxpE1LieEbs8e1npHO6?= =?us-ascii?q?SE841QeKYFd717q2+x4Vm+KTR+kV3r0apCcrsy90E0ql39LKF9qAoBJsc75Hbt?= =?us-ascii?q?865FdH1HnZtxBmPpC6NKBtmEIRfx5sv0zw0xV3C4NAkdUlrX4x0AVzKbiY0E5a?= =?us-ascii?q?dz+C05H/IKHXKnL1/BCpcaLW3Uve0NmO8KcV9Ps4s0njvB2uFkc6/XRn0t1V03?= =?us-ascii?q?6C6ZXQFwcSX4z+XVsw9xhgvb7aejM954TW1XJyLaa0riXO29UzBOsq0hygZctQ?= =?us-ascii?q?MLuYFA/uFM0XH8auKPYwlFivch0EPftS+bUxP8O+dvuKwbWrPeh7nD68imRH+o?= =?us-ascii?q?992FqW9yVgUu7Iw4oFw/aA0wuETTj8j1Chst3slIBHfz4SHW2/yTX+CI5WfK1y?= =?us-ascii?q?cp4BCX2yLM2v2tV+m5ntVmZC+1G+HVMG2dGmeQCJYlPnwQJQ0F4boXu9mSu31z?= =?us-ascii?q?Z0iS0mrrKD3CzSxOTvbAYINXRPRGZ8llfsPYi1j9cBUUizcwcplQWq5UDmx6ha?= =?us-ascii?q?vqtzNW/TTllUfyLuNWFtTrOwtqaeY85I8J4osTtYUOC4YVCdUbP9pwYa0z/kH2?= =?us-ascii?q?tb3j83bTaquo/2nxZikmKSMG5zrGbFecF33Rrf/9LcReRW3jodWCl1kiLXBl67?= =?us-ascii?q?P9in+NWbjZHDvvq4V22/Sp1ZaTPrwp+YtCun+W1qBgWynv6pld3jDQg1zzX718?= =?us-ascii?q?JxWCXWshn8eJLk17m/Me59eUloHlD84dJgGo5iioswmI0Q2X8Ci5WJ4HUIjGbz?= =?us-ascii?q?Ps9f2a/lcHUNQjsLzMLP7wj+xE1vNHSJyJzlVn+F2Mtue8G6Yn8K2iI6981KDq?= =?us-ascii?q?aU7LhAnSRruVq1thjebuZnnjca0/cu72Qag+4Rsgo30iqdGqwSHVVfPSH0iRSI?= =?us-ascii?q?7syxrLlQZGa1a7S/yEp+ndenDLGNuQxcXHf5epE4Ei9q6cVzKlXM0Gf86ov8Yt?= =?us-ascii?q?nfccoTtgGIkxfHl+VVLJMxluEWhSZ+ImLyo3kly+89jRxz0pC3p5OHK31s/KK/?= =?us-ascii?q?Ax5XKib1a9kV+j7zkaZUhtyW0Jy3HpV9BjULW4PlTeivEDIWsfToKRyOHyE7qn?= =?us-ascii?q?aVArffBhKf51t9r37VFJCrLX6XLmEDzdp+XBmdOFBfgAcMUTUihJE5CwSqyNb7?= =?us-ascii?q?f0tj/T8R4Vr4qgdLyuJuLBT/V3vTpAGvajgoUpSfKgRZ7h1a7UfPLcOe9v5zHz?= =?us-ascii?q?1f/pC5rwyCNGqbZx9TAGEKREOEAUvjPr+w6tnc6eSYAfC+L/TWa7WUteNeT+uI?= =?us-ascii?q?xY6o0oZ+5zaDLNiPPn18AP0jwEVDW2x5FNrDmzgUViwXjDzCb9SApBum4S13qd?= =?us-ascii?q?2/8O73Vw3x64uPDKFSMdpx9Bysh6eMKfKQjj5jKTlEzpMM2WPIyL8H0V4MjSFh?= =?us-ascii?q?aiKgEaoGtSHQTKLcgKlXAAAHaylrLstH87o83hVROc7ckt71zqR3juMxC1peSV?= =?us-ascii?q?Phm92pZMwTL2GzLlzHAlyHNLOcJT3E28v3e7+zSaVMjOVIsB29oTWbEk/nPjud?= =?us-ascii?q?jDTpUhevMe9CjC6FIBxepIG9chFoCWf9Vt7mbAO0MMNvhz0s3bI0nm/KNXIbMT?= =?us-ascii?q?VkfUNCtLuQ7T9fgvV6AGFB4GRqIvSDmyaD9ebYMowWsfxpAitqi+1a/G42y7xP?= =?us-ascii?q?7CFLXPZ1gjfdrsZyo1G6lemC0idoUBxUpTtQmY2Lu19tNb/e9plaVnbO5AgN4n?= =?us-ascii?q?mICxQWu9tlDcXiu7pKxtnBjq7zLS1N89bT/cocHMXbMt6IMH87PRruAj7UAxMP?= =?us-ascii?q?TSS3OmHHm0xdjPaS+2WTrpggsJfsgIIOR6RVVFw0DPMaEVhlHNIDIJdxRDwkl6?= =?us-ascii?q?KUjM8S6nq6thXRQ99avp/fXPKIHfrvMCqZjaVDZxYQ3Lz4NpocOZf020x4cFZ6?= =?us-ascii?q?gp/HG1HKUtBOvy1hdBU7rF9J8HhjSG08wVjlZhqx4H8UFv61nhk2hhF4Yesz6D?= =?us-ascii?q?fm+003KUbSpCssjEkxns3ojiuQcD7+K6ewW5pbBDfquEcqM5P0WQB1YRe1nUx+?= =?us-ascii?q?OzfOX6hRgKd4dWB3lA/cvoNCFuRTTaJefh8f2+qaZ/Iw0VtCrCWnwFVI5erBCZ?= =?us-ascii?q?R5kwsrfoSgr3Va2wJsdNQ1P7DfJLJVzlhMgaKDpjOo1uc0wAMEPUYN92KTdzAO?= =?us-ascii?q?uEMTLLkmIDSn/u935AOenDtDfXQDWOAxovJ27E89PfqPzz742b5ZNk+xL/CfL7?= =?us-ascii?q?+eu2XYk86HXEk/1kcTmklG+rh2ytsjfFCSV0A0z7uRFg4FNczcJgFJd8BS7mTc?= =?us-ascii?q?fT6SseXRxpJ4J5+9Gf7zTeCQrqkUmF6rHAYyEosX78QBBISj0EbWLcf/Nr4K1x?= =?us-ascii?q?Us6B7tJFqbEPRDYAiLnysfo8Gj0J932pFQKSwHDmVjMCW4+63XqxQwj/qZRtc2?= =?us-ascii?q?ZXkbXpAaOX0qRc26gS9Zv2hADTWt1OIW1hSC5SfmpivMFDn8c8ZjZPCMaBNiEt?= =?us-ascii?q?G55ygw87Oshl7R7pXeIHr6OM94tdDT7OMWvZGHC+lbTbNlqUfTh5FYR2C2U27I?= =?us-ascii?q?CdO1I5/wa5MyYtzyC3e6VUeyiz0zT8fsJtqtKbKIgQ7wT4ZOrIabxCwjNdO6Fj?= =?us-ascii?q?wGABd/ueUD5KN6ZQ0ebJs2egLntwM7N6OjOgiYycmuT3yrKTRIU/lV1f+6aKBP?= =?us-ascii?q?zyowcu+6z2MtQYwmwOmy9k4NQo0KggzFyPa9eYZeSynzG31aewXJvyY5kXZuNv?= =?us-ascii?q?oqyOcl3BzIqUUcMyyMdOFxa2xEpdE9CkmUIXVqCmo1XFCcjY3b4gGwxbwS+TVS?= =?us-ascii?q?n8pM2+1frHf+poPfYC6rWKGztZXVsi8gbd86o61xMY3uOdaJtJLenzPFV5bcqA?= =?us-ascii?q?uFXzCmF/BCgNhfPDpYQOVUmWEiIcEGtpBB5lA3VsciPLFPCa4sp76saTp4DS4d?= =?us-ascii?q?0y4ZV4Wc3DMcmOewwb3amQmMcJ46KhwLrI1CgscBUy5xei4RvqujV4TKmGCaUm?= =?us-ascii?q?cLJQcS7QJL5AIGjIB9Zfvq4IvSQ59K0jJWre90XjHNFpZ261vxUnuWjkTgSPW9?= =?us-ascii?q?j+yp2hpfw+ny3dkdQxNwE1VSx/hImUsyM7F4MbMQv47Qvj+Pb0P6s3rnyPG6K1?= =?us-ascii?q?lJ1c3Ua1r4AZLftWr6Uy0T5X0URYhLyHHEDZocihd3Zrw3qVtLO42pZkH+5zk4?= =?us-ascii?q?yItzBLm4Sdqnx1A7onYaXy2qCcZOC/l6sFLLXz1oe4ykqJf/NJpOWWJf5Jqdq1?= =?us-ascii?q?NdkEVsLSG504ZcJN9R7T4MRjRPpi+dvNSqQs1ZxcB2F4MMIst4u3rlAqNLIoKR?= =?us-ascii?q?o3ottbH01n/Z4SozsEmkyzW3Gq+4Se1Z/2kfGgUmJ2SetkcvAPE28mfX6FzNtE?= =?us-ascii?q?57//tDDLiVkUpxuCp9HoxJBjtR23GpNUh8THlHs+VfKaTaac9cTuIzZRCxJRMx?= =?us-ascii?q?C+Qq30uT/UF7hX35eTB9thNG+yDBWAk5TTEVgrDpmTIEsMGmNzgaS5ZGbTg6ai?= =?us-ascii?q?fFLAWbmTtJsxlDcUFqXIsZAs1E+7Ed0otY5M3CSVyjKSsdRhxtKho40eZDlU5E?= =?us-ascii?q?qEiXYzrdDReudfrVsR16ZsaRrM+oLPTl5whLkIXnv/4k968bXX2phRWtQczCr4?= =?us-ascii?q?/7rtCKqkyOdKLjPu2gfXPBSSPDgQq2hbg6E5nA5zLTPxZDK5lm1XokZoDsCW7R?= =?us-ascii?q?MhRcPa0bI1dUWLtnZtpYuuBaf9FreKIX9q93HB6HQQnvGIO3pvlcMlnTXSjeLz?= =?us-ascii?q?mG8uGno4LT6qLSRPP9acOS3HbIXbh3Potk5jbmAbvq15FR+lbu0Pd36kx6UUTG?= =?us-ascii?q?MzyGrNn5PQwL6tWtelfgs5E0Ez7bG4t/kH3oxk5cbcUXWDGq/I4eyJxH9Hb6Uf?= =?us-ascii?q?h43VTrsO1O67lk7pE646p3xsipJafdM+havFRjAhiTGAVl6IshD3R4R29MfOAd?= =?us-ascii?q?MvHRcroFjcr2seD4C7QX6AGJ++xecdbHP1rBmtWlBT6BVRxJhxwBqTkHLguGy/?= =?us-ascii?q?GKhal0Sdq/pefj3kIh+V++LgQJzLp1/4eL5rKIpPPLbxvW1bUERrLqSd3tobsx?= =?us-ascii?q?oE6S+PkklKIUemNvfQ2nEe8dVsoDyWf816wqyjgsE8zbFbL65PFDT245ni7nm5?= =?us-ascii?q?1lGlUZAPcUHb6V8oRCgmc3gfbWO8YQcq9chmaPDgKrHaUayXG18SeXJndqgg3W?= =?us-ascii?q?2RHqXWyz9EP2rTN/QSbUzdfsiFBVVr6sBUdWRSWpJ1R1sDaSPArsqNr3uLg67E?= =?us-ascii?q?AsPWzir9KBjmyhOKlYH8fnPtyTPTE0pE4LjJ02XtGv25oUGdyzINcL93Fxc+XR?= =?us-ascii?q?5ni3kyBbpadHnI3e7tuT+vrJAXmql7eapKmVxDBE1ng4ukky6t+9NvHP492KR+?= =?us-ascii?q?qn12MKQihipQTORB+1pabdr1wOPkyLykjLkpQQPt5FxXk4yl3m5O87TdI18AVT?= =?us-ascii?q?DYfAZ/UHpTzpOTv0x1ifY8gtWSmFzztXBE/1HkVkGKghwmL/otjFlXDK+10nXo?= =?us-ascii?q?NwbVDohQRrD4UkLkIg8F0Xwi0FEQgRZhCUEqqlBUHkLYQeU0gMdwiH3ba9eqct?= =?us-ascii?q?3k1z2amj5OnNYuxgH6ANLOpSjhaSnFhHHZIbqbceT69hdFJG+67XowfjB5LhX/?= =?us-ascii?q?f4iXo6Lee1TdxC8cAFq3si5R6yRx676ZdG77sWk56IebBZbpjLpsBz9V9n5SQI?= =?us-ascii?q?dixPnhdwkw+5XfobpOD57djRqICo5fq2VKYxW+UX8AA5B39kgJvuml8jrs/Y1/?= =?us-ascii?q?xHR43Ok4v/7hpCI3GUt4bByRV8L/QBK56zdrZ663oHPzQeJ24JPdeOafk84ipt?= =?us-ascii?q?PS7W51NcAsIDe8kYPMvLmQBbkEHpXq9c9tbDEF+CF4hzb9wo73bwyD0t8Js9U/?= =?us-ascii?q?zv5yWqKp3E9FFCIe9Dgztwm97Yo+gV2/XSAjAN4XaFcxh13j+Cy56VBvnr/OWM?= =?us-ascii?q?09/VWEkEHi43T4ddPCCN+RGjRueuiJrpVR6b5dHpj5IjbkKQQWaxk74fvqZLC+?= =?us-ascii?q?5AhT3x3iJCGYDtm/KVr92s5XNPtlJdDIZ88R3FGatYPpVhOhT0j9KrSVZ4Biv+?= =?us-ascii?q?fsHUaxUvtfGOxugW/+VxK0v+ZIEcIhIeyLL283lVQRV0SL7woFmZWfgdZNx8SP?= =?us-ascii?q?PLtnpV855vK7cTPFiBo5zntitIqEooDw8tcrAwqCJVe1LTkw1UVKb0uaIAhREH?= =?us-ascii?q?UdFjo09MBHi8OGQg6DrbTa5VlrWeCOQJ8jWPSawDS0poPTlkQxyrxJVue6Cknf?= =?us-ascii?q?RGsmNagCx9oOIl0yF9RBemvy3jub4N0yo6+L6krDUBpWBFTuKGnifHF1pDyugK?= =?us-ascii?q?jaAbC3rl8lyzfn0DbIr04Ll6KsXt7o0h7GolYRQjZSIKR+KgBD/sj6mQGIyArM?= =?us-ascii?q?pchAKRuMXJdbKzKykSOag6yRLnXXd9yRLSnBdv8GsMWTWg98QpJICyNMcq3Cao?= =?us-ascii?q?HnLbdFkU6KNTrMTxrUILTPcxaV55z2VsztOHRjYUSMLSFGg7iAkkaWNZcJNM8h?= =?us-ascii?q?IaGKwojSyOvqZY5A0UZy3UEou98InKgcjIwWU9Tcttxm/OpK2FgZMq0Ht/l9xo?= =?us-ascii?q?7i6OvGkSePHZUs9tBHjzzYRfye3lavWzs+AHVpFpyLC8X/8DKMWj/3W52IlyUE?= =?us-ascii?q?+/2rseB0a5MPMExrrDUielV3eXWeKQfmiIgjY2L0/y5R6zLlEtb8dKtUA9OPPY?= =?us-ascii?q?hpFAjw3hTa90RiKIqF/Z0mMjP+0adwYttYapYQMKSvAeZ/SGKego3vI+FEMGb2?= =?us-ascii?q?XVEituF++2rVmtkZB0O3Vk5kX7b/ri8gTiMNaJARkEFojarp9t9vCgQGKOJ2Ng?= =?us-ascii?q?xgVoPEZo7+ffC0gxtuhEfpaTndjRh8x70ekBd/dsLS0ypMUemodi6YmIyseFbw?= =?us-ascii?q?vdzpHoJdHauvKYGeHQz1w2emFGVboUeR/154Q/PtMiR73THKdWvRcCCqg+WpAh?= =?us-ascii?q?MXn+9L1sJgNpbgHRfKi0gtXtpu+TY5tUpnzW7lE3LCrHuR0M0P+0TQt9b5+0gX?= =?us-ascii?q?X+OpYwSSxdr9d1EBtpAJNPG98crwqgG5Obg7+0i9mt+05hoO8Kta3wCuzW1NSn?= =?us-ascii?q?wYp+QoJW5UuRPDbeHKNrmFhqjvyugvfc1Zn8Ec3ids0AVOh6Wm7KdKTLH4S+Kj?= =?us-ascii?q?KLP8LzZVRG87qC375jVRWRfi/5VbKctCK4LPVk/Vk7yotgcevd1Dwt9bDb18fs?= =?us-ascii?q?aGxAoyejrGKJNIFB41DQAuzeRR1UQ+Kf8Gl5Ba0XcZf09OAWPNwlxNiT/RJ+7C?= =?us-ascii?q?xG0MSfOKihsk7M1V5ndZLBMkTmxTw1WY8ULxSjKUEsm3PWqmzBAXRAKcipMc1t?= =?us-ascii?q?gNeTDhzw6Eh9gGUtZm9aGmr0XtecImkb1Ni4ZA2N7g5LCMwDn+Gvc04iqqKyUf?= =?us-ascii?q?VoOolCmeiyr7UIj9JpKyDJRMhHMCDcK7B4PiZRDurRvlgnfAYEvKIuV4c2e5eO?= =?us-ascii?q?OkUHP1mEySzp0AvC3lf4d9u21KaGOCwW6GlIz6rZ0ThQoAm0ofOZjdf/X7DZbZ?= =?us-ascii?q?H2WvnSPTE7VjGbQzQ9D0Kp+Vaiu/oZs/uUO2AfokobYiiKEg4curhvrcTMDm/U?= =?us-ascii?q?geBjfocFhPOdWy/rUyB4iawyBjpLtUCLXvoDGgnWb2P7jGpapgOiOudG/Wj5YL?= =?us-ascii?q?2A2qpVR+sWD5NDcvKDWNTYY/FeKCksljgCJua8e8fTr6040lLVV2cZFbfH9EGG?= =?us-ascii?q?Rk6MXvOc3y7rXZkSv4UsuCoo/9XQnjVtE6TJJLaSvDiu/ZS9jCmGuO3STG4tY1?= =?us-ascii?q?Y6gOgaGmmO3AFAKH0YC9ESoEztWaCAZ0NQ238oiu9jwAEMdxppUn1v03xWm/C9?= =?us-ascii?q?FtdfSVEKkGOkWOcGY0xvDDMs4U+K5RX/Yd4HucDVQ29T7b4MRpQAI/km74nXIr?= =?us-ascii?q?cfz+gz0DJgviM6r3bVM1QIigOD7rqVB69326dD+Xh9+vZ6Q0WCay3Qf3KByYe8?= =?us-ascii?q?Dc9LgyB0rjSszMfQv+ZwJJNGtop5BxEMGiswKdfDuXhsS2D/kDO7pRegVGCTOD?= =?us-ascii?q?sD4S0jPSUfd/1ty+ZwvVDPbNmXrQuyvqcsswOODhyRC6H8jJ5CD8zykwH+bC5R?= =?us-ascii?q?azSwP5dso/1JmZAZZqZxIcCGCk3FZi35CRiV83QU/QXuiqyiEM4Px2IZiKhqI9?= =?us-ascii?q?bsCc1CR+LUxj51i1sOjLoGyWmABJmXMob08cN1LXEHMp2sTz/gZ5efe33JqP0b?= =?us-ascii?q?0pooX32XYeEeMXMT54U6jU/2flio/sH25SbLIaamI3jxB8AKNJWhjiF0hazMLJ?= =?us-ascii?q?/1r6hdCH4D/KE5z8iGr3fUpy6Aev62eGPzxlMiMRj6OuqJ/pQoCbBkSrpwEsZ7?= =?us-ascii?q?E28KvQc+fP9/U8+qpiHq3xjrQPlyoihxYhT5BJim34RJezM145241QLAvcrhSK?= =?us-ascii?q?iUWpyDq7boPhpli+4sPYec?= X-IPAS-Result: =?us-ascii?q?A2GvAwBnHH5Y/wHyM5BdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgw4BAQEBAR9igQaOSpEmlysriBJXAQEBAQEBAQECAQJgKIIzG?= =?us-ascii?q?wGCGwYBAiQTFCALAwMJAQEXBwEhCAgDAS0VEQYBBwUGAgEBARgEiGIEsRM6JgK?= =?us-ascii?q?JZQEBAQcBAQEBJIhHhn8RAYYAAQSbOpFfiiAKBReGJ5JsWHE2KAo6hDccGIFIc?= =?us-ascii?q?oYqgi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 17 Jan 2017 13:33:11 +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 v0HDXAYp015860; Tue, 17 Jan 2017 08:33:10 -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 v0FFcPp7226490 for ; Sun, 15 Jan 2017 10:38:25 -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 v0FFcOSq030346; Sun, 15 Jan 2017 10:38:24 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1BoAwB5lntYhwQP49RdGwEBAQMBAQEJAQEBgzkBAQEBAYEBgQaDUZwZkx2EGoYiAoIYVwECAQEBAQECEwEBAQgNCQodhRoDAyMEUhAfAQUCJgICVwYBDAYCAQGJA699gWs6iXwBAQEBAQUBAQEBASOBC4c8ijOCXgEEmzqRX4ogCgWGPpJsgX4oCoRxEQsYgUhyiGIBAQE X-IPAS-Result: A1BoAwB5lntYhwQP49RdGwEBAQMBAQEJAQEBgzkBAQEBAYEBgQaDUZwZkx2EGoYiAoIYVwECAQEBAQECEwEBAQgNCQodhRoDAyMEUhAfAQUCJgICVwYBDAYCAQGJA699gWs6iXwBAQEBAQUBAQEBASOBC4c8ijOCXgEEmzqRX4ogCgWGPpJsgX4oCoRxEQsYgUhyiGIBAQE X-IronPort-AV: E=Sophos;i="5.33,234,1477972800"; d="scan'208";a="5907642" 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; 15 Jan 2017 10:38:24 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AZdUigBHwZ6NFrWXdiVX9HZ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ76ps+5bnLW6fgltlLVR4KTs6sC0LuK9fu8EjVeu96oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52Ixi6twvcu8YZjYd/K6s91AbCr2dVde?= =?us-ascii?q?hR2W5mP0+YkQzm5se38p5j8iBQtOwk+sVdT6j0fLk2QKJBAjg+PG87+MPktR/Y?= =?us-ascii?q?TQuS/XQcSXkZkgBJAwfe8h73WIr6vzbguep83CmaOtD2TawxVD+/4apnVAPkhS?= =?us-ascii?q?EaPDMi7mrZltJ/g75aoBK5phxw3YjUYJ2ONPFjeq/RZM4WSXZdUspUUSFKH4Gy?= =?us-ascii?q?YJYVD+cZIOhWsYf9qVsNoxWwCwajC+HgxSNHiHLtwa030f4sHR3a0AEuHd8Dtm?= =?us-ascii?q?nfotXvNKcVVOC41LTGwzXeZP1Rwzj98ovIcg06ofqRUrxwdcTRyVMuFwPDgVWb?= =?us-ascii?q?tIvoMC2R1uQDqWib7uxgVe20hm46sAF+vCKvxtw2honSgYIV10rE+jlnz4Y7It?= =?us-ascii?q?24UkF7bsC+HJtWqS6aK5J7T8U/SG9roCY30qMKtYOlcCQQ1pgr2RzSZ+aaf4WI?= =?us-ascii?q?+B7uW/6dLDV7iX5/d7+ygwy+/VWvx+D+TMW4zVJHoy5Dn9LRrH4CzQbT5dKCSv?= =?us-ascii?q?Zl/keuxzKP1wfL5+FBJkA0iLbbJ4Qvw7EujZUfq1nMETHulEX3iq+ZaFkk9/C2?= =?us-ascii?q?5+j6fLnqvIGQO5F2hw3kL6gjmtazDOsgPggLRWeb+OC81LP5/U3+RbVHluM5kq?= =?us-ascii?q?3XsJDAJMQboKG5DhRI0oY49Rm/FSym3M4DnXkAMVJFYg6IgJbnO1HJOvD4Aumw?= =?us-ascii?q?j06qkDh12/DKJqfhDYnVLnjfjLfheq5w61VCxwo3zNBf4Y9UC74aLfLvWk7+qN?= =?us-ascii?q?zYDhgjPwyy2OboEs9x1owZWWKRGqWZKr/dsUeU5uIzJOmBfJQVtyvmK/U++/7v?= =?us-ascii?q?jWM2mV8afaWz25sXc2q3Eu5pI0Wef3q/yusGRGMLuBcuCffng0CYUCJCInO1U7?= =?us-ascii?q?846xklB4+8S4TOXIaghPqGxij/VoZbYmFAF0CkDWbjd4LCXewFLi2VPIspvyYF?= =?us-ascii?q?XvCZQpUgzln6uRfz0bt8BvLd4CwDrZbq39Uz4Pfcw1V61zVxAt/V9maXVWBv1j?= =?us-ascii?q?cKTjo7x+Z750l60E2CyoB/mfVTEdEV7PRMBENyDZfBy6RfDNfoV0qVZt6UTH6+?= =?us-ascii?q?S8iiRDQ2Scg8hdQJZhA5U5+ZgwrM0mKHRfc1nriPFZp+uvbH0mL+Ku59wnLCxa?= =?us-ascii?q?9nhF4jFI8HDnGrnq5y8UDoAofNl0iI3/Kxeb80wD/G9GDFy3GH+k5fTlg0GZrE?= =?us-ascii?q?WXQeb06el9Pz61neVPf6FrUjNgpIzIiJbLFNYNDzkU5uRfH/NdCYaGW0zTSeHx?= =?us-ascii?q?GNk4iiJK/jYWYAx23wDEYekgYctSKLMQYkByGui3/FASZ1U0noflnn/Od5sny2?= =?us-ascii?q?CEk501fZPAVay7Op90tN1rSnQPQJ0+dB4X95pg=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FuAwDGlntYhwQP49RdGwEBAQMBAQEJA?= =?us-ascii?q?QEBFgEBAQMBAQEJAQEBgw4BAQEBAYEBgQaDUZwZkx2EGoYiAoIYVwEBAQEBAQE?= =?us-ascii?q?BAgECEAEBAQgNCQodMIIzGwGCGwMDIwRSEB8BBQImAgJXBgEMBgIBAYkDr32Ba?= =?us-ascii?q?zqJfAEBAQEBBQEBAQEBI4ELhzyKM4JeBZs6kV+KIAoFhj6SbIF/KAqEcRELGIF?= =?us-ascii?q?IcohiAQEB?= X-IPAS-Result: =?us-ascii?q?A0FuAwDGlntYhwQP49RdGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgw4BAQEBAYEBgQaDUZwZkx2EGoYiAoIYVwEBAQEBAQEBAgECEAEBAQgNC?= =?us-ascii?q?QodMIIzGwGCGwMDIwRSEB8BBQImAgJXBgEMBgIBAYkDr32BazqJfAEBAQEBBQE?= =?us-ascii?q?BAQEBI4ELhzyKM4JeBZs6kV+KIAoFhj6SbIF/KAqEcRELGIFIcohiAQEB?= X-IronPort-AV: E=Sophos;i="5.33,234,1477958400"; d="scan'208";a="2302688" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mout.web.de ([212.227.15.4]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2017 15:38:23 +0000 Received: from [192.168.1.2] ([78.49.147.199]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MTLwF-1c2l8b249v-00SRmG; Sun, 15 Jan 2017 16:38:14 +0100 Subject: [PATCH 38/46] selinux: One function call less in five functions after null pointer detection To: linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov, Eric Paris , James Morris , Paul Moore , "Serge E. Hallyn" , Stephen Smalley , William Roberts References: From: SF Markus Elfring Message-ID: Date: Sun, 15 Jan 2017 16:38:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: X-Provags-ID: V03:K0:nniNs84UlkkixdzNUajX6T7KxJPy0S5cKHOJpFIsij0NjSdcTsD nmxwi89/A19KefgqQUTlvjMH5HKSFDPZYnhK1/7GRObsyCok8Cq3vGgqn04InP4RoioTaHR IvpsYbJRaiqhWWU1VPAo5m13IVPBqD7U9Me9IiWV55pkw4OOKHQJlZJ0lcuEGFhvlb3BB6m GWfq+k29yuH0jwj9a/0BA== X-UI-Out-Filterresults: notjunk:1; V01:K0:rbgthq7W2Mk=:DWuM1rvLY8EJSu5Gn2wWfv NuVAdIKSTb3KKmAmnjA2aXf8HLdx1ntQz0qSQRDLOcDIa8B/NEFWiNYUeEIYTKuDs+uLUivsW TAmVa3lSWIcol4QRxLJOE49p7MFUBDcuVZGEkAqMmfuPOlnlAp5dTeIDXUKKZkUUHf/bkPhZb xs+nCd9uXLYqC2prcYXtea7LTI0ho6giUQ3UK/bB8UTQJkoH4+Hl3bjTgDZtWcX193JSxSxtR yeXY6JcBe4dLGqtLVM1VxCWwWZXki3PsAlJQ0gAMBnyiAwbHIcTUu1eQ90mGzReAmQfMTfEUS HMPbEN+w3R51gKQlY7UUHmMf3QJhpVBYBaD+cBtN1JQyrV4zeVV37EKWgajq76FrTvX70CWeh z3NtFOAmQTStl/nlJo0Bt+BG+Lc49JQAAoE0Y/Gj1/PmMgLqVgZazVUh0B9CBhXWHr0qajH7y JgnBioPk6Qw2N3qsLmIq3coLn9dFE6n1/H+nlZpS/lewsVYVTO9obhJ5v8V+IZ5o431YaNZOd DNOEzpURFUxoLrqpPw/PqRwJ0QIXiYD71h718ZT86Zz//qjM8+1YwGfpvDM+MmEtZ7mrF5xdA HYsA8aFE0gTnS4w5LP5KOmHznGXkdCpG1uHEjHXnwGv5fS4C238kJq5E0QBbMwNBNXkQpaOQD JwVS4ShbiWuf95OMb2QQi9BbMsur45iZBpQKxxcyLqwQZ4sYfPB9SK0okMz0s1ElMCQS6TIHp CkYtVYTMI4MS2+3lxd/Nw+UfHcEvQVzLs3yIsSOkbKwH+xMuhK3LYf7U4x4W+zvNuQY4YI90I 1AkfNaN X-Mailman-Approved-At: Tue, 17 Jan 2017 08:26:53 -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: kernel-janitors@vger.kernel.org, LKML Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Markus Elfring Date: Sun, 15 Jan 2017 11:28:02 +0100 Call the function "kfree" at the end only after it was determined that the passed parameter contained a non-null pointer. Signed-off-by: Markus Elfring --- security/selinux/ss/policydb.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index faa6ecc2450d..88730b372277 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -620,8 +620,8 @@ static int common_destroy(void *key, void *datum, void *p) comdatum = datum; hashtab_map(comdatum->permissions.table, perm_destroy, NULL); hashtab_destroy(comdatum->permissions.table); + kfree(datum); } - kfree(datum); return 0; } @@ -675,8 +675,8 @@ static int cls_destroy(void *key, void *datum, void *p) kfree(ctemp); } kfree(cladatum->comkey); + kfree(datum); } - kfree(datum); return 0; } @@ -689,8 +689,8 @@ static int role_destroy(void *key, void *datum, void *p) role = datum; ebitmap_destroy(&role->dominates); ebitmap_destroy(&role->types); + kfree(datum); } - kfree(datum); return 0; } @@ -712,8 +712,8 @@ static int user_destroy(void *key, void *datum, void *p) ebitmap_destroy(&usrdatum->range.level[0].cat); ebitmap_destroy(&usrdatum->range.level[1].cat); ebitmap_destroy(&usrdatum->dfltlevel.cat); + kfree(datum); } - kfree(datum); return 0; } @@ -726,8 +726,8 @@ static int sens_destroy(void *key, void *datum, void *p) levdatum = datum; ebitmap_destroy(&levdatum->level->cat); kfree(levdatum->level); + kfree(datum); } - kfree(datum); return 0; }