From patchwork Tue Apr 4 11:12:46 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: 9661411 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 3381460352 for ; Tue, 4 Apr 2017 11:56:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 834BA282ED for ; Tue, 4 Apr 2017 11:55:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 76FE828502; Tue, 4 Apr 2017 11:55:59 +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=unavailable 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 D9743282ED for ; Tue, 4 Apr 2017 11:55:58 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.36,275,1486425600"; d="scan'208";a="5567561" IronPort-PHdr: =?us-ascii?q?9a23=3AsMSnShLTgnjBxXkDcNmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgQL/r7rarrMEGX3/hxlliBBdydsKMazbKO+Pq9EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT68bL9oMBm6sQrdutcWjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVQTlgz?= =?us-ascii?q?kbOTEn7G7Xi9RwjKNFrxKnuxx/2JPfbIWMOPZjYq/RYdYWSGxPUcZLUyxKH52y?= =?us-ascii?q?YY0BAeEcOepUtpTxq0cLoRa4GAKiBv7gyiVQi3Hr3aM0zeohHwLI0gMuEN0Bsm?= =?us-ascii?q?zUodfoOKocTe+7w7fHzS7YYvNK2zrw8pTEfgwvrP2SW797bMrfyVMoFwPAllie?= =?us-ascii?q?tIzrNC6S2OsXqWib7PdgVfmygGAorwFxrCKvxsYqionGm4kYzU7L9SF3wIYvJN?= =?us-ascii?q?24TkF7bMW5EJtLqS6aLZB2Ttk5Q2FvpSY60KEJtoC1fCgN0pQnyADQZ+aBc4eW?= =?us-ascii?q?/hLuTeCcKip7inJ9YL+zmhm//Ee6xuD8S8W4ykhGoyVbntXWq3wBzx7e58qdRv?= =?us-ascii?q?dg/UqtxCyD2gTc5+1eP0w4i7TXJpg8ybAqjJUTq17MHirulUXzi6+Za1sr9/Cz?= =?us-ascii?q?6+TifrXmvpicN5Joig3mMqQhhMi/AeMgPwgSRWeb4+W81KD4/UHjXLVLjuE5kq?= =?us-ascii?q?nesJzAI8QUurW5DBNP3oYm6ha/Cy+q0NUenXYZMFJIYA+LgofmNl3UIP30EO2z?= =?us-ascii?q?j0qjnTt13fzKI6XtApDXIXjClLfhc6x960lZyAcr1tBQ+ZZUCrAHIPLuVU79rc?= =?us-ascii?q?fXDhgkMwyy3+noFs5925gCWWOPHqCZMKTSvUWO5uI0OeaAfoAVuDHjK/Q9/f7h?= =?us-ascii?q?kWc5mUMBfamuxZYXane4HvJ8LEWFYXrjmNEBHHwIvgo5SuzqjUeNUSVPZ3msRa?= =?us-ascii?q?I8/Ss3CIW8DYfMXoqtmqCO3D+nHp1KYWBLElKMEXXyeIqYWPcMcyWSIslgkjwa?= =?us-ascii?q?TrWhRYsh1QyhtQDh1rpnKPbU+jACuZLkzth16PXZlQsu+jxsE8Sdz2aNQnlsnm?= =?us-ascii?q?wWXDA5wqZ/oU1hyleEyqV4guJXGsJN6P9TVQc6L5HcxfRgC9/uQgLBYsuJSFG+?= =?us-ascii?q?T9q7BjExSNQxzMIQbEZ5GtWvlQrM0DSwA78SjbCLA4Y08q3E1XjrO8l902rG1L?= =?us-ascii?q?Umj1Q+X8RPKXephrRk+gfPAI7JllmWmLyxdaQAxiLN8nmMzXaWtkFCTAFwSbnF?= =?us-ascii?q?XWwYZkbOrNT54F/CQKGqCbs5NwtO19KCKrFKa9DyilVGXOnsONLbY22rmmewAQ?= =?us-ascii?q?2HxrSDbYbwfGUdxirdAlAekw8P5XaGKRQ+BiC5rmPeDT1uElTvbljp8el6sX+7?= =?us-ascii?q?T0k0wxuMb0J7zbq1+R8VheKCRP8J2LILpjshoS1uHFmhx9LWF8aApw15caRSYN?= =?us-ascii?q?M95FJH2nzDtwFmMJyvMb1thlkEcwttp0PuzRJ3Codensc2sHMm1g1yKbiX0FlZ?= =?us-ascii?q?bTOXwYjwOqHLKmn15B2vZbTW1UvY0NmK+6cP8+81q1D7vAGoD0Yi6Htm08JP33?= =?us-ascii?q?ub/JXKAxIYUYjtXUYv6xh6u7babzE+54zO1n1sNrS0vyTB290zB+slzQugc81Y?= =?us-ascii?q?MKOeGw/4C9caCNS2KOw2h1ipaQoJM/pP+64uPsOpaeGG1bWxM+l8mTKql2NH4J?= =?us-ascii?q?py0kiU7SpzVvbI34oZw/GfxgaISy3zjFO/vcDshYBFZTYSE3GkySf4BY5eeKty?= =?us-ascii?q?fZoKCWi0OcG3wMtxh4L1UX5C6FGjH08G2NOueReKdFz90xdQ1UMMoXy7gia41D?= =?us-ascii?q?p0kzYnr6qaxiPOxf7udBwZNW5XXGNil0vjIZCoj9AGW0ildwYomwGh5Ubm2adb?= =?us-ascii?q?vr9/InLNQUhWZSj5NHxiUq6qurqFec5P54sisT9LX+SkfVCaVrn9rgMG0yz+Am?= =?us-ascii?q?RexSo0dzWxt5rlmBx6jX6SI2xorHrFY81wwwnQ5MDET/5LwjUGXDV4iSXQBlWk?= =?us-ascii?q?Odmp/NGUl5PdveClTG+uTINccTPszY+asyu7/2JqCwWln/+vgt3nDRQ60Sjj2t?= =?us-ascii?q?l0VCXHsAr8Yo7x16igLe1nfk5oBFnz68dhHoF+k40wi4sK2XgdnJmV+mAHkWjr?= =?us-ascii?q?O9VBxa3+dGYNRSIMw9PN5Ajl2VZjLm6Qy4LiSHqdxsphZ9+nYmIZwS899NhKCK?= =?us-ascii?q?aS7LxFgSR1uUC0rQTPbvhhhj0d0+ch6GYGg+EVvwog1j+dArcWHUlcIyPsjQiH?= =?us-ascii?q?79ewrahMf2avbKS/1FFkkdCmFrGCrRlWWGzldZc6AS9w8sJ/PUrU0HLp94HkfM?= =?us-ascii?q?PcYsgJuhKPlBfAi/RVKJU3lvcRgCprJWT9vXo5xOIhixxhw426tpCdK2px5KK5?= =?us-ascii?q?HgJYNjrtasMQ5D7ti71ek92V34+xGJVhATMLU4X0Tf6yFzISr/vnPR6UEDIgsn?= =?us-ascii?q?ebBabfHQiH5Ud+tX3PDpSrOG+PJHYDy9ViWAeSJFZEjQAJRzU1gIQ5FhuwyMz6?= =?us-ascii?q?d0d5+yoR6ULmpRtCzeJoLRb/XXnFqAeudDg0VICVLABK4QFa+0fVLcue4/ptHy?= =?us-ascii?q?Fe45KstxKNKmqGaARIF20JXFKLB0z7NLm0+dbA6/SYBva5L/bWebWBs/FeV/OT?= =?us-ascii?q?yJ2z04tm4zaNOtyBPnZ4Cf03wE1DXWp2G87BgTUAVzQXlz7Rb86cvBq8+S12rs?= =?us-ascii?q?Sh//nwXQLv4oWPC7VMPtVz5xC2gaCDN+uOiypjLzZXyI8Mz2fSyLcDxF4Slz1u?= =?us-ascii?q?dz61HLQOryHNSr7QmqhSDxMAZSN8KtZH76Um3gZXIc7bkNT11rxmgfEpF1dJT1?= =?us-ascii?q?vhmtumZcYSOWGyKEvHBFqXNLSBPTDE3sf3brmnRLJNiuVbrQe8uTGBE0/sJj6D?= =?us-ascii?q?jSXmVwizMeFQiyGWJAZet5ygfRt2BmjjSd3nZge9MNBpkT082ac0iW/SNW4ALT?= =?us-ascii?q?h8dFtArqeK4SJWmPl/HnZO7n5iLeiEgCuW9fXXKpMMvftsGCR0mPpQ4G4mxLtN?= =?us-ascii?q?8CFEWPt1lTPcrt50vV6pj/KPxSBhUBpSrTZLn5mGsl9+NqXc7JVAXmzE/B0V52?= =?us-ascii?q?WKFxsKv8dlCsHou61IzNjPjrj8KC9a89/P88scBtLUKNmbMHovMBrpHiTbDA0Z?= =?us-ascii?q?Qj6qL27fg1ZRkPaI9n2atpI6sITjmIISSr9HU1w4Du4VCl97E9MYL5d3RCkrka?= =?us-ascii?q?CAgc4T/3W+rwTRRN9AsZzdUvKSHPPvJyyDjbVdexsIxrD4LIQUNoHh3UxtdEV6?= =?us-ascii?q?lpzQG0XMRdBNvjFhbggsrUpW8Xh+QWoz20T+Zwyw/nAcDv+0kQQwigdkZuQt7j?= =?us-ascii?q?js6U8tJlXWvCswjFUxmdL9jD+Lfz7+NrmwUp9NBirzr0g+LJX7QwNvYg2zmUxr?= =?us-ascii?q?LzDERr1Lg7tnb2BrhxfWuYFTFv5EUa1EfBgQyOmLZ/Uv1FRQsD+nxUhG5OTbD5?= =?us-ascii?q?ttjxEqcZmyoHJDwA9scNk1JanMK6VT1VhQmriCvim22eAt2AUePVoC8HuOeC4U?= =?us-ascii?q?v0wFLr8mKDSy8exo8gGCmDxDeHMQV/UwpPJq7UA9O+WawyLmzbFDNli7N/aDIK?= =?us-ascii?q?OBp2jAicmIT0sq1kwWjElK46J50d0/fEqUTE0g17qRFw4UOsrFJwFVd9BS+2bT?= =?us-ascii?q?fCqUt+XC3451NZ2nFu/0Ve+OqLoUgkW8EQk0BYsM8MUBEYS30EzDN8jnNqQFyR?= =?us-ascii?q?Ij5QTwOlqKEOlJeAiKkDcbo8Cz1pl30pdBJjsFG2VyLT235qrLpg8tmPeDWNA2?= =?us-ascii?q?Ym0EUYsCN3M2X9a3myFfv3RdFjW31fgZyAea5T/muivQFCX8b8ZkZPqMfhNjFt?= =?us-ascii?q?W2+TQ586irhl/a6YnRJ2b/Ndt+oNDP8v8aq4yBC/xKUbl3q13clJVAR3y2T27P?= =?us-ascii?q?Fsa4KIXsZIkpatz0DGq6XkGkhjIrUcjxJtetL6mPgQHuX4pUtpeU3Cw7P8+nCj?= =?us-ascii?q?4eAwtwp/0E5K9kZg0DeZo6bgTutwQiN6yyOwiY0tK2Q2mxMzdWSedQzfmibbxN?= =?us-ascii?q?0yUsdvO6yGcnTpwi0+m38EsNRJYWjhHexfeufJRRUSnzG3NHYArDvyw5mHZ9Nu?= =?us-ascii?q?wq2Ocw3AvIsUUAMzCMbOFpZ3ZEsMs6BVOOOnh2C204RlGajYrf4g6jwbES/y1B?= =?us-ascii?q?n9lKy+1Jqn7+sYHDYDi0QqyktY3VszY8bdghu6B+K4jjIsqau5zAhjPfSZnRsg?= =?us-ascii?q?uCUC68DfVXgcNfICNCT/lOgG0lN9EGtZBH6UUvSsc0P6ZPB7U0prC2dTpkCjYf?= =?us-ascii?q?wjQHWIOGxzENmPqz26XEmReKa5QtKgYEsZVYjtsaSS52bTsUpLW/WIXOi2+EVm?= =?us-ascii?q?8LLR8J7QRK5QIPio9wfufh4IrTVJFC0iNYrehoXyXMDZRn61z7SmSKjlfiU/Wh?= =?us-ascii?q?j/al3QRMw/LwytMbQgJwCVBBx+ZKkUslMK14K6sKsYHWqTKHaUT6vGbpyOunOl?= =?us-ascii?q?ZR09HUeEPkA4rFr2b8VTcc+XIMT49V1H7fDYgSkxZ+aKszvlVDOpqmekHl6DE/?= =?us-ascii?q?24RpBaO3Vd61yFYhrHYGQSiqE95AC+FpsFLXRDNlbIqxqJXgIZlSRHFf+IGFoV?= =?us-ascii?q?dDjEptKzK5yYZbK8xV7D8ARiRAoTWcvNu3Sc1Mw8x2AoQNIthhpXjyBrlIOJ+L?= =?us-ascii?q?o305orbv0GPW+yggsFemwzW+A7e4T+Vd/2IEAAUoKWOeqk0hD+Y392fS9VfNsk?= =?us-ascii?q?tq8OhHHLiPil5xoC18HpBICTZFz3elL058THNeqeVVNLzVc9BAQ/k1fRKgIQY+?= =?us-ascii?q?FeMg30CT/kF5hnb5Yy1ztgtG4C/RRQ80WjcJgr31gz0RttmnOSMGS5JPdTghcy?= =?us-ascii?q?DFKweAlCBLoBpfblplV4ofAtlb57ERxZFU8dbaSUawNSEFWwRvNgIi3vpFj0FD?= =?us-ascii?q?tFiXdDvAAgW2bfbPqgN4fcOPo86zNvj5+x1Hioz/uuAi66oDX2GmmRGqQd3GrY?= =?us-ascii?q?/8scOFu1CTe6jmKO2zf2XBTCTSgh+tn7skCYfF/zTLOgpBN5Z60WYkYYTmCWPT?= =?us-ascii?q?JhtGKb4UK1ZZWKxnZ9hLufxVZ8hheKkV46BtHQ6HSgnpGIOxsPlMNkzTSijGLy?= =?us-ascii?q?Wd7uy/ppre7abDRuf9ZsyD3WrHTrlzPpd99zn0Banm3pNZ+kXrxPhh7EV6Rkba?= =?us-ascii?q?MyqZttTuOhsL5NW+dkvlppApBSjWAItqn3Xw2kFNbNEXQyq38JQC1JxW9nDwSf?= =?us-ascii?q?5i0kfptO1e7b5k6ZM447px08e7Ob/SKehGsU9gGhWUGh9q+YszD2diXG1Rf+sR?= =?us-ascii?q?KOvLfasDk8Duquf3F6gJ5x2J4eBZbsHHJ07ZkMmlFj6cUQBEnBsGqTMCKwuTzf?= =?us-ascii?q?qFm6tqRsa5uej2wFgi7kO4LhEY0LBt/puL9bCQpODJdRfRy6YLWrTyTMPpsrss?= =?us-ascii?q?o1+S5eEjlLMWeGx6eRenEO8GVs4Z3Gjg07snzScxE8PHA7Lg+eJMV3MjkTLmgJ?= =?us-ascii?q?BxBVIWGukbHbCT54RRgn84m/DFNt0Raq1CmHyAFRiqEr8Yzn6k9jWYLXJ5gh7U?= =?us-ascii?q?1RHwWmSz4EXwrSBmXSvG183jnVZNVrmrGUdSWDKkOUBlsDOOOArosMT4uaEu4U?= =?us-ascii?q?4rLGPrr9ONm3GnOL9NGM3/PtOcKzEupF0LlJ0xWsCv2YcDFNq7JNcc63B+bv3b?= =?us-ascii?q?62+xki9BpalHh5DE7cGO5vXXB2SggLGGq7WQ3jBX1GI0vVYl6tCvLvvO/cGFQ+?= =?us-ascii?q?y012YNSCdyow7BXxmzqrzHoFAbJ1eG0ELKmIMQONFWw2U410/h5Og5Q9Iz7x9S?= =?us-ascii?q?FoDeaPMevTrzIif7wU6DY9IrUSmTyz9XHknwEVR4A6U81nz/s9/OlXfK4VIoXp?= =?us-ascii?q?Nwd0vlhRNpE4o4NVgh6F8NwioMCQINcwyUDKm0BUT5KosJTVMDZg6Z3Legdac4?= =?us-ascii?q?w1Zzz6i05ODJc+xzHaUNOehGjgKUmlhUBI4Wu7UEQL1gY19d6LLXpg/6BojlXv?= =?us-ascii?q?jmkGE9NfirTcFa788ZrXoi4gCwRxa675dM8aobgoiSdqFYeZjMoNx870B/6D4O?= =?us-ascii?q?dy1CmgJwgA+iXOAHuu/j/sbUv4ay5uapTqYtSP0d9wIoCGRmk5vwnFcjrMnM2O?= =?us-ascii?q?ddUY3Uh57w8AJMI36WoIbVyQR8Ke4VJo23e7Zv6msIKDIDJ3IUOtqWceMz7zVq?= =?us-ascii?q?MDXJ6FxIGtkMas8APMrRhQBUjVXkWKlJ+crHBlCYC4lyd8cy72r00Tw16oUzUu?= =?us-ascii?q?Lh6D+wOJDe4EpAP+tZgyVwiN3CpOYUwf3ICCgU+3WZaAZ6wjmEy5aTD/b85+KM?= =?us-ascii?q?yMvbV1keBC45T59dJCae+QygXue1iI/pXR2Q6sDphpIxalmdSWGwnKQKs6ZMDf?= =?us-ascii?q?RPij7h0ThEC4D5nfSVvMSw6GFPrF1IDJ5z7QHZGKVYJph7Ng73ltO1SUhgBivy?= =?us-ascii?q?Y8XUdhsyuOWIxucD+fh+N1DkaY8dPB0E16rw6WBJQQt2VL72olGZUPoeZNR4Tv?= =?us-ascii?q?PEsndV6YVnJ68UIledoJ3qrjFVqFE5GwIpbKE/riZad0bUhgFVXbj7uKIYgAsG?= =?us-ascii?q?TdF5oVNMGX63OG8m4TrHVLhajK6VCPMP6TWfVK0OU0JvMiNlWBO4w5BudrSmnP?= =?us-ascii?q?xdtWNGhCx9quAw0zN6XBu8pTHsp6UV1DIv5L64ry4BtWVYQOuRlSnICFNDzOkF?= =?us-ascii?q?jKoHBHbi7EazYH8dY4fo57lnP8vg/5E743sjeRUjYzEGXeO4BiHyiKOIAoqPvM?= =?us-ascii?q?hAix6NvMXOcKK8LCkTNrQ70hLjRHl93xPAnBZp7msEWDGg48IlJImnP8Yq2Dao?= =?us-ascii?q?E3DBdFkQ+qNJrNfxtVkTQes3d1Nu2mNj39ODRi0QWcPPGmE1jhM+ZWVDapJD5g?= =?us-ascii?q?cQF7M0jTaQoqlG4gYUbS/WEou79InQk8PI1GIzTNhwwGLZuLGFioks0HJ7h9N+?= =?us-ascii?q?9jSOt2gKd+zET89sBWD+1ohbyez5afSirOQHSI99xbS6V/8CNMij9nes1JVsRE?= =?us-ascii?q?Cl2qwUH0ClP+8b2rfbTyClRHWaWeSLc2mMhzE5Mkrz5Rm0MFI6c8JKr04hMuvY?= =?us-ascii?q?mJFQjQrhUal7Ri+Iv1/U0HQjMf8GdwIxoIqnZw0KTOsKauiAJOgh3P4+B0UIb3?= =?us-ascii?q?PTGyt5FfO2u0a3nIdnI3Vg/Vn6YeP1/wDjMduSGRoEEYnBo55z4/O6RWWBOXl+?= =?us-ascii?q?wx10JkV08fnQF0gpvO9Gb5mRhcTQh8h80eMdbPhiLys9usIIl4J47YmU19uKcQ?= =?us-ascii?q?3PzpnsON7ZuP+YA+fQz04yYGFVTqIZYR/p54U9JtM5VaPcHb9YvRQEG6c3W50g?= =?us-ascii?q?N2b09KFxMgxzaArRa6qujsntvOKLaYNep2XK4VIoMCfcpxoDx+S6TAxjdZCqhm?= =?us-ascii?q?n9L44rSzJErt1tFgFmE5VVF8MHtQqnDIaemLunhN+p50N6p+gKvLL3CvDOytu0?= =?us-ascii?q?xJ1xX5xA6kyQIDbRBbVkglh/juusnPjMyJ/xBt3+edkcTuh0XnbFaqPaHoW4Mj?= =?us-ascii?q?+OPsP8e0hb87+Tyb55VhSRZDvlX6qdryCkNe9r4UM8yoBie+rT1jMt5anB2NTu?= =?us-ascii?q?f2FbujujrXmROZtE8lPKAe3eXxRJSfuK92prErEXbYvq++cUL9Mi2MKT7hJw7D?= =?us-ascii?q?tcysuFJbaurkvX1UJmepLXNkzp2zw2WYMSOhSwLVMsgXPFqnTaGXlcK9KrJtVt?= =?us-ascii?q?gNaUCBzt4FJ8mX8sZm5HBGXoQdaROW4G28OxfgGK8xhLD9kble6tZUE4rrGySf?= =?us-ascii?q?VvOphdm+WlrrYHkdFyJCzUWchaOT3QLL9xPjpMAeXPpEQobgQCs7crRoc/fYKO?= =?us-ascii?q?L18fMEec1SPyyhPP3lbveNCr0KaJIT0W8mlcz77fyjhDuRW2teyCgsL9VLDZbZ?= =?us-ascii?q?f2XOPdMSc+Sj6bRS4yEVuy+Vu+tfsLpuaYIXwYolASeC6SDxQTpq93p9jKEmDT?= =?us-ascii?q?gfFjfIENhP2CVCD/UjZ3lLAzBilVsUCBWOQDFQ3MYH/6gWpcpRauJvlS8nL5d7?= =?us-ascii?q?eY3LZaW/QKAotQdf2UW9nYefVZJzcyjDUZOf28csbar7kj11LHU2oZH7PP9F2E?= =?us-ascii?q?Q06cWuacyC7zXYUJo4g0vTIl+sneni9yD6vFPrWSqiWw8oGmliaYuOzfVm4rY0?= =?us-ascii?q?AvhuINHnWBygFaKG4YE9EVpF3tQqmYakZO03Ipj+Zu1gQJeAttT3Ju3HpWnOyh?= =?us-ascii?q?FcJHU1IUin2hQOFVJGxwWRg55kKbqjb5YdUdt8TeXScK/bIXRJs1N/Io4ZTZPK?= =?us-ascii?q?YKhf0gmjlhpXp++wiHDlgVtguf8rGYSK9kz6dD/kEg9ut3RVmLSjjSNG/dxdzi?= =?us-ascii?q?Q+BGwCp16VXjzdDVpag5NrJfqpo/BBEPBjhsJ8v1+ipIWmX5ngC1ukD/VAyXPT?= =?us-ascii?q?ZRxTEMPyFNIv580utTqB/VcpPE7kSKuuQqr079TU7BMbeu15EDJ4eh9Qy8bThN?= =?us-ascii?q?O33/DJ1spftllN8WZbIhI4O5BgaFZjPiAxqYtiZEzx3jprCmHIIe2WkFurk9I9?= =?us-ascii?q?HuGY8RBJ/W2y8uhz53xZ4LzGSUSunYbJDj99cwUW4PMp28QHyta9TTOD//ruwY?= =?us-ascii?q?+pYoC0uWLu4dOTQf+5o3kHr6Kkil8prq/zOca6S/eSG9NekQP5myzWpDmKDMMs?= =?us-ascii?q?Xp/fMGQWEK+ak6lNPoqWHVqjPaZ82+OHD53EYHLBqpPP+9sbR0KJ0xdPtHFdV6?= =?us-ascii?q?WkQB+0kyfv4tBsShgCbw1A3YG/l4pSk8dB3jBJyml4VeaGggttifn1iP+KSlEv?= =?us-ascii?q?yiBMPK7timYFkw0w=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HwBQB1ieNY/wHyM5BcGQEBAQEBAQEBAQEBBwEBAQEBFAE?= =?us-ascii?q?BAQEBAQEBAQEBBwEBAQEBgylkgQiOaJBml1goiT9XAQEBAQEBAQECAQJoKIIzI?= =?us-ascii?q?gGCQAYBAiQTFCALAwMJAQEXBwEhCAgDAS0VEQYBBwUGAgEBARgEiW0Er2o6JgK?= =?us-ascii?q?KMQEBCAEBAQEkiFOHEBEBhgEBBIkcB4gRizmSUIpRCwUXhkRIky1YfQg7KwpBh?= =?us-ascii?q?Q+BTHOGbYIuAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 04 Apr 2017 11:55:58 +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 v34BtvJ3000519; Tue, 4 Apr 2017 07:55:57 -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 v34BDC6v265617 for ; Tue, 4 Apr 2017 07:13:12 -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 v34BD3IV021114; Tue, 4 Apr 2017 07:13:03 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AaBQCNfuNYhk7ASNlcGgEBAQECAQEBAQgBAQEBhDiBCINjm2uXYYYiAoM6VwECAQEBAQECEwEBAQgLCwgohUUDAyMEUhAfAQUCJgICVwYBDAYCAQGKDq1ugWw6iloBAQEBAQUBAQEBJIELh0iKRIJfAQSJHAeIEYs5klCKUQsFhltIky2BXDsrCoUrJYFMc4kbAQEB X-IPAS-Result: A1AaBQCNfuNYhk7ASNlcGgEBAQECAQEBAQgBAQEBhDiBCINjm2uXYYYiAoM6VwECAQEBAQECEwEBAQgLCwgohUUDAyMEUhAfAQUCJgICVwYBDAYCAQGKDq1ugWw6iloBAQEBAQUBAQEBJIELh0iKRIJfAQSJHAeIEYs5klCKUQsFhltIky2BXDsrCoUrJYFMc4kbAQEB X-IronPort-AV: E=Sophos;i="5.36,275,1486443600"; d="scan'208";a="6003416" 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; 04 Apr 2017 07:13:02 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AlODOkBSa5J+5KoySV4pfGWOcbdpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa67ZROBt8tkgFKBZ4jH8fUM07OQ6PG+HzRYqs/d+Fk5M7V0Hycfjs?= =?us-ascii?q?sXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6?= =?us-ascii?q?KfroEYDOkcu3y/qy+5rOaAlUmTaxe71/IRG3oAnLqsUanYRuJrs+xxDUvnZGZu?= =?us-ascii?q?NayH9yK1mOhRj8/MCw/JBi8yRUpf0s8tNLXLv5caolU7FWFSwqPG8p6sLlsxnD?= =?us-ascii?q?VhaP6WAHUmoKiBpIAhPK4w/8U5zsryb1rOt92C2dPc3rUbA5XCmp4ql3RBP0ji?= =?us-ascii?q?oMKiU0+3/LhMNukK1boQqhpx1hzI7SfIGVL+d1cqfEcd8HWWZNQsNdWipcCY2+?= =?us-ascii?q?coQPFfIMM/tYoYfjqVsArhWwCgejC+zt1jBGiWT73bE43uk7DQ3KwAItEtAIvX?= =?us-ascii?q?/JrNv1LqASUeWtwafVzTvIcvRY1i3n6IjLbxAhuuyHU710ccrf00kvFgXFjlqN?= =?us-ascii?q?ooHiITyV0uoNs3Ka7+pmWuKikHMnqxpvrTi13ccgkJLJhoUIylDe6Sp23og1Jd?= =?us-ascii?q?qiSE50f9GoCp1QuD+GN4ZvRM4pXmJmuD4ix7EYpJK2fjIGxZY5yxLFdvCKd5aE?= =?us-ascii?q?7gjhWeuSOTt1hnBodKiiixux7ESs0OnxW8au3FpUsCZJjN/BvW0X2RPJ8MiIUP?= =?us-ascii?q?5981+h2TmR0wDT7flJIUUzlarGN54t2LAxmYQIvkjZAyD5hl36jK6Qdko65uil?= =?us-ascii?q?8/rrbqjkq5OGNYJ4lBvyPrkql8ChG+g1MAsDU3Ce+eum1b3j+UP5QK9Njv0ziq?= =?us-ascii?q?TWrpTaJcoBpq64BQ9V3Z0u6wukDzi4ytQYhmMLLElCeBKalYjmJ0/BIP7/Dfel?= =?us-ascii?q?jFSjji1nx/bYMb39GpnNNGTMkK/9fbZh7E5R0BEzws5b55JVDLEBPf3yV1TttN?= =?us-ascii?q?3YEhA5Mwu0z/zhCNVmzIwSQ22PAqiHMKnKq1+H+vovI/WQZI8SoDv9MOUq5+X1?= =?us-ascii?q?gH8lmV4SYamp3ZwNZHC+BfRpOV+VYXXrgtcfQi82uV8VRffnmRW5Wj5aeni2Ur?= =?us-ascii?q?h0sjoyE4+3JZzIRomwjriMxmKwF9tdYWUQThihC3bjP72NQfYXIHafOsZ7kycs?= =?us-ascii?q?TbG7SpQ50RiluUn90bUxaqL28ygVrtrG08Jv5vabwRM78DFvScDb1maXVWBvtm?= =?us-ascii?q?QSTjQy0eZ0pkkrjh+72LV8y9lfEsZer6dRWxo+HYbV0ug/Dtf1QA+HddCMHhLu?= =?us-ascii?q?CO6rGz48Bv93i/8HZ0JsHZ/q2gvOxSWnK78ck7iaAto/9aeKmzDKO8tly3vAnJ?= =?us-ascii?q?Ikhl0iT9oHYXaqnYZj5gPTAMjPiEzfmKG0I+BU4y/J8GaKyCK0u0tVShJrGfHa?= =?us-ascii?q?XHQbZ0LT69+//ETIQqWyEpwmNBdMzYiJLa4cLpXtjFNbVLL4Nd/DeWOtiiK1Ah?= =?us-ascii?q?qVwr6kcoXnYSMe0T/bBUxClBocuT6dOAw/ADqxi37PBzxpU1T0agXj9vcthmm8?= =?us-ascii?q?SxoP4UmvZldiyqH91xobn/2aRLtH07YKoiYnpB1pB1unxJTNDMearAdve79TbJ?= =?us-ascii?q?U77UsRhjGRjBB0IpH1d/MqvVUZaQki+hq2jxg=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FmAgDQfuNYhk7ASNlcGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBFQEBAQECAQEBAQgBAQEBhA2BCINjm2uXYYYiAoM6VwEBAQEBAQEBAgE?= =?us-ascii?q?CEAEBAQgLCwgoL4IzIgGCQAMDIwRSEB8BBQImAgJXBgEMBgIBAYoOrXCBbDqKW?= =?us-ascii?q?gEBAQEBBQEBAQEkgQuHSIpEgl8BBIkcB4gRizmSUIpRCwWGW0iTLYFdOysKhSs?= =?us-ascii?q?lgUxziRsBAQE?= X-IPAS-Result: =?us-ascii?q?A0FmAgDQfuNYhk7ASNlcGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBhA2BCINjm2uXYYYiAoM6VwEBAQEBAQEBAgECEAEBAQgLCwgoL?= =?us-ascii?q?4IzIgGCQAMDIwRSEB8BBQImAgJXBgEMBgIBAYoOrXCBbDqKWgEBAQEBBQEBAQE?= =?us-ascii?q?kgQuHSIpEgl8BBIkcB4gRizmSUIpRCwWGW0iTLYFdOysKhSslgUxziRsBAQE?= X-IronPort-AV: E=Sophos;i="5.36,275,1486425600"; d="scan'208";a="5565393" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mout.web.de ([217.72.192.78]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 04 Apr 2017 11:13:02 +0000 Received: from [192.168.1.2] ([77.181.94.222]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0M1o3y-1c6GsN3UtO-00tm4M; Tue, 04 Apr 2017 13:12:50 +0200 Subject: [PATCH 1/3] selinux: Return directly after a failed memory allocation in policydb_index() From: SF Markus Elfring To: Casey Schaufler , Eric Paris , James Morris , Paul Moore , "Serge E. Hallyn" , Stephen Smalley , William Roberts , linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov References: <5704e656-708a-b611-5611-70fc65dc67e8@users.sourceforge.net> Message-ID: <8a517289-e5a7-8dde-0f5f-9e57f3e270c7@users.sourceforge.net> Date: Tue, 4 Apr 2017 13:12:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 In-Reply-To: <5704e656-708a-b611-5611-70fc65dc67e8@users.sourceforge.net> Content-Language: en-GB X-Provags-ID: V03:K0:EUBdAkBQ0rD4DlCXaT4nO1/mwUOMz6EJ/HJeggqM3NDSAL8kq5n e6z4oRYlIUzFyIkWISdcRBvgn6sDMVXziGoiXI0bdYXhaC0QVtdVuGvmcXtRIHaR/rpca2d s616o7IBcF98FI7K2BL8ED+MCsEqJ80oObsQr9OfySgsqDE1R+MO/ciThQCj8lrHL7B/4PF cXiHKOmoCZtds4YSVFiZg== X-UI-Out-Filterresults: notjunk:1; V01:K0:GaBOEkNzWX0=:FHnCLdTDhbkbDnd9AyNOkp oIS4p6g0tqATtnQvSHDcJ9smEnUHjh8HnJkcC4Gg1ati7OBrQ5kQvMwylI2IqiM1qDUNsQD4n BL/dOb57VWA36kFQ8ggCdX7WmT9wsPHHIEH3Exc5IMarguDKm8GmdRXd7f+RwgEYEeLeiERJy //GXhP7/OnRUZOP8K3yVy/Zd21jo5uoaZYEqdBFuFXWxCodJEYyKHpXEnWB4Hv1SVPioOZZih L4GKyTU9pLnmzpT1OZAyEQJ0lOitLOIf/HniBQX3iRnLM4q0EzkToj5/Ii5696+/CysiudOrz UjGR8jkokOF5ht8gYQbP0b3e1kaCONK7Q+ldu8x9G0wwKc1Fvj1BK9G1FpHuJ0qN0xKIUQx3o zgzX/5I3UErpguPND7Z7RHHikj+lz42B8GLl5E5XW2pohtweeGx4HPbXZonx0Mk9p7mnvC9Q/ /pihQw0ysTNkAOWj7MMYsIY2jCZb26AUQa6dAbYQWEQPJkuaH/pci9IGokc4I/qqGKEGXeQ56 gQnVQ4Q7MmrhyI6ahJ0oiGeNKFV3pPoJahz11HUCTK+zQx3mY/Y/bGbRSYBFOO2XzjUn6nGMt c8oSmDhu/po7I47E9xngCzz7aXtDYRh+n+WSufIAfu1krqNtYYYF24VfXjLU7OX+Sqv5y5YC6 lNbBuR55WZE09QSrt6/2QIkJwcE47YgG/AQik3WXTAg2QZJYL7oDUBK+LeetY5tIurawSnfU3 mhL/V8vtOThFm8/E4BWU75PP3cH9BzV4SCsTMEnVVD0LAm4lxqK5p8hCmAYnMBlvdtbTpPlv4 sP2d6nh X-Mailman-Approved-At: Tue, 04 Apr 2017 07:52:51 -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: 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: Tue, 4 Apr 2017 10:20:46 +0200 Replace five goto statements (and previous variable assignments) by direct returns after a memory allocation failure in this function. Signed-off-by: Markus Elfring --- security/selinux/ss/policydb.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 0080122760ad..87d645d3a39f 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -538,34 +538,30 @@ static int policydb_index(struct policydb *p) symtab_hash_eval(p->symtab); #endif - rc = -ENOMEM; p->class_val_to_struct = kcalloc(p->p_classes.nprim, sizeof(*p->class_val_to_struct), GFP_KERNEL); if (!p->class_val_to_struct) - goto out; + return -ENOMEM; - rc = -ENOMEM; p->role_val_to_struct = kcalloc(p->p_roles.nprim, sizeof(*p->role_val_to_struct), GFP_KERNEL); if (!p->role_val_to_struct) - goto out; + return -ENOMEM; - rc = -ENOMEM; p->user_val_to_struct = kcalloc(p->p_users.nprim, sizeof(*p->user_val_to_struct), GFP_KERNEL); if (!p->user_val_to_struct) - goto out; + return -ENOMEM; /* Yes, I want the sizeof the pointer, not the structure */ - rc = -ENOMEM; p->type_val_to_struct_array = flex_array_alloc(sizeof(struct type_datum *), p->p_types.nprim, GFP_KERNEL | __GFP_ZERO); if (!p->type_val_to_struct_array) - goto out; + return -ENOMEM; rc = flex_array_prealloc(p->type_val_to_struct_array, 0, p->p_types.nprim, GFP_KERNEL | __GFP_ZERO); @@ -577,12 +573,11 @@ static int policydb_index(struct policydb *p) goto out; for (i = 0; i < SYM_NUM; i++) { - rc = -ENOMEM; p->sym_val_to_name[i] = flex_array_alloc(sizeof(char *), p->symtab[i].nprim, GFP_KERNEL | __GFP_ZERO); if (!p->sym_val_to_name[i]) - goto out; + return -ENOMEM; rc = flex_array_prealloc(p->sym_val_to_name[i], 0, p->symtab[i].nprim,