From patchwork Wed Nov 23 22:06:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9444437 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 48EDB6075F for ; Wed, 23 Nov 2016 22:14:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 42F2927DC2 for ; Wed, 23 Nov 2016 22:14:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 37D4927DF9; Wed, 23 Nov 2016 22:14:47 +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 674C827DC2 for ; Wed, 23 Nov 2016 22:14:46 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.31,540,1473120000"; d="scan'208";a="1271397" IronPort-PHdr: =?us-ascii?q?9a23=3A1L7Zah+wjjRLrv9uRHKM819IXTAuvvDOBiVQ1KB5?= =?us-ascii?q?0OwXIJqq85mqBkHD//Il1AaPBtSAragbwLOL6OjJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMijexe61+IRe5oQnMtsQbj5ZpJ7osxBfOvnZGYf?= =?us-ascii?q?ldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbD?= =?us-ascii?q?VheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxDmki?= =?us-ascii?q?cHMyMy/n/RhMJ+kalXpAutqwFjz4LRZoyeKfhwcb7Hfd4CRWRPQNtfWSJCDI27?= =?us-ascii?q?bYQPAfIBMORFo4TzqFQBsRSwChe3BO701j9FhGX70bEg3ug9Dw3L2hErEdIUsH?= =?us-ascii?q?TTqdX4LL8cUeGpw6nPyTXMdehW0ir+5ojPdRAhuuqMVq93fMrXyEkgCwTFjlGK?= =?us-ascii?q?poz+JT+V1+MNs2+A7+p7Tu+vjmEqqg5rrjio3McshZDEi4QIwV7H7SV02Js5KN?= =?us-ascii?q?K3RUJhYdOoDYFcuz+VOodoWM8uXnlktSUnxrEcuJO2fTIGxIk5yxLDcfCLbZSE?= =?us-ascii?q?7xDlWe2MOzl3nmhld6i6hxuq9EigzfDzWdes3VZRqypFjsHMtncQ1xzP8sSHSu?= =?us-ascii?q?Vy/kOm2TuXywDc8PtEIUEplarAMZIh3r4xmYYTsUTEBCP2nln5jLSKeUk+/+io?= =?us-ascii?q?6uDnbq3npp+aKYB0lhnzPrkhl8GwG+g1MhUCU3KF9emzyrHv51D1TK1PjvIsk6?= =?us-ascii?q?nZtJ7aJd4cpq68GwJVyZgs6xK+DzegzdQZkmALI0lCeBKaiYjmJ0/BIOvjAPej?= =?us-ascii?q?g1WjjDdrx/fcMr3nGZXCNGLPkLjmfbZj80Jc0hY8zchD55JIDbEMOOz8Wlfru9?= =?us-ascii?q?zCDx85KBe5w/79B9Vn14MeQnqPAquDP6zOr1CE/OUvI/ODZIUNojbyN+Al5+Ly?= =?us-ascii?q?jX8+gVIcc6ip3Z8SaH+mBPRrOEuZbmTxjdcGC2cFpBI+TPbtiF2ATzFce2qyU7?= =?us-ascii?q?g75jEhB4KsFZ3DSZy1gLydwCe7GYVbZm5cCl+WF3fna4SEW+wXZSKXOs9hkyUI?= =?us-ascii?q?VaOvSo86zx2usxX6y7V/JOrO5iIYrY7j1MRy5+DLlhE97z90D8OA02yWTGF7hG?= =?us-ascii?q?AIRzgr3Kxlpkx90FiD27Big/NEDdxT++9JUgAiOJHG0uN6EdHyVRzbftqSUlmp?= =?us-ascii?q?XtCmDSs2TtIrzN8Ee1x9FMm6jhDfwyqqBKcYmKCRC5ww7K3cxGTxJsZ6y3vdz6?= =?us-ascii?q?kuk1gmTdVJNW26h65w7RLfB4jXnEWFj6yqb7gT3DbR9GefymqDpEFYXxB0UaXB?= =?us-ascii?q?WnASfU/Wrcnl5kPFSr+hE64rMgxbyc6NMqFKcMHmjU1aRPf/P9TTe3mxm2mqBR?= =?us-ascii?q?aP3bOMcJHne34b3CXaBkkElhoc/XCcOQg4GCihv3rUDCZyGlL3f0Ps7e5+pWu1?= =?us-ascii?q?T0AuywGKc1Nu16Cu+hMOm/yTVekT0akZuCcksTl0G0y9393OAdqauwVhZLlcYc?= =?us-ascii?q?864FpfyWLWqhFyPp26IKBmnVMRbwN3v0by2BptEYVAjdImrHU0wwpuMaiYyk9O?= =?us-ascii?q?dyuE3ZDsPb3aMm/y/BGra67SxF7ey82b9b0R5/QirFXvpgapFlAt839/ydlaz2?= =?us-ascii?q?Oc5onWDAoVSZ/+T1w49wRgqL7EbCk86JjZ2mFsMaauqD/Cx8wmBPE/xhamYdhf?= =?us-ascii?q?LLuOFBXuHM0CG8iuNOsqlkC3bhIFIO9S6Kk0P9m8e/Sa2K6rO+BgnD29gGRD4Y?= =?us-ascii?q?B91FiD9zB7SuLS2JYF2f6Y1BOdVzjglFehrtz3mYdcaDEWH2q/0jTkCJdKZqJs?= =?us-ascii?q?eYYLCGGuI9C4x9hlnJ7tQ39Y9FiiB1waw8+lYxySYELh3QdIz0QYvWSnmTekzz?= =?us-ascii?q?xzizwptK2f3CjKw+v8bhoIJmlLRWd5gFf3PIi7k8saUFKvbwgzmxuv/Vz6yLRD?= =?us-ascii?q?pKRjM2nTRl9FfzDsIGF/Vqu8rKCNb9RU55MvtSVXTOO8YVaBR774vxca1STjEH?= =?us-ascii?q?dEyDA9aT6qpo3znwZmh2KFMHZzsH3ZdNl1xRfb/dDTW/hR0yEYRCZmjTnXAkaz?= =?us-ascii?q?P8Oz8dWSiZjDrvi0V3i9WZ1LbSnr0YSAuTO45WJ0Bx2/hOu+mt75Hgg8yi/70c?= =?us-ascii?q?dlVTnSoBb7eInr2LywMfh7cUlwGF/89816F5lmkoQqmZEQ3WYVho2P8noBjWf8?= =?us-ascii?q?L89b1LnjbHoWWzEL2cXV7BL+2E1kM3KJ3Z72WWuTwstmfdm6bX0Z1jg7789UFK?= =?us-ascii?q?ee9KZEkjdtolqksQLRZuBwnikbyfQz83ManecJtxctzimHBLAdA1VYNzT2lxuU?= =?us-ascii?q?99C+sLlXZGG3fLiozkV+gNShAaqerQFdRHb4eo4uHSFq4cV5Kl7M12fz6o78ct?= =?us-ascii?q?nKcd0TrgGUkwvHj+VNK5Iwlv4KijR8NGL4un0lxeA7ggJy3ZGmvIiHLGBt87yj?= =?us-ascii?q?Dh5eKDL1e9sZ+ivxgqZGgsaWw4evE41vGjoRWpvoUfWoEDcJuPTpKQmBDTo8qm?= =?us-ascii?q?2BFrrHBw+f70VmoGzTHJC3LX2XI2MZzdp6ThmHOENfmBwUXCk9npMhGQCqxNDu?= =?us-ascii?q?cF155zAJ+l74rQBByuR2OBnjSWfQuB2nai8qR5SFKhpZ8B1C7V/PMcOC9uJzAz?= =?us-ascii?q?1Y/pq5oQOQLGyUfR9FAnwPWkOeHVzjOaOu5dbY+eiCGuW+N+fOYamJqeFGTfeH?= =?us-ascii?q?2I+g35Bp/zaJOcSDJH9iAOMn2kBbR3B2B9zZmykTSywQjy/NddSXpRmm9i1ytM?= =?us-ascii?q?+/9PPrWQL06ISVF7RSNM9j+xesgaeML+SQnjp2KS5E1pMQwn/F0L4f3EQIhCF2?= =?us-ascii?q?bzmgCroAtS/XTKLLhq9XAR8bayVpO8tO86083xNCOcrBhtPyzL54geY/C01ZWl?= =?us-ascii?q?z5hsGpecsKLnmgO1PcGkmELruGJSfRzMHpeq68UqdfjOZJtx2qozmXCUvjPimF?= =?us-ascii?q?lzbzTRCjKP1MjCaYPB1ev4GxaBBtBnb/TNj+cB20LMd3jSEqwb0znn7FLm8cMT?= =?us-ascii?q?d7c0NLtbCf8D1Xje5+G2Nb6HppN+6EmzyW7+PAMJYZreNrAjhol+Jd+Hk10bRV?= =?us-ascii?q?4ztaRPNrgybSqcZurE+gkumK0DVnUR5OpS1MhIOEp0liPr/Z9pZYU3be4B0N9X?= =?us-ascii?q?mQCwgNp9Z9Ft3vvKVQxsLVlKL0KTZN7dTU8tAGB8jTNs2HM2EsPgbuGD7REAQK?= =?us-ascii?q?VyWrNX3Fi0xbjv6S6mWfroImpZj0hJoOVrhbWUQ1FvMGCkRlG9kCL41sXj4/lL?= =?us-ascii?q?6bjdII5WCgoxXLQ8VapJ/HXOqIAfrzMDaZkaVEZxwQzLP+M4scLIn71ldhall9?= =?us-ascii?q?h4TKB1DfXdZWoi1ibw84ukNN/2ZiTmcrwULqdhut4GMPFf6zhhM2kBVxYf8z+z?= =?us-ascii?q?j2+Vc4OlrKqTArn0kwg9XqnDeRcDDpLKeqQ45XCzD4t04vPZPnWwx1dxG9nVR4?= =?us-ascii?q?NDfYQLJcl6Zvenp1iA/dpJRPAuVRQrdeYB8KwvGWae4o3kpApSW6309H5PfFCJ?= =?us-ascii?q?t4mAssb5Gss2pK2xh/Y94tOazQOK1Jw0BehqKUoCCny/sxzxUYJ0YR92OSYzUF?= =?us-ascii?q?t1YUObkjPSao+fZs6QOakTtZZGcMT+Yqou5t9k4lP+SAyDjg3KBFKkGwMOySNK?= =?us-ascii?q?yZu27dlcKSRVMwzEwInVFf/bdqyccjb1aUV0c3wbuKCRsJMcvCKQdIb8td73Xc?= =?us-ascii?q?YSGOseDRzp1vJIW9CvrkTemQu6YImkikBhomH5wQ7sQdGZmhyFzXItviLL4Czx?= =?us-ascii?q?Ut+BnnKU6bDPtXYhKLkTYGo8a5zJNt24lSOC0dC31nMSqr/rbXuhMqgP2bUdc1?= =?us-ascii?q?eHcbXpELNnQqWM26gCNZsHNADCGr3e4DzgiN8SP8rDzKDDbgd9pjeOuUZRR0Bd?= =?us-ascii?q?Gq+DU/9q+2iULX8pTePGz1KNViu9/V5uwBvZqHDe1bTaVluUfGh4ZYX2CqU3LI?= =?us-ascii?q?EdOtKJjwcZMjbdroCnuhU1y/jDw0T8HtPNatMKeIgAfoRZpKv4mBxjwjM9GyFi?= =?us-ascii?q?0GERdqu+4D/L58ZREEY5cjexHoswU+OLChLwiA19WvQ2CtKTxQT/ZF1ui1fL1X?= =?us-ascii?q?wDAqbuOjxnsgU4s2z++p/k4RXJsKlA3Rxe6/Z4lCVij+AmdSdBvJpScijWduK/?= =?us-ascii?q?gyzfklwBPTq1YcKTCKePZuaGxesNE2HUmSLmluCmokW1+cipLO4hSq37AT4yRd?= =?us-ascii?q?n9FU0elesHbmp5HRfSiiVbCsp5jOryUgat0mrLFrPoz4PsuKrpXekSLDTJPIqA?= =?us-ascii?q?2KTDa6F+ZGmthXOC9XXPtIlns5NsEdpYVB7k4xVsM/J7NREqksuq6lZiZkDSII?= =?us-ascii?q?yi8ZTYyA1iQYguigw7vaiguQcJM6PRweqppCmNwdXDVtbyMCvq+sTZvWmHGASm?= =?us-ascii?q?gKJgcT4gBM5AMPlo9wYuDl7pDHTIVJyzJMpfJ7TDfLHIFy91TnUmGWnUT4SPK5?= =?us-ascii?q?nu2pxw1S1+jj0twaWB55EkVdxvpWmVEzKL5rMaYcpIjKvSGUdUnipmLi1POmJE?= =?us-ascii?q?VNyc3Tb1D5ApDJunb8Ui0d/H0URJVAyHLEGJQTjQV2drgkqE9LIIC8dUb0/yYk?= =?us-ascii?q?yJhxH7mkScCrwE4orW4BRyeuCdVBEe9nsFXTWD1reJ2rrZLlO5JJQmBO5JKdsV?= =?us-ascii?q?BZkF52My64z5pcJNtB4jkWXDhAuT+dpse9SNVf2c9qCJ8BOs1wu23gGKNCIpSR?= =?us-ascii?q?oGY7ur3uyn/Y5zAzq022xDOtFK+kV+hZ5XERGh01J2SCrUkiF/cs8mDX8l3Wrl?= =?us-ascii?q?B44+JbCaOVgUV3vjl9AohEBixV2nC9M1RzUH5Gvv1aKKvPacxTWf0yagK0NhMj?= =?us-ascii?q?C/Emx1SJ8l9wnXjneSx+rAxa+zrSXwMsTykanq/tmSECqsGgITIaS5VIYisvby?= =?us-ascii?q?jbMQKWgiFXswhBZE50QZwZBcxF+74D14tO4sXCUVqsKT0CXBF6NAI41uRQmFVe?= =?us-ascii?q?v0qGYiDSExCoderRvRJqZ8uRqtCmLOjh9gddloznqPw497kER3C+ggKtT8zRo5?= =?us-ascii?q?P+u9GXuEaDb7v3M+q5YXDdVjfMlgywia0iD5bU4yjZKBBbJIViyXo4fZjhDnbG?= =?us-ascii?q?PQ5YKK0GJ0pUT7x6ZM5CouBdec9rZrgF9rNqBh2aWBzjAoqvo+daLlzLXzTRMz?= =?us-ascii?q?2B8vCjoYLU9bHdUfPgZtCWyHnaX6J6JYx66T7mG7fwzYBR5Ez22ut39kxgTVjK?= =?us-ascii?q?KSeBrM7uJgkT/smtalPivoE1HTPRGJpwjGDtyV9eeMUKWCCq7ZAYyI9D6HnqV+?= =?us-ascii?q?J400/zsOlM+Ll484U35KppycisL6fINftaqVNnAgSTBghy85UiGmx/R2RPbe8N?= =?us-ascii?q?NPfeZ74WgNvoq+/pC6wX8wGa9PZBadTZPU3BnNewCi2EQxxegAgBsSIaLheb1/?= =?us-ascii?q?Odma97U9ylpe/i2kIp+Ve+MAULzLVw5YeA5qqIpfPYbxrLwrgCQajmXMTzrq4j?= =?us-ascii?q?u0mK//0riKYOenBpYw2gCOUdVNQSxmHuzaAwyiIjDt3MEqn8+PFZUXI5hTXgl4?= =?us-ascii?q?p7H1oIBvMeBaCL8phGnmckh+zZMcUbcq9fmmaOER6kFqENyXuw5iSKPmZqmRDO?= =?us-ascii?q?3Av2QW+p61/2tyB4SzPWz9j/ikpVSqW3BUBKUiqvPU91qzKPPAzttNbtuKQ16k?= =?us-ascii?q?82Mnb+u9KWiGuhIq5XENHjJNyBOyk7ukgbjJorRtygwYobA8ayIM8N8HFiafvT?= =?us-ascii?q?82arkyhHo6dbiIrR/NqY+vDWHXa6ia2VtamNxT5fyngivlE/8cqsNvfQ6N2WW/?= =?us-ascii?q?6ozXoeTz9juwvdWB64srjbr0sROUGLy0rLlpIFMcxe3XkizE7m/PIjQNUx9ApA?= =?us-ascii?q?ConAe+kOpTfpODv72Vyfec44VjGC0ztLGVL4CVx4GKwi12L1u8LGi3PQ9kYnRo?= =?us-ascii?q?ZucEznngR3AJ8kKUIs8lcXxisDEQ4RaR+FCLGoAUXlLYQaWkgFdRuIwqK2eqEp?= =?us-ascii?q?0k1v2rmv/vPcbfRgB6oRMfZQlhWOk0JFGp0Mvq0RXql8dkRG9KHNuAjtEYfnUO?= =?us-ascii?q?b9lXYqM/26XNxa+9gDt3Q++ga/Wwag6ZBb4rYZiZCIc7VJYZ3Ss8F88Uhn/z8P?= =?us-ascii?q?dipCgBRliRO2T/wcrvj54tfHqJqo9vquVKE1SuUW9hk7HX5xgIfrjVA4v97Xy/?= =?us-ascii?q?lTRZHPhYT46gBNLGaAuJzG3BlkNeoON4Wrca57+HUGPCgfKWgBPdiXa/kg+y9i?= =?us-ascii?q?KijT51hZD8wQYtMXIdTClhpJik3zX7FT7NDUFkWfC4dpeMAi93D3xywt8ZsgTu?= =?us-ascii?q?bg7ye7JYjF4FFRI/xDjCttlNXYpOgW2PbSEzYY4X2Yaxhz3yODxIKAC+7q8uWQ?= =?us-ascii?q?1N7UV10HHiksU4dePjaC+hKoRvCzlJr3VgOY8MjzgIgxdEiIXHy+gLwFsrpQEe?= =?us-ascii?q?5Hkij7wiJeGZ7xh/2Ptdqj9nBauUBGEIZ87B3FBL9QPo5hNhTii8mnXE58CTXj?= =?us-ascii?q?eMvMbBohpPKWxvsQ4+V5L0b+apUUIggaxLLm6XpYVQ9uSL/qvlmHXeIefsZmSO?= =?us-ascii?q?jeonBT941gN7cFPEKBq5zysjdItFc2DRcmaLAuqDxaak7OnApSV6bvprEAjgoc?= =?us-ascii?q?UdhkuU5DAm+wPHwx5yDHVKtPlqWRDuIa8imLRKwUT0poKj9+Qw+y2Jh2fbupnO?= =?us-ascii?q?xIsmRCnixnu/gmyT1mRBy7uS33vKIAwjcg9b63tTkbvnxFVOqemT/SCVpf1PQK?= =?us-ascii?q?kbscC3H65FyzfHYDd5Dy7KB6K8rv84ch4nI/YQgsfiAdUuSgDjv/j6WWDYCVt9?= =?us-ascii?q?JcnhGNst3UbbCvNSgSKqg9yRX7Snh/1QjenBBo/HEXTTWg6N8kOZiyOMckxiqu?= =?us-ascii?q?Amjbd1cM77hXsMvwq14EVu82Zk5gwGl51MiIWDENTtTVG2kplggkdXlEcJVb5B?= =?us-ascii?q?8bCaknmDCIs7JC/gEJfTjUE4Ol+pLKkcfPw3k9Qs9gxnjKqa2dmpMqzHpllst2?= =?us-ascii?q?7iGQtnQSeejYXtRiA3fp0IdQ1/D+a++rsu8ZVIts0K6hX+MaMsm/5Wu2341nWk?= =?us-ascii?q?ChxrQZEVu2LusDxrPAXie+Tm2YX+WLfHSWkzY/LEHy+QGiLkcrZ8dSs089LuzC?= =?us-ascii?q?i4Zelw3hUbJ0XiKQpVvazGw/L+wXbAc2uIa7ewwQUuEdfe+cJfIhwPcmElsDc2?= =?us-ascii?q?fJHTdqC++xqVOtgIl7O3B77EXmYOTi7gPmP8WWGhUeF47VsIJx8+SgRm2dIX9g?= =?us-ascii?q?0AFyPE5s+ufaFlQxtexcc5GKkNjSndt70ukFd/FzPi07oNITnJxs6ZWM2seQbR?= =?us-ascii?q?7R1oryJc3SovWAGPLQ0UIqen1BX7oCZQP14Jk6PsInW7LNALRVpxMcBbI1QJY5?= =?us-ascii?q?LWf+6Ll0LB9vcg7WfLm0jNflpuaKZptMuXDb9VMxLCbZux0G1PO0Vwh7YI6wi3?= =?us-ascii?q?X1OpAwSSpLr8dxBRt+AItPB8QAohKpAp6MgqG7isO+9F1htu8PsKrwFurK28qj?= =?us-ascii?q?04V2RZha6lSBPCzNC6lznkRlkuOyj+/H0pn1F8zvYssEVOxhTW7edr/GH5mwKi?= =?us-ascii?q?6UOs3iZUFK6bic36xlUh+JfiD2Q7KGtDG4NPVj+Ug7zo14fOzOzD0i9r3b3Nry?= =?us-ascii?q?Z3pHpie4tnOJNYFQ7FrNBeDEWBJUU/WF+n5/HaILdYv06PsOMds6zdiH/QZz6D?= =?us-ascii?q?VC0M2YI6muqUPC1V57dZLFI0vzxSk5QZMFLQ+8MUQym2/ZrGrSAXBHIci5Jslh?= =?us-ascii?q?mtGVDgbi50Npg2EienZBGnb0RdeWIWUb38O+ZBaW9A9QDtcDhui3dlQiuq20V+?= =?us-ascii?q?ZoJo1Pmf+2u7UfjdZpNybPSdBfPy7KMLB2PjtRDuPIpFUzfB4Esr41VZkxZZiP?= =?us-ascii?q?JkMHLUiBxTn1zQvY3k3+b8as27qRICYK7nVHyKrI0TpWqAm6vvaWmdbuUK3fbJ?= =?us-ascii?q?HqXP7SNzclVj6aRTQuC0qp/0mru+YctvqCPWgfukwUYj6VCAMLva9gtt/cDmvS?= =?us-ascii?q?me14YJ0Kn+qWWzvuRyJkjqYyHThEtUSNQ/oFCAnXYGTsj3ZcuQy4O/9M5mjpbr?= =?us-ascii?q?OCyapJQOwWBY1MfueeQ9vCdvBUPy0omSkBOOagY93cqK400l3SQmQCCanI9UOR?= =?us-ascii?q?TEqNT/yCwzLkR54Vv4kpuiYy/NLfgDN3GbzSP7mDvz6u7pK4jCGAtO3cU2ktZF?= =?us-ascii?q?Y1gPgDAGma2xRALnsLC9QLt0HsWKKAYFxM1H0xg+J0xxAMYBhzUmFp0nBOgvm9?= =?us-ascii?q?GMpZSV4SjGO1R/0Gakt6DDwq/U+X/A39f8YAtdrVR2BA6rsGUZAdI+Uw6InLJK?= =?us-ascii?q?sQx+4k3ClooCw/ryqQDlBQgxmb86XOBqJ8x7xD5W4+//1sWEGAXS/feHDdyoW6?= =?us-ascii?q?E8JP2TtuoXf82srWueBtMr9aqpp8AFgUHC12KNfd/SpdXm7qwgeyuQi0HCjNaA?= =?us-ascii?q?4etS0GIS0Da/Zd0/5wsBGOcM3Ir0yXqfEPskyuXCCKAb2w0YcDK8buzh7wPS9K?= =?us-ascii?q?ejKvHoswq/FKj806ZP83I4+kDAaSfUDFEguEtnVUp1DRqbOxAJ8Pmz0T?= X-IPAS-Result: =?us-ascii?q?A2F7BQCSEzZY/wHyM5BeHQEFAQsBGAEFAQsBgw0BAQEBAR+?= =?us-ascii?q?BWqUAAZZHKYgjUwEBAQEBAQEBAgECXyiCMxqCHAIEAQIkExQgDgMJAQEXKQgIA?= =?us-ascii?q?wEtFREOCwUYBIhMBAGwNz0qAoNoh3iGPoh2CwYBaIUVAQSaT4F2jn6KKoYTkXZ?= =?us-ascii?q?VXhc9gzEcgV5xhgkOF4IXAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 23 Nov 2016 22:14:44 +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 uANMEhU5025859; Wed, 23 Nov 2016 17:14:43 -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 uANMDhL1049157 for ; Wed, 23 Nov 2016 17:13: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 uANMDbNk025594 for ; Wed, 23 Nov 2016 17:13:42 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DmAAAUFDZYhyIeaIFeHAEBBAEBCgEBgzgBAQEBAYF5pQABkj6ELYgoUwECAQEBAQECEwEBAQoLCQkdhRkGJ2JRVxmIbQQBsDg9hBSHeIY+iQFvhRUFmk+Bdo5+kD2RdoFKgxwMRhyBXnGGCYI8AQEB X-IPAS-Result: A1DmAAAUFDZYhyIeaIFeHAEBBAEBCgEBgzgBAQEBAYF5pQABkj6ELYgoUwECAQEBAQECEwEBAQoLCQkdhRkGJ2JRVxmIbQQBsDg9hBSHeIY+iQFvhRUFmk+Bdo5+kD2RdoFKgxwMRhyBXnGGCYI8AQEB X-IronPort-AV: E=Sophos;i="5.31,540,1473134400"; d="scan'208";a="5841784" 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; 23 Nov 2016 17:13:42 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AqILKqRAyz/ZV10cQpbDDUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPvypMbcNUDSrc9gkEXOFd2CrakV0KyM7Ou5BDdIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZb1/IA+ooQjTucUanItvJ6gswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wKMSMy/mPKhcxqlK9VoAyvqQFxzYDXZ4+aNvR+c7jBcd8GX2dNQtxcWzBdDo66?= =?us-ascii?q?coABD/ABPeFdr4Tlv1UOrAexBQ6oBOz10T9Dm3z43ao90+Q6CgHNwQstH9QPsH?= =?us-ascii?q?vIq9X1ML0dUfuvwKnJyjXDaOhW2Szm5YjNfR0gruuAXbVqccre0EQiER7OgFaI?= =?us-ascii?q?qYH9Ij+ZyOAAv3KG4+Z8Wu+jkWAqpx1rrjWhycogkorEip8Pxl3F9Ch12ps5Kc?= =?us-ascii?q?OkREJhf9KoDJlduieHPIVsWMwiWXtnuCMix70Gp5G7eC8KxYwixx/QdvCLaZCI?= =?us-ascii?q?4hXnVOeRPTd3mm5qeLK5hxaz6Eig1/PzWtOz0FZQoSpJitjMtnYT2BzP8sWLV+?= =?us-ascii?q?Vx80O71TqSywze5ftILE4omabBJZMszaY8lp8JvkTCGi/2ll/2jKiTdkg85+am?= =?us-ascii?q?9/npbqn+q5GHOI97igPxP7wvlcK8Gek4NwcDXmeB9eS7zr3j8lX0QLNLjvIqla?= =?us-ascii?q?nZtIrVJd8Bqq64BA9V1Z0j6w2kAji919QYgH8HI05bdxKclYTpPl7DIf/iAfe4?= =?us-ascii?q?mVSsny9nx+raMb35HpXNMn/Dna/6fblj705cyQwzzc1Q5p9PFrEAIO78Wk/2tN?= =?us-ascii?q?DCCB85KBa7z/zoCNV6yINNEV6IV7SUNKLUrE+g+vMkI+7KYpQc/jn6NasL/fnr?= =?us-ascii?q?2Fk4klgZdLLh/JwQc2vwSvJnKEKdaGGqg9AGCnwiu1YuCuvwhwvRAnZoe3+uUv?= =?us-ascii?q?dktXkAA4W8ANKbSw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GSAQCSEzZYhyIeaIFeHQEFAQsBGAEFA?= =?us-ascii?q?QsBgw0BAQEBAYF5pQABkj6ELYgoUwEBAQEBAQEBAgECEAEBAQoLCQkdMIIzGII?= =?us-ascii?q?eBidiUVcZiG0EAbA3PYQUh3iGPokBb4UVBZpPgXaOfpA9kXaBSoMcDEYcgV5xh?= =?us-ascii?q?gmCPAEBAQ?= X-IPAS-Result: =?us-ascii?q?A0GSAQCSEzZYhyIeaIFeHQEFAQsBGAEFAQsBgw0BAQEBAYF?= =?us-ascii?q?5pQABkj6ELYgoUwEBAQEBAQEBAgECEAEBAQoLCQkdMIIzGIIeBidiUVcZiG0EA?= =?us-ascii?q?bA3PYQUh3iGPokBb4UVBZpPgXaOfpA9kXaBSoMcDEYcgV5xhgmCPAEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,540,1473120000"; d="scan'208";a="1271366" Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Nov 2016 22:13:41 +0000 Received: from localhost.localdomain (81-66-120-207.rev.numericable.fr [81.66.120.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 1554B564A0D for ; Wed, 23 Nov 2016 23:07:37 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 3/5] libsepol: ebitmap: reject loading bitmaps with incorrect high bit Date: Wed, 23 Nov 2016 23:06:44 +0100 Message-Id: <20161123220646.23504-3-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161123220646.23504-1-nicolas.iooss@m4x.org> References: <20161123220646.23504-1-nicolas.iooss@m4x.org> X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Wed Nov 23 23:07:37 2016 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org 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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Currently ebitmap_load() accepts loading a bitmap with highbit=192 and one node {startbit=0, map=0x2}. When iterating over the bitmap, ebitmap_for_each_bit() is expected to only yield "1" but it gives the following bits: 1, 65, 129. This is due to two facts in ebitmap_for_each_bit() implementation: * ebitmap_next() stays on the first (and only) node of the bitmap instead of stopping the iteration. * the end condition of the for loop consists in comparing the bit with ebitmap_length() (ie. the bitmap highbit), which is above the limit of the last node here. These are not bugs when the bitmap highbit is equals to l->startbit+MAPSIZE, where l is the last node (this is how ebitmap_set_bit() sets it). So a simple fix consists in making ebitmap_load() reject bitmaps which are loaded with an invalid highbit value. This issue has been found while fuzzing semodule_package with the American Fuzzy Lop. Signed-off-by: Nicolas Iooss --- libsepol/src/ebitmap.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libsepol/src/ebitmap.c b/libsepol/src/ebitmap.c index fe8beb879a18..218adc293aae 100644 --- a/libsepol/src/ebitmap.c +++ b/libsepol/src/ebitmap.c @@ -453,6 +453,12 @@ int ebitmap_read(ebitmap_t * e, void *fp) l = n; } + if (count && l->startbit + MAPSIZE != e->highbit) { + printf + ("security: ebitmap: hight bit %u has not the expected value %zu\n", + e->highbit, l->startbit + MAPSIZE); + goto bad; + } ok: rc = 0;