From patchwork Sat Jan 21 14:26:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9530265 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 E2DA6600CA for ; Sat, 21 Jan 2017 14:27:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D2A36284FC for ; Sat, 21 Jan 2017 14:27:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C56EA28517; Sat, 21 Jan 2017 14:27:31 +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]) (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 1962C284FC for ; Sat, 21 Jan 2017 14:27:30 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,264,1477958400"; d="scan'208";a="3038050" IronPort-PHdr: =?us-ascii?q?9a23=3AdGv0yBbocIYPdWynC9bo2qv/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZoc69YB7h7PlgxGXEQZ/co6odzbGH7+a8BCdevd6oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52Ixi6twrcu8kZjYZjJas61wfErGZPd+?= =?us-ascii?q?lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLe?= =?us-ascii?q?TQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgz?= =?us-ascii?q?oJOD4j9GHcl9J+gqRVrhm8oxBz2pPYbJ2QOPd4Y6jTf84VRXBZU8hRSSJPH42y?= =?us-ascii?q?YYgIAeUDM+ZYt4vwq0YAoBSxGQaiC/3gyiRTi3/q36A3yfgtHBva0AA+Gd8FrX?= =?us-ascii?q?TarM/yNKcXSe271KjIwinEb/NSwzj985XDfBMmofGLRrJwatfaxE4pFwPEklqQ?= =?us-ascii?q?rojlMCmO1ugXsmib6O1gVfm0i2M8rgF8rTeuyt0rionTiYIY01bJ/jh6zoYtPd?= =?us-ascii?q?C0VUF2bNG+HJZQqi2WLZV6T8w8T21ypSo20r4LtYOhcCULyZkr3QPTZ+Kbf4SS?= =?us-ascii?q?/B7vSOScLDFlj3x/Yr2/nQy98U24x+35Ucm7zUhFozJektnJqnANzxvT6tWbSv?= =?us-ascii?q?dl/keuxzKP1wfL5+FYO080j6vbK4M6wrIqipoSsVjMHi/xmEnsiq+Zal4k9fSy?= =?us-ascii?q?5+TiY7XmooeQN45yig7gLqQjgtGzDOs3PwQUX2WX5P6w2KPs8EHnWrlGk+U6kq?= =?us-ascii?q?zDv5DbIcQbqLS5AwhQ0os78BawETOm0NUenXkaI1NJYQmIj4/0O1HIPP/3E+y/?= =?us-ascii?q?jk+wkDZr2//GPrrhDo/LLnjYirjtZ7l960lCyAYr19BQ+4pUCq0dIPL0QkLxtt?= =?us-ascii?q?vYDhkjPAyow+boEtN925gcWWKIBK+ZNbndsUSU5u0xOemMf5UZuDHnK/gq//Tu?= =?us-ascii?q?l2M2mUcBfam12psacHK4HvZ8LEqFYnrsmdABEWELvgogV+HqhlmCUSNcZnmpQq?= =?us-ascii?q?I84C07CJ+8AYfEXICtj6SL3D2nEZ1OemBGFleMHG/wd4qaQPgDdiSSIs59kjwD?= =?us-ascii?q?TrWhSpEu2g+wuwPgzLpnNOXU8DUCtZ3/zNh1+/HTlRYq+DNpCMSd1WeNQHxqkW?= =?us-ascii?q?MMRj87x7pwrlJnyleEy6R4hOZYFdNL7fNTTgg6LYLcz/B9C93qRw3BYs2GSEy9?= =?us-ascii?q?T9q6BjExS84+zMUVY0ZhAdmiiA7M3zayCb8Pi7OLHIA08r7b33XpJsZ9zWrG27?= =?us-ascii?q?clj1Y4R8tAK3GmhrR/9gXIAI7Ji1uWl6CvdasG3S7N8HyMzW2BvU1CVw5wS6rF?= =?us-ascii?q?V2gFZkTKtdT5+l/CT7i2BLUnMwpBzsiCJ7BPat3tlFlGRfHjNM7YY22rgWewBh?= =?us-ascii?q?eIxq2SY4bwfWUSwjndAlAekw8P5XaGKRQ+BiC5rm3AFDxhD0jvY0L38eRlsHO0?= =?us-ascii?q?VFU0zwCRb01507q64AIaiuKGR/MUxLIEtz8rqy9oE1alw9LWF92AqhJvfaVdZd?= =?us-ascii?q?M95UlI1XjCugxzIJOvMqdihkQEfARvpUPu0Bd3BZtcnsg2tn8qyxByKa2A2lNb?= =?us-ascii?q?azyYxYzwOqHQKmTq8hCvcbTZ2lfC39aX4acC8/E4q03ivA2wDUoj/W5n38NS03?= =?us-ascii?q?uG6ZXAFBASXo7pUkYr6xh6oKnXYion6IPX0n1sLLK5sjzY1NIqA+sl1wysf9BF?= =?us-ascii?q?MKOLDAXyCdEVB9CyKOw2nFikdggLM/1I9K41IcymbeCL17S3M+Zlhj6min5H4I?= =?us-ascii?q?9l2EKW6yV8UvLI34oCw/yAwgSITTP8g0m6ssDrmYFEYiofHnGjxijlGoFRYLFy?= =?us-ascii?q?fYcRBmu0Jc242Ml+jYb3W3FE7F6jG08G2MixdBqScVP92QlQ1UMMrHyjhCu40z?= =?us-ascii?q?t0kzQzoaaF2yzO2evifgIdOmFXXGlikUvsIY+sgtABUkiodQ8plAC55Uvh3Khb?= =?us-ascii?q?oqN/LmfWQUhSeSj6NWdiXbWstrCaec5A9IsosTlLUOS7eV2bRKTyox8G0yz9BW?= =?us-ascii?q?te3ys2dy+0tZXjhBN6lWedIGx0rHrDdsF63Q3f68DERf5NwjoGQzF1iSXKCVeh?= =?us-ascii?q?Ptmm59GUmozfveC5UmKuSodccTL3zY+asiu0+3FqCwWln/+vgt3nDRQ60Sjj2t?= =?us-ascii?q?lsVCXIqBL8bZfw16mhK+1oYFNoBFjm58p9AIF+nZM6hIsM1ngCmpWV4X0HnH/t?= =?us-ascii?q?MdVaxa3+cH0NRSQRz9HJ4Ajl30tjLn2SyoL9V3WdxNFuZ8O9Ym8M3SI99c9KAr?= =?us-ascii?q?+O7LNYhSt1vka4rQXJbPh5nzcd0ucu5GcBg+4XvAotzyOdAq0dHERDJizsjxWI?= =?us-ascii?q?79a/rKpLf2aja76w21Rindq5FrGNvhlcWGrlepclBSJw9MJ/MFbI0HLt8IHrZN?= =?us-ascii?q?7QbNwIux2PjhfPk/NVJIg2lvoQiiptIXj9smE9y+4nkRxu2om3vJCdJGVw+KK1?= =?us-ascii?q?GARXOifuaMMU/jHtkaFensCN0oCqAplhHDILU4fyQfKuDj0SqeztNxySHz0ktn?= =?us-ascii?q?ebBb3fEBec6Eh4qXLPCIumN3KJK3kf1tViQgeSJFBFjAATRjU6kYYzFhq2y8z5?= =?us-ascii?q?bEd5+jcR60bgqhRW1+JoMwfwUn/Fqweudjc7VoKfIQFL7gFZ+UjVK9ee4vhoHy?= =?us-ascii?q?Ff452hthCCJXKVZwRPF2EJVVKLC0rlPraw+dnK6/KYCfamL/vSfbWOrvRTV+mO?= =?us-ascii?q?xZ2yyYZm4TCMOdiPPnV4Cf00xFZDV2hjG8vFgzUPVzAXlyXVYs6Dvhi85yl3o9?= =?us-ascii?q?uj//TqRALu5ZKDC7VIPtVp4Ry2hr2DN+GIjiZjNTlYzo8MxWPPyLUH314TiyVu?= =?us-ascii?q?eCe2HLQFsi7NQqzQlbFLDx4HayNzM85I4Lwm0glLJ8Hblsv/1qRkgf4tF1dFSV?= =?us-ascii?q?vhl9mnZcMQJWG9KFTHBEOQObSIOzLE3sb3YbmmRr1IluVUsB+wtiiHHE//JDiD?= =?us-ascii?q?kCPpVx+3O+FWkC6bJABeuJ26cht1FGfjSsjpZwamP99xlzI627o0hmnFNWQEKz?= =?us-ascii?q?hzb1tNrqGM7SNfmvh/AXFO4Wd+IOmLniaY4PPUKpAIvvt3Gi50jf5V4Gwmy7tJ?= =?us-ascii?q?6yFJXOZ1lDHcr9J0plGpiO2Pyj1nURdVsDlEmIeLsV9lOaXD+ZlKQWzE8w4V7W?= =?us-ascii?q?WMFxQKoMNoCtv1u69K0tjPjLn+KDlD89LO5sscG8bUKMOBMHU7NxrmBD/UAxEB?= =?us-ascii?q?TTKxMmHfnUNdmumI9nKJtpg6toTsmJ0WR7BAT1M5EfcaCkV+HNweO5d7RCgknq?= =?us-ascii?q?CHg8IS/nqxsh3RRMRcvpDaWfOfGungKTaDjblZfBsE2735Ip4PNo3g3ExibEN2?= =?us-ascii?q?nIPQG0rfRdpNuDFubhcooEVR93hzVnY820PqagOq5n8eDuO7kQAthQt/e+st8i?= =?us-ascii?q?3g41AtJlrFvCEwilU+mc35gTCNdz78NL2/XY5MBCrqqUc8KZT7Qx5rYg20mExr?= =?us-ascii?q?LjbER7ZKgLtnemFnkgjcuYFAGfREV61LfAcQxe2LZ/UvyVlctiKnxUpd6evfDp?= =?us-ascii?q?tjlRUlcZi3oHJa3AJsct01KLfMK6pOy1hfmriBvjS01uwrxg8ROVoN+nuIeCEU?= =?us-ascii?q?oEwIKqUmJy2w8+xq9wONgT9DdXMPV/otufJq6lkyO+KbzyLj0r5PMEaxOPKDL6?= =?us-ascii?q?mBoWjPidaIQk8s1kMPj0RF56Z50dw9fEWOTUAg0LuRGg8SOsrDMwFacs1S9HbL?= =?us-ascii?q?fSaUr+rMwYh5P4OjGeD0VeWOrrobglq4HAY1GIQB9tkOEYOy0EHZMMjnN6UIxg?= =?us-ascii?q?835ATxI1WEAu9JdwyXnzcaucG/zYN33IlHKjEbH2p9LT295qzLqQ8ynPqDQNA2?= =?us-ascii?q?b28HUYsfKH05QsK6mzRDsHReFzS3yfgWyAuf7z/mvCvcFj38b8dlZPiOfxNgEc?= =?us-ascii?q?22+TI886m2jl7b6JPeKH/mNd56oN/A9fsap4qbC/NTVbR9vV3clJdFSHyxSWHP?= =?us-ascii?q?F8K1J5/ra4Q3d9P7FnO6Xka4izIvQMf7JMytIbSQgQH0WYZUt5GW3DQkNc+nCD?= =?us-ascii?q?4eHRZxp+YY6aJzYw0DfoA3YRnytwQxL6a/OhuX0s2yQ2axLjtbV+Jfwvu+Z7xW?= =?us-ascii?q?ySosc+C7xWA8QZE9yum47VQCRIoWjh3Ew/aseZVeWzDpGnNBYwXPuTY5l295O+?= =?us-ascii?q?kv3ug/xRTIsV8AMzyWb+FpdnJLv8s9BVKTJnV2DHA0R1mCgorf+gSsxawd/zNB?= =?us-ascii?q?n9ZI1u1IqHv+voXfYT22XqyrtZXVvjEvbdghu61+LZbvIs2Yu5PChjbfVoXfsh?= =?us-ascii?q?WZUC6mEPpXgsRQICNdQPlPhWElOcwHtJFc5kowVsYxPadABLMqpr+0dTpuFTQS?= =?us-ascii?q?wjMBV4OcwDwChf+x27TAlhiKdpQiLAcJsJRFgtoTVS52fiMeq7GiV4XQi2+LVH?= =?us-ascii?q?ILLB0V7QtS+AIKjpVwcfz94IrUUJ9MzCZbrOhwUivKCpZn6UP0SmSWgFj+T/Wh?= =?us-ascii?q?lfam0BlJw/LtyNYbXgdzCUZAx+pMkEsnNq13IbEKvoHWqj+IaV/6vGX1xeS9Ol?= =?us-ascii?q?ZRz9bZeEflA4rbq2X8SDYc9mcORY5P0n3fEo4SkwVhYqYxuFpMOJymelr55zE8?= =?us-ascii?q?3YRpGbi4Wtyrx1YiqXYGXD+kHcNcBe98rF/ZXyZobIysqJXgJ5pdWHRQ+IGHp1?= =?us-ascii?q?dfjkptLzazyYBAJMFV/j4MQD9PrC2Bs9uwUsJMxdR7AIMLItd7v3f9Gb1LOIKN?= =?us-ascii?q?o3IoprPvymXV+zcmsFe13D+zAbO3T/pF/20CHQUkP36epVM1D+sr6Wjf6UzNsk?= =?us-ascii?q?pu8OdFGLePiURxoDByHpBKBzZJ2nClL0h9THZcqeVaLb7Zc8pCTPkufRWvIQAx?= =?us-ascii?q?FeY630yV+kF5hXn4bzZuuQta+iDdWgg0WjMWgrr2mD0RtN+oNiEAR5JPdzUhYD?= =?us-ascii?q?/PKxiHliBPoBZfd0ZqVogBAtZC/7EUx5FU/8TFSUaoJyEIRxliNgU/0fpEi0FM?= =?us-ascii?q?rF+YeSfGDQqzdPbPtBJ3cd2WrM6zI/Tz5B1HhZ//sOAk66UDQGWrlhe3QdDDqY?= =?us-ascii?q?/wrN6Ku1CPdKf5Mu28fWTOQCLKjR+umbcuF4PK8DTLMApHN5l6zmIpYYTmCW7O?= =?us-ascii?q?JhlGO74XJ09AWqxgb9VJvPxabdd+eKkV4a9tGg6HRhT3FYyvtvZGNEzcRTDDIC?= =?us-ascii?q?ia7+Owv5rT7aTDRujkeMOM3WzLQ6VtPpd18TP7Aavl0ZdC+krq3fdg7kF6SV/Y?= =?us-ascii?q?PC2asdvuOBgL69e4dkv+oJImACnaAJFun3rx3ktAbdYYQzW28JQEz5NU8G3/Se?= =?us-ascii?q?xk3UTvsuBe6rdp5JIr7LBuzMe7Ob3dKe9GsUN9BBibGBlq/I03AGdjX2BRfvMR?= =?us-ascii?q?KPDJcKQDk8/htuD3GLYL6BCO/+xZbsXHKF/flsajDTGTVAJLkB0HqTEEMguWz+?= =?us-ascii?q?SFlLNsSca5uej53Vog40ClLh4a1r9i+JuE97GTpO/QchvR16QLVbbsRsPvtLQj?= =?us-ascii?q?oUeS6ecjlL4UdWx/exenH/QFVs4B2mfgyrgnzT42E8zdAb3v5eVOV289njL8gZ?= =?us-ascii?q?ByBUsWGvITHbqP44tegn00m+vDNt0ZaqpCgHqAFQa4Er8ezn6m8y6XL3NhghHK?= =?us-ascii?q?zR7wXX+z40XsoiJjRyvD0cvjklFJWbatHUddQTClOUlmvzOTJADorsb4ubwp7E?= =?us-ascii?q?EqNWzprNCNm3G7OLNQBM3/IMaTITcvqVISkZ0xQsCv2YEHFtq8OtgR9mp+YuHZ?= =?us-ascii?q?62OxnC9Lu71HiJbG4sGJ5vXXGmGtj6+ApLWLyjBY0H84skwh5d27KvHB/duKQ+?= =?us-ascii?q?+v12oLSSdwpRfBVQavqrPHt1AUJVCL0EDTlYwFI9FZ3H041kX46+gmW9886RtR?= =?us-ascii?q?GZ3BZ/wYozD/Ijz0wUyQY9gvTCmRzyNXHk7pEVl/AKU83mbwsdnIlXfW/l0kXI?= =?us-ascii?q?hwd0rphRxtFYo4Ml4t6EIKwiUfDQgNdAqbA6+yCUTiN4sEWlAJaQ6b07iiZqc3?= =?us-ascii?q?wUpzz6uq5O/Ua+x8G6UNOehGgw6LnVhUAJQWvrMCQLNyfF9d7q3XphP4B4jhQf?= =?us-ascii?q?fmiWI6NeepTcBC7cAZq3wi7x67Rxq77JdO760WiJ6WeaFZZpjMptpz71995T4I?= =?us-ascii?q?dCxCngRwjw+jXeAbvuDj7cDRsIC05ea2SKYtW+IX+gAvB2tkkZv/ml8jrs/M1+?= =?us-ascii?q?pHUY3ak5r//xpCI3GUo4bWyR98JvQSK4izZrZv620HJzQCJ3IJJdeWafg84yp2?= =?us-ascii?q?PTXW+VNDAt0DZckZPMrLlgBYkEvpV69P9sDDAF+XF59zd9w072rw0D018Jo9Xf?= =?us-ascii?q?z65zCqPp3f9E9CP+9dgypwjt7Co/IVwfXKAigN/XaZcwR1wj+Fy5SVEPnw/P6M?= =?us-ascii?q?yd/OWFMEHy42T59dKyCf+QyjXee6iJLpXR6K5cDpnZI+bkWQRmark6gftaZMC+?= =?us-ascii?q?FAgD3h3jdCDoD1m+6Vs9205WtPrFJHDJp87R3LGaVYJJV7Og30ltK1SUh4Byv/?= =?us-ascii?q?ftzUdxU1teqO3OgM//lxN0vwZI8cOBIEyKj26XlLQQt0Tr75oFKZUfgWZNt8R/?= =?us-ascii?q?POtmpV5p54K68TIFido4TnritSqF8oBA8mcrkwoSJBe0bTnQ1VVKf0uKIahQsH?= =?us-ascii?q?S9F5o1JMFXi2OG0g+zrNTb5Vg7WJCPwJ7jWTSbQDU0pyPSNkXRy1xJVudqCtnf?= =?us-ascii?q?BGrmNJgCN9r+I30zx9Xhe8vzPjp74V0zI65L64rCkBuWBCTuiGnCfHF1NDzOgN?= =?us-ascii?q?jacbDHri8kKzYH0CbIv0/blmKt/t9Y0/7HQlYRQsZTcKXeK+BCHsl6mIGJCAsM?= =?us-ascii?q?pAhB6Rv8XDdbmzLSkOObQ6zRLsXWN93hLfnBZv92sLWS6g4cQhJIiyNscp3C2o?= =?us-ascii?q?GXLUdFwU+KNGrNPxtUIXTOsxcV5hz3ls0tOcRiEUWcLBFGA7jgkiaWVZf5NO8h?= =?us-ascii?q?AaF6wyjTaOoKZK5AYUYC3bEo694Infgd/I2WUhTddt3m/WpKqFhpMs0HF/h9x0?= =?us-ascii?q?7iqOuGkPeO3ZUs9sBGPz1oReyeHlefWts/4HR5FiyLu8Uf8OKM+j9nWq2J9yQE?= =?us-ascii?q?+q2qweH0alMO8E3rrbUjmlRneeWemQd2iMgis2Mk/15RmzNFE3b91Kr0AlOOvY?= =?us-ascii?q?mpFcjxHhUa9zRiiIp1/U0mIjMe0edw8ttoaoYQoKQ/ANZ+SGI+gh3uE+AkMWb3?= =?us-ascii?q?DVBSt2F/O2sVm1kYh0P3Vg5kv7bvrp8gDiK9aSAR4EEYjbrpFt4/C6QHyOOWN4?= =?us-ascii?q?xh1oIEZ07/vfF0g2tuJEcZaRndjRh8x80e4BdvdtLTMyt8UWmoJi9YmUytmFfQ?= =?us-ascii?q?vWzpboKtHfuuKYDOHHz0Q2ZmFaVaIUYR/054U/JdM5R7zTEqdavRsCAag2Wpoh?= =?us-ascii?q?OHnt9KtsNgN8bhbRZKiogsntvu+LY5pUp3zV7lI3NyrcuQcMyv+zTQx9cZ+qgW?= =?us-ascii?q?/+IJYuSTJdt9dtEAdpHJNTG8McqAqqG4Wbl7+9i9+t4E56oOsKsa3sCvDWytS2?= =?us-ascii?q?wZh+U4Jd5UyRMzbbHLNrjVh9juSunvfA1YH8Cc38dtMAVeh7WnDKZ6THH4W+Lz?= =?us-ascii?q?KOP9zze1RC87GCyr55VQ+RZC/hVaqcqCKkLOlk4Vk8yoFgcuvT1CYt77DH19Ts?= =?us-ascii?q?fGxboyajrWKTNJRB9lDKAvbeXx1MQ/qf7GllBbEXbZfz9OoWNtwixMaT7hJr7D?= =?us-ascii?q?RGysSFOLShrk7Q1UJnb5LUMlXm1zw/WYYUPBS1KVEsjnPBqnTBHXRcKdCpKc1s?= =?us-ascii?q?gNaTExzs6FB9mWUsZm5aBmroXsycOWkB1MK4Yw2G7gVLD8wMn+SvY043qrWySf?= =?us-ascii?q?V0OpVCgeiqr6sIkdJoKyHJWchbMCbcIrBqPjpREOrPvkYnYgYevLUuWYc6e4KO?= =?us-ascii?q?IEUZP0eE0izy0ATC3Vfzd9y226aDODwW/Wlfz7LZzThMoBG0ufODjcL/ULDZbZ?= =?us-ascii?q?f2XPnJPSo7VzGaQyo9EUKo+VeipvoFs+CUIWAFolAbeiiSEhIcprhzrdjMCW/e?= =?us-ascii?q?ge9jc4cJhPCdQC/9UzB4lKwuBiZLskCMXvUDFQnKb3P7hmpTphCiLOdW/X35d7?= =?us-ascii?q?2Y2rZVW+sOD4tDaPKWWMHYefFAKDcsjTgZJuK8cMfHr7Y4z1LEV20ZHLfU9FeG?= =?us-ascii?q?Vk6ZXuScxy73XYUSp4U0uC8o+tXKni9tEqTIJK2Spzi0/Y69kimYuPfSVm43Y0?= =?us-ascii?q?w6mOgCGnWOwAFcKGEYDNEYoFrtQqCFZ0lQ1X8kivlj2wESdwRpU31v03pWnPCn?= =?us-ascii?q?Fs1fV1EUkHukQOcaY1BvEDMw4UiK7xXwYdwHv8DTQ3RT9r4SRoUAIvko75PXN7?= =?us-ascii?q?cOz/oz2jJpvjA64G2hCAZGgwaE9bfANL5tzb1Fo28j9rd5WV/cbSnYdz3hy4Gh?= =?us-ascii?q?D8tUjQZppmv/n57Sv+tqMLJB4YB+B0wRKScqNpba5z8XAjK84xe7oxvuRGfWGz?= =?us-ascii?q?ke+jteYHVdew=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HXBABRb4NY/wHyM5BeHAEBBAEBCgEBFwEBBAEBCgEBgxI?= =?us-ascii?q?BAQEBAR+BaY5NqEcmiBpXAQEBAQEBAQECAQJgKIIzG4IcBgECJBMUIA4DCQEBF?= =?us-ascii?q?ykICAMBLRURDgsFGASIawQBsBo6JgKDaIZmhkuJCQIRAYYAAQSbS4F8j2GKVIY?= =?us-ascii?q?nknZYcyQTKkKEboFJcoZYDxeCFwEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 21 Jan 2017 14:27:29 +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 v0LERS9j012920; Sat, 21 Jan 2017 09:27:29 -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 v0LEQQqW083111 for ; Sat, 21 Jan 2017 09:26:26 -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 v0LEQOoh012692 for ; Sat, 21 Jan 2017 09:26:26 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1C4AgBvboNYZCIeaIFeHQEFAQsBgz0BAQEBAR8eAQGBSY5NpDKENogfVwECAQEBAQECBBwKCgodhRoGJ2JRVxmJDAQBsBo6hBCGZoZLiQl8hRgFm0uBfI9hkHuSdoFuEyqELAx4gUlyhliCPQEBAQ X-IPAS-Result: A1C4AgBvboNYZCIeaIFeHQEFAQsBgz0BAQEBAR8eAQGBSY5NpDKENogfVwECAQEBAQECBBwKCgodhRoGJ2JRVxmJDAQBsBo6hBCGZoZLiQl8hRgFm0uBfI9hkHuSdoFuEyqELAx4gUlyhliCPQEBAQ X-IronPort-AV: E=Sophos;i="5.33,264,1477972800"; d="scan'208";a="5915931" 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; 21 Jan 2017 09:26:26 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AJbVa3BY9lNY1faSDVIPLHmP/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZoMW6bnLW6fgltlLVR4KTs6sC0LuK9fy9EjJZqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLd9IRmsogjctsYajIp/Jq0s1hbHv3xEdv?= =?us-ascii?q?hMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTD?= =?us-ascii?q?QhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlS?= =?us-ascii?q?EKPCM7/m7KkMx9lKJVrgy8qRJxwIDaZ4OaNPRlc6/BYd8XX3ZNU9xNWyBdBI63?= =?us-ascii?q?cosBD/AGPeZdt4Tzv1oOoge5BQmoHuzv0SJDiHzx3a09yOQhChzN0QsmH9IPrH?= =?us-ascii?q?vUq9H1O70JUeyvzanIyjLDb+hN2Trm7YjFfR8greuLXbJqfsrc0E8iHB7GgFWI?= =?us-ascii?q?sYHpIi2Z2+AXv2SG8+ZtWvijhmA7pw1rrDWiyd8gh4rUio4Py13J9D91zJsrKd?= =?us-ascii?q?GkUkJ3f8KoHZlWuiqHLYV5WNkiTHttuCsiyr0Jp5q7fC8SxZQiyB/TduaLc5CP?= =?us-ascii?q?4hLnVOeRPSl3i25leLK5hhay6FWgxfPmWsmzylZKoTJJktjKtn8Tyxze8tWLRu?= =?us-ascii?q?V580u7xDqDyw/e5vtKLEwoj6bWJZEszqY1lpUJsETDGiH2mF/xjK+Tbkgq5/Sm?= =?us-ascii?q?5fn7brj+p5GTOYF5hBjmP6stlMKyGeE4PwcBXmSB/uS8zrLj8FX/QLVLkvI2la?= =?us-ascii?q?3Zv4rBJcgBp665BAhV0p046xukFDim18kYnX8bI11bYxKLlY3pNl7BIfziCve/?= =?us-ascii?q?mVusnC9xx//aJr3hHonNLn/bnbf6Y7l9709cyAwuzdFQ/J9UFrEAL+7zWk/2rt?= =?us-ascii?q?DYCAQ5PBauz+boD9V9yNBWZWXaGaKdMaXPoXeU9+kvJK+Kf4ZTtzHjeNY/4Pu7?= =?us-ascii?q?q34ynlsUZuGI2pwMczjsGPVtJEGQejzthdAaCk8P4hp4S/bl3g7RGQVPbmq/Cv?= =?us-ascii?q?pvrgowD5irWN/O?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GFCgA2boNYZCIeaIFeHQEFAQsBGAEFA?= =?us-ascii?q?QsBgxIBAQEBAR8eAQGBSY5NpDKENogfVwEBAQEBAQEBAgECARwKCgodMIIzGYI?= =?us-ascii?q?eBidiUVcZiQwEAbAaOoQQhmaGS4kJfIUYBZtLgXyPYZB7knaBbxMqhCwMeIFJc?= =?us-ascii?q?oZYgj0BAQE?= X-IPAS-Result: =?us-ascii?q?A0GFCgA2boNYZCIeaIFeHQEFAQsBGAEFAQsBgxIBAQEBAR8?= =?us-ascii?q?eAQGBSY5NpDKENogfVwEBAQEBAQEBAgECARwKCgodMIIzGYIeBidiUVcZiQwEA?= =?us-ascii?q?bAaOoQQhmaGS4kJfIUYBZtLgXyPYZB7knaBbxMqhCwMeIFJcoZYgj0BAQE?= X-IronPort-AV: E=Sophos;i="5.33,264,1477958400"; d="scan'208";a="3038036" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jan 2017 14:26:25 +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 319575647DE for ; Sat, 21 Jan 2017 15:26:24 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 4/4] checkpolicy: do not leak memory when a class is not found in an avrule Date: Sat, 21 Jan 2017 15:26:13 +0100 Message-Id: <20170121142613.12375-4-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170121142613.12375-1-nicolas.iooss@m4x.org> References: <20170121142613.12375-1-nicolas.iooss@m4x.org> X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sat Jan 21 15:26:24 2017 +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 While checkmodule tries to compile the following policy file and fails because class "process" is not found, it does not free some allocated memory: module ckpol_leaktest 1.0.0; require {type TYPE1;} allow TYPE1 self:process fork; clang memory sanitier output is: ================================================================= ==16050==ERROR: LeakSanitizer: detected memory leaks Direct leak of 136 byte(s) in 1 object(s) allocated from: #0 0x7f8bd8127608 in malloc (/usr/lib/clang/3.9.1/lib/linux/libclang_rt.asan-x86_64.so+0xf6608) #1 0x41a620 in define_te_avtab_helper /usr/src/selinux/checkpolicy/policy_define.c:2450:24 #2 0x41b6c8 in define_te_avtab /usr/src/selinux/checkpolicy/policy_define.c:2621:6 #3 0x40522b in yyparse /usr/src/selinux/checkpolicy/policy_parse.y:470:10 #4 0x411816 in read_source_policy /usr/src/selinux/checkpolicy/parse_util.c:64:6 #5 0x7f8bd7cb3290 in __libc_start_main (/usr/lib/libc.so.6+0x20290) Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x7f8bd8127608 in malloc (/usr/lib/clang/3.9.1/lib/linux/libclang_rt.asan-x86_64.so+0xf6608) #1 0x411c87 in insert_id /usr/src/selinux/checkpolicy/policy_define.c:120:18 Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x7f8bd8127608 in malloc (/usr/lib/clang/3.9.1/lib/linux/libclang_rt.asan-x86_64.so+0xf6608) #1 0x43133c in ebitmap_set_bit /usr/src/selinux/libsepol/src/ebitmap.c:321:27 Indirect leak of 18 byte(s) in 1 object(s) allocated from: #0 0x7f8bd80b5eb0 in __interceptor___strdup (/usr/lib/clang/3.9.1/lib/linux/libclang_rt.asan-x86_64.so+0x84eb0) #1 0x41a6e5 in define_te_avtab_helper /usr/src/selinux/checkpolicy/policy_define.c:2460:28 #2 0x41b6c8 in define_te_avtab /usr/src/selinux/checkpolicy/policy_define.c:2621:6 #3 0x40522b in yyparse /usr/src/selinux/checkpolicy/policy_parse.y:470:10 #4 0x411816 in read_source_policy /usr/src/selinux/checkpolicy/parse_util.c:64:6 #5 0x7f8bd7cb3290 in __libc_start_main (/usr/lib/libc.so.6+0x20290) SUMMARY: AddressSanitizer: 186 byte(s) leaked in 4 allocation(s). Signed-off-by: Nicolas Iooss --- checkpolicy/policy_define.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/checkpolicy/policy_define.c b/checkpolicy/policy_define.c index e2e384d4599b..dbafadb01e21 100644 --- a/checkpolicy/policy_define.c +++ b/checkpolicy/policy_define.c @@ -348,13 +348,14 @@ static int read_classes(ebitmap_t *e_classes) cladatum = hashtab_search(policydbp->p_classes.table, id); if (!cladatum) { yyerror2("unknown class %s", id); + free(id); return -1; } + free(id); if (ebitmap_set_bit(e_classes, cladatum->s.value - 1, TRUE)) { yyerror("Out of memory"); return -1; } - free(id); } return 0; } @@ -2552,6 +2553,10 @@ int define_te_avtab_helper(int which, avrule_t ** rule) *rule = avrule; out: + if (ret) { + avrule_destroy(avrule); + free(avrule); + } return ret; }