From patchwork Sat Jan 21 14:26:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9530263 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 8DCD5600CA for ; Sat, 21 Jan 2017 14:26:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 75AA5284FC for ; Sat, 21 Jan 2017 14:26:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5853D28517; Sat, 21 Jan 2017 14:26:53 +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]) (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 DEF38284FC for ; Sat, 21 Jan 2017 14:26:51 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,264,1477958400"; d="scan'208";a="3038038" IronPort-PHdr: =?us-ascii?q?9a23=3AMEGNABUjIbIJRtSjYYcuiKpp7rLV8LGtZVwlr6E/?= =?us-ascii?q?grcLSJyIuqrYYhaAuadThVPEFb/W9+hDw7KP9fuxBSpcvN3f6TgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyogjdrMYbjIttJqsw1xfCv2dFdf?= =?us-ascii?q?lRyW50P1yYggzy5t23/J5t8iRQv+wu+stdWqjkfKo2UKJVAi0+P286+MPkux/D?= =?us-ascii?q?TRCS5nQHSWUZjgBIAwne4x7kWJr6rzb3ufB82CmeOs32UKw0VDG/5KplVBPklC?= =?us-ascii?q?EKPCM3/2HNjsx7kbxVrhSvqRdix4LYeZyZOOZ7cq7bYNgUR3dOXtxJWiJBHI2y?= =?us-ascii?q?coUBAekGM+laoYn9v1kDoQawCAajGOzhxSFHhmTt0K0m0eksCx3K0RY8E94Qtn?= =?us-ascii?q?nfsdX7NL0VUeCw1KTG1TTDYO9R2Tf58ofIaQ0qr/KLXbJ3asrR0lQkGgTDjlWR?= =?us-ascii?q?tYPlODeV2f4Ws2SB7upgUuWvi3U8qwxqpziiycgthpPOhoIPxVDJ7CN0y5s2K9?= =?us-ascii?q?2gUEN3fNGpHZRKuyyaKod6WN0uTm52tCog17EKoZ22cDUQxJkmxhPTceGLf5aU?= =?us-ascii?q?7h75SuqdPTV1iXR4c7ylnRmy61KvyujkW8mx11ZFszRKn8HXtnAIyxzT8s+HSu?= =?us-ascii?q?Zh/ku52TaAyQTT6uZcLEAoj6XbMZ8hwqMrlpYJrUTCHjP5mEXxjKOMcEUr5vOo?= =?us-ascii?q?5Pj9brXjp5+cM5d4igD4MqswhsyyGfk0PwcBUmSB+emwyafv8VP2TblUlPE6j7?= =?us-ascii?q?HVsJXAKsQaoq65DRVV0oEm6xunFDepztAYnXgBLFJYdxOLlpPmO1bTIPD+Efiw?= =?us-ascii?q?nU+snSx3x/HGIrLhApLNImLFkLf6Z7lx8UFcyA0tzdxH/ZJbFqkBIO7vWk/2rN?= =?us-ascii?q?HYDBg5MwquzOb7CNVyzIUeVHmNAq+eNqPStEWH5vkzI+aSfo8VoyzxK/8/5/7h?= =?us-ascii?q?lXU5g0MSfbG13ZsLb3C1BvZmI0eDbnXwgdcBCmAKvgw/TOz0k1CCXzpTZ2u9Xq?= =?us-ascii?q?0n+zE7Dp6mDZrZSoCqmryB0z+xHodKaWBeFlCMDXDoep2cW/gScy2dPMlhkj0Y?= =?us-ascii?q?VbimUIIh1A+huxHkxLZ9KerU4CIYv4r51Ndp/+3TiQ0y9TtsAsuA1GGNSWd0kX?= =?us-ascii?q?4WSD8y3aByulZyxUmZ0ah/mfBYEsZT5/xRWAcgKZHc1/B6C8z1Wg/ZY9iJVEyp?= =?us-ascii?q?Qs+9DD4tSdIxxsMBbFxmG9W+lBzD2TSlA6MNnbyRGJM06r7c32T2J8tlynbG0r?= =?us-ascii?q?UhgEciQsRRMG2pmLJ/9xLTBoPSlEWZj7ildaIZ3CHX9WeDyXGBvEZXUQJqVqXF?= =?us-ascii?q?R38fbFPMrdvl/kPCU6OuCbM/PwpByM+CLa1KZ8bsjVVCXfvjOdLeb3i3m2iqHx?= =?us-ascii?q?aIxbKMbJT0dGkH2iXSFlQEmRgJ/XmaLQg+Gjuho2XGATN1Dl3jZEfs8ehlqHOn?= =?us-ascii?q?VU841RqKYFN92Lav4R4am/icS/IV3rIZtyYssCl7HVan39LLENqMvQRgc79AYd?= =?us-ascii?q?Mm51dH03jVtwtnPpyvN6pinEIRcxxrv0Py0BV6EptPkdAwo3MwzQpyMrmV0Etb?= =?us-ascii?q?eDOC3JDwIaXXKm3o8x+zdaHawFbe0MyZ+q0X8vQ3t03jvB21Fkol63hm3dhV03?= =?us-ascii?q?+Z5prUFgofSpzxXVgq+Bh9vbHVeDE955nT1X1uL6a7riPC18guBOs/xRaqZ81f?= =?us-ascii?q?P7+cFA/uD80aANCjKOIwm1ezaBILIOFS9LUvMsOjb/uG2benPP1unTK9l2hH55?= =?us-ascii?q?p90k2U/SpmVuHIx4oFw+2f3gafVDfzllShssfqmY1fZjEdBGm/yS/5BIJLYa1y?= =?us-ascii?q?Z4kLA3+0I8Kr3tV+m4LtW3lA+VG5GlwGws6pdgSIb1HmxwJfyUEXrWagmSuiwD?= =?us-ascii?q?x+iyspobaH3CzS3+TicwIKNXJRS2lmk1jsOpS0jtAdXEWzdAgmiBql6lj8x6hH?= =?us-ascii?q?paRwNXPfQUFWcCjqN2tiSLe/tqKeY85T75MlqSVXX/q4YVCeTb7wuB8a0z7/H2?= =?us-ascii?q?tZwTA0bSumupLjnxx1kGidNmp8rGLFecFswhfS/MfcRfBL3joBXyl4lSLaBkO6?= =?us-ascii?q?P9mu89SUko3MsuakW2KnSJJTbTHhzZmcuyuj+W1qHRq/kui9m9L9FQg6zTH018?= =?us-ascii?q?NxVSjTshbzfJPr2L+nMeJiZEVoA0X868ViEIFkjoQwnI0Q2WQdhpiN4XoIjHr8?= =?us-ascii?q?MdRB1qL6d3cCWTkLw9vJ7wf/w01jMmiFx4TnWXWB2sFhfcW1YnsK2iIh6MBHEK?= =?us-ascii?q?GU7L1AnStxvFW4thncbuJjkTcHzvsi8nkag/sGuAA11CWSHqgSHVVEPSzrjxmI?= =?us-ascii?q?8dG+o7lLZGaoa7i8zlZxndCmDLGErQFRQ3L5epYkHSBq9MV/N0jA0Hrp6oHrYN?= =?us-ascii?q?PQd84ctgWIkxfciOhYMJYxlvsRhSp7IG79pmMqy+o6jRxowJG7s5OKK351/KK4?= =?us-ascii?q?BB5YNyH6Z9gJ9jHrk6legt6c35qzEZV5BjULQJzoQOqyEDIVsfTnMxiBECcgpX?= =?us-ascii?q?ecF7vSBhSf6Fp6oHLUCZyrMGuXJHYBx9V4WBadPFBfgBwTXDgihp42DB2qxMj7?= =?us-ascii?q?fEhj/Dwe/Vn4qh9QyuJvMRnySWLfqBuuajczVJeTNhxW4R9e503NK8yR8vpzHz?= =?us-ascii?q?1E/p2mtAGNKXKUZwJTDWwSWUyLGVbjPqKo5dbe7+iUHO2+L+HBYb+Ws+xRS++I?= =?us-ascii?q?xY6z0oth5zuMLt+APmRmD/IlwkpMR3Z5G9jHlDUVUCEXijnNYNCBpBen4CF3tc?= =?us-ascii?q?e/8OnxWA3z+4SPBbxSMc9g+x+om6uDMfCfhDphIzZCypwM3WPIyKQY3FMKlSFu?= =?us-ascii?q?cSSiHK8etS7LUa3QmrVbDxgFZCNvLMFI9b4z3hFROc7HjdP4zqZ4geQoC1dBTl?= =?us-ascii?q?HuhsCpZdAKIm2kOlPIHkCLOK6BJT3RzMH9ebm8RqFIjOVIqx2wvi6WE0zjPzSH?= =?us-ascii?q?iTbkTBWvMeZCjCGVIhNepJ29chZqCWjmUt3qcBu7P8FrjTcu2707mmvKNXIAMT?= =?us-ascii?q?h7a05NoKef7SVEgvV4HmxM9XRlIveZlCae9enXMI4WseFsAiR2ie1V/Gg6x6FS?= =?us-ascii?q?7CFeS/x/gDHSocJ2o1G6jumPzSJqXwdIqjlRn4+EoENiNr/D+plHQ3bE8woH7X?= =?us-ascii?q?+MBBQSu9tlFtrvtrhKytTVmqP/MjJC/MjQ/csbB8nZM9iIP2YkMRbzHz7UFgQF?= =?us-ascii?q?RyaxNW7Dn0xdjO2S9nqNo5g8sJjjgoIOSqdAWVw7F/MaEF9lHMAMIJd2WDMri7?= =?us-ascii?q?ibg9IJ5XWkqBndXsJavorIVviKG/XgNC6ZjaVYZxsP2b73MJ8TOZPh1ExtcFl1?= =?us-ascii?q?hprKFlHLXd9XoS1hcxU0r19X/Hh6U20z3Vjqahm07H8PEv60nR43igxkbeQr6j?= =?us-ascii?q?js/089JkDWqysojEkxhdLljCiKfz7wI6ewWodWBjHpuEcvKZz7Qhx6bQuokUxj?= =?us-ascii?q?LjfESKpbj6F8emBzlA/cpZxPFOZGQq1LehAQ2++Yau4v0VREtCqnw0pH6vHECZ?= =?us-ascii?q?tmjwQqdpGto2hH2wJ5Y94/PbbQK7ZRzlhMmqKOuTel1vw2wA8bPUoN6mSSeS8W?= =?us-ascii?q?t0wOLbYmPS2o8fJv6QGZhzRDf20MWOYwrfJx6kMxIeKAwDz807RbMEC+K/SfL7?= =?us-ascii?q?+Fu2jHjcOIRE0/2VkMl0Re/rh21twjc1aOWEAp17uRFBUJOdDEKQ5Lc8pY7GLT?= =?us-ascii?q?cjqWseXR3ZJ1OJ2wFvr2Qu+VqqkbmFikExopH4kX9csBH4Os31zfLcfpNL4F0w?= =?us-ascii?q?si5QTxKFWDEvtJZAqBkC0brMGn0J93wY5dKykADmpnLyW356vYphQxjfWZRtc2?= =?us-ascii?q?eHAaX4UfNn0oRMK6hjRZv3VcDDi3yO4ZzhaN7yPkrCTKEDb8d8ZjZOuTZR50Bt?= =?us-ascii?q?G24ysw/LWtiVHN9JXeO2b6Nc95t9DV9ewaooyLC/ROTblyq03cgZVXR2S2U27T?= =?us-ascii?q?Ft64P5zwa442bdPqDHa7U1u/hik6T8f3IdahNK+IgRvnRYxMqomUwCgjNdOhFj?= =?us-ascii?q?EZAxpwvP8M5KZ9ZQ0Ffpo6bgXluBg5N6y6PAiXyM6uQ3q3JTtQUfZf0f2wZ6ZL?= =?us-ascii?q?wCo0cu+61HwgQ4knwOar9E4NQ5cKjg3Dyfu4eYlRTzLzGn1cegXIoyo1jW5hOf?= =?us-ascii?q?guwu0n2hPHrUEcMyyXdOxucGFEvMs8BFOILnVwFmo4R0SRjYXE4g60w78e5S1d?= =?us-ascii?q?kMhI0eddqnjxooffYC6wWKyssZjVrysgbd0ho61tMYziItCLu47fnj3fVpbfqR?= =?us-ascii?q?eJUCikGPpGgtJQOj5XQOFUmWE5PswLoYVB6VArWcc4O7xCE6gsprekaDpiES4S?= =?us-ascii?q?zTEWV4KG3DwenOi8waHWlhGOf5Q+KBYEqolNgsMBUy5qZSMTvLWsV4HXl2CYVG?= =?us-ascii?q?cEOAIT7ARK5AIHkI9/ZPvo75HJTJBWzT5auvx0UjbRGplu6VT7VnmcgULkR/W5?= =?us-ascii?q?j+ypwQVSwer33dYFXh5yElJSyPtIlkQ2MrF3MLMfvpTKszOSckP6pm3twvO8JF?= =?us-ascii?q?ZN0c3Ua0H4DI3duGrmVC0c+GEbRY9IyHHbDpQcixN3ZrsxqlhQJ46rYVrx5zsh?= =?us-ascii?q?x4t1Bba4Ttyry0wjrXkYWyegC8BBBP1+sFLLRD1lZIimp4nnO5pIXmBd44GSq1?= =?us-ascii?q?BdkEVpMi6214BcK91T7TEQXDhDuzKdvMG9SMdbw895E4cMIstju3f6AK5EIoKe?= =?us-ascii?q?o2cxurP00XLZ5yo8v02kxDqtH6+4TuRZ/2IaGgUoKGSeqlUvD+U2/WfI91DBqF?= =?us-ascii?q?Z08PlHBrKXl0V+vC59HoxSBjZOzX2kIU5/Q2VGs+VbLaTVctZTQ/opaB+uJRMx?= =?us-ascii?q?C+Ap01aO/UFuknfzezZyuRdC+yDBQwk0UjEYgq/qmT0asM6nIzEbS5VMbTUvdC?= =?us-ascii?q?rFLgWbmSdMvBlBd05qQZcZAs1e+7Ea24tU8dDOSUG2KSEKRBZiLB430eJDlU5f?= =?us-ascii?q?t0WVYTrSDRC1dfbJqBF3ftycrM+oLPT44AdIkZnrsOYm+KUfX3emgxGiQcjCr4?= =?us-ascii?q?/gsd2HrleOdKD9M+CnfX/NUD3MgguqibciEZbK4zDZMBBHJJli1XokfZ/hBHbL?= =?us-ascii?q?PRtcPaIUPU5bWr1hZNpbvO9af9dkd7gN+aBzHBKLXBTvGJagrPNeNFbcWSzeLz?= =?us-ascii?q?md8uy4uY/T77vdRvb7a8OR2XnHWLx4Po1m6TblBrjmy4le9VTq2v117EN1VUDG?= =?us-ascii?q?MzydrNTmPg4E/8eieVf+spArAD/bDox9n2bqxkFFa8UYWTaq8IgCxJNf9nnwVf?= =?us-ascii?q?py0lLvv+1K67lk9Y437qhzyciqOKjSKe5VsVN8DxiQAQVq6IsiDHZjSGBWf+Ae?= =?us-ascii?q?Nu3dfaIHgsDys+r3DbAY6AWJ++xFbtvKP1nBmtKjCj6GVBNEgBwMqSUdLguBzf?= =?us-ascii?q?6Kh7F7ScC5pejjwE0t50KyLhkczLBi/Y2E4LaHpPfLbxvNyrgJQrTqRtntobsy?= =?us-ascii?q?pkyf/uAklLoSemxveQKnDukdVskZxmj+0aAm1yUsE9nMH7j44v5MS2o5ni78m5?= =?us-ascii?q?B6B1gWH+kbHb6P/YtAgmc4h/bWOccNf6BEhGmPCQWkHaMYxn6z9SSbOm9ljQ/S?= =?us-ascii?q?0xvoW2O88Ef2rTNkQSvL19rjkFBaVqOwBUdJWyqmI1F4vSiKPAr1sNr3paU141?= =?us-ascii?q?03MmP+stKNj3GtOLRNH83wPNacOzU7pEoLjJ0tQdyiwYIbFsC7INcf6nF+aebR?= =?us-ascii?q?5H2wni9duahHgZHe4saP9vXRA3agk7WQq6+RyzBA1ng4oVY/58ivNvHT5t2KR/?= =?us-ascii?q?Co2HgUTypkpgTOQQW6qr3BoFASI0CL113LmIMSNNFDwXY4zl3m5PQkQN8r8gVe?= =?us-ascii?q?Ep3NZ/IEpTD2Ijf0wFCfY9wtViaEyDtXAkj1EURkF6ggxWLwptzGmW3X+10ySY?= =?us-ascii?q?l6b1bnigBvD4UkNUIt70Aawi8EEQgLdRCbA6+nCF/gLYsFT0cDbwqI3KS0e6cw?= =?us-ascii?q?x01zwaiv6PXVbeNiG6oHLuxdgRKWnFhHBpIWtrUTQKhhdFBA76PXqQ3iCof9U/?= =?us-ascii?q?jgi3UwKeW/QtpG/sABq3si/gG/SgKk6ZdY6rYWiIuFdqBabpfRu8B89V1o5SYV?= =?us-ascii?q?dixKghhwkQ+2UfwGqODk+Njbv4Ki6vyyW6Y1W+UX6x80Cnxlj5TqnlAsu97X2P?= =?us-ascii?q?lHSoDOkoTw6h5NLGSFuInEyBlwM+wOJJy3fLx47XUIOzAeJ24SPdqRc/Q84S5t?= =?us-ascii?q?MDDI6lxHHMwNZc0XPNDMmQBShU3lQrdT+dTHGlWAEYd8a9go73bryDAy6ZY8U+?= =?us-ascii?q?fh5yWsKp/D9FxNJO1MjDlym93evuQVxuDSCCcP63mDdxd12j+Cy4WKC/vo5uqM?= =?us-ascii?q?ycrUVl0cES40UoddOCKC9ha6Ruqxj5jmTgSU5dLtj50kaUKQXHuxnL4fvapWFu?= =?us-ascii?q?5AkCr71CBEFo/pn/KVr8as6GxPu11fColz8QHKGKVRP5V8IxT4ldCnRlNiCSv7?= =?us-ascii?q?ecHUcAcuueWNy+cU+ep+K1fxZY8VIxID0bL66mBZTghwR77suFaWQ+YRaMFhSP?= =?us-ascii?q?PeoXBf8ZhgJLMXPFiBuJzqqS9FqEwsAAA3bL8/tDpaeVfVkQJIWqb0t78AihcG?= =?us-ascii?q?Xt5io0BMA3+wNHg45zXZSaRflLORB+AN8jWPUqwOVF1lMixkTBOvxppuZ7upkO?= =?us-ascii?q?tDsmNHgiNyvvgq3CZ7RBunoyHsobwC2S448rGiqDoBoWBFTvmZkyrQBlVM0vIK?= =?us-ascii?q?jbsbC3bl7lC8e2cMbI/z4LlhOMTh+pIs43AhbhU5fywJR/6sCyfugKOUGoaPqs?= =?us-ascii?q?5ThAaRuMXSar++NS4SNrUhxhLkQ3hyyBPekAxp8GsMRTWg98QkKZ64OcsqySuk?= =?us-ascii?q?A2/bdEwD4qlRqsv+qUYLTPcqaVNm2Ghj3dSIRjYWRMDWBmg7gQ4qaWRCcJJe5h?= =?us-ascii?q?4XDKYogjOSsalA4A4YejDUEp6q+oPIh8fHxWE9Tct2xmLRvqCFhJQq0H1jm99u?= =?us-ascii?q?8iGOuHASd/HFXM5tA3jz0Jxfye//Z/i2rOAHSZVmx66lUPAfM8mv422214t2Wk?= =?us-ascii?q?W93LQRA0K5MPMfxrfcSyqlSHOYVv6Nc2WXmzY5L1P95RivLl0scstKqFU9MuTa?= =?us-ascii?q?jJ5GiwLhSa90RjmXpVLDzmwsL+0adwwyuIq8dQ0FVugRaPaAJeQ0xv0xFkcMZW?= =?us-ascii?q?fTHSRqE++2rUKtnI9jNnVv5UX6Zurs/R7iMNuWARQEConarphw+fOmXG6BP2Fv?= =?us-ascii?q?zAFqNklu6+jfD0gxtvNbc5uJn9jQh9R60fYCd/dpMC09psAcl5lm6YmVzMeKaw?= =?us-ascii?q?/ewoz1JdHPrfiSG+ffwFgyemFGTroZZhv455k7Pt48QLDTAbpZsggfBackRJwt?= =?us-ascii?q?LWHx+79oLAlraA7eeKy0gtX2puKMfpZUon7W7lEzLCfboBADyOa7TQ98b5CsmX?= =?us-ascii?q?ryJoo8RjRfoN1xEhFmBpdAG9scrwq7BJ6ZgLq0hMG3+0NmoOIKqq7wCvfW1NSl?= =?us-ascii?q?wYV+QYVV6VaMPDbLC6lhml5lgfiqgvfczpnxDtvved0aW+h/Q27FcqHJE56+Kz?= =?us-ascii?q?KPP8L8flBJ86SY0L1nSBmRYzr5X6Wevi2+KPpk+Vk7ypB/fOfLwj0t96vb2Nru?= =?us-ascii?q?aG5FvSqjqH+JNIdF7FPUH+DeWAhUSfWd+mZ/AaIXdZf09PsJMdE6x9ic5xd84S?= =?us-ascii?q?9a0MuBOaehtVPM2kNnepLHNkvmxTg2VZMMIBuhLUsmmXXZpWjFAXRAMsikLtFg?= =?us-ascii?q?gNKUDhzr+klwlnghZmpAGmrzWdeRInMW28Okaw2M8wJHFdEDn/S4eUQgrK29Vf?= =?us-ascii?q?FoOolZmeWtrLgHishmKyXORMhcIiHRI7h6MDVNDuXPulcoeAALs6AvVYouZpiB?= =?us-ascii?q?PlkHMEGexiP21gTCzEL0e8ar1KaTLyYc6m9HwK7d0ThQuwm5vu6Ugsj5X7/FbJ?= =?us-ascii?q?H2XfjSMC0+WzGERDQyF1im+VOlu/oCofqZLn0TolcOYiKdEAQTvLxgrcDMDm/P?= =?us-ascii?q?nu1uZJ8Ki+qZWyD3UyJ1j7cyBiBXtUCMRPoDCAbWb3/9gGZGvgytOONM92r/b7?= =?us-ascii?q?KE3qpVR/AWAoxUf/2WWdTXYupeJzY2mTUdI+u8YdncoKwi0lLJUGsVCa/I+0OC?= =?us-ascii?q?TESOWPyT2yrrXZkJv4gzoico+NfQnihtE6TSPrafvCWj8oiigyadp+LeV3MhY0?= =?us-ascii?q?svgOINGGOB2gVPKHkYC9EJv0HgWrWAZ0hJ1H01iO9j2AQBeBptXX10031XnfG9?= =?us-ascii?q?GstDRV4SkmyuXOUMbEprAzMo4U+K/grybMQCucDUQW9e8qABSY8DI/Y15onXP7?= =?us-ascii?q?EQz+o30z58piw1rTmdXBthiVee/q7RGr9s7qFT7mk/ufdtVweARC2MXHLAz9+A?= =?us-ascii?q?CslIwS516VHj0NHP9rRrNbBdo4hiRlYNBjltDtWB7XZGS26ii1j6hAqyADnLeG?= =?us-ascii?q?FR2z0MPyFQM78twg=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HXBABRb4NY/wHyM5BeHAEBBAEBCgEBFgEBAQMBAQEJAQE?= =?us-ascii?q?BgxIBAQEBAR+BaY5NoW6GVyiIGlcBAQEBAQEBAQIBAmAogjMbghwGAQIkExQgD?= =?us-ascii?q?gMJAQEXKQgIAwEtFREOCwUYBIhrBAGwGjomAoNohmaGS4kLEQFohHkfAQSPLIw?= =?us-ascii?q?fgXyPYYpUhidIki5YcyQTKkKEORyBYnKGZ4IuAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 21 Jan 2017 14:26:40 +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 v0LEQP43012694; Sat, 21 Jan 2017 09:26: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 v0LEQP9H083108 for ; Sat, 21 Jan 2017 09:26: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 v0LEQOog012692 for ; Sat, 21 Jan 2017 09:26:24 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1CeAgBvboNYZCIeaIFeHAEBBAEBCgEBgz0BAQEBAR8eAQGBSY5NoW6CRIQ2iB9XAQIBAQEBAQIEHAoKCh2FGgYnYlFXGYkMBAGwGjqEEIZmhkuKBYR5HwWPLIwfgXyPYZB7SJIugW4TKoQsDEMcgWJyiRUBAQE X-IPAS-Result: A1CeAgBvboNYZCIeaIFeHAEBBAEBCgEBgz0BAQEBAR8eAQGBSY5NoW6CRIQ2iB9XAQIBAQEBAQIEHAoKCh2FGgYnYlFXGYkMBAGwGjqEEIZmhkuKBYR5HwWPLIwfgXyPYZB7SJIugW4TKoQsDEMcgWJyiRUBAQE X-IronPort-AV: E=Sophos;i="5.33,264,1477972800"; d="scan'208";a="5915929" 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:24 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AAmsJMR9XvXcutP9uRHKM819IXTAuvvDOBiVQ1KB4?= =?us-ascii?q?2uocTK2v8tzYMVDF4r011RmSDNmdt68P1bOempujcFRI2YyGvnEGfc4EfD4+ou?= =?us-ascii?q?JSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgpp?= =?us-ascii?q?POT1HZPZg9iq2+yo9ZDeZwpFiCCybL5yIxm7rBjdvdQKjIV/Lao81gHHqWZSde?= =?us-ascii?q?RMwmNoK1OTnxLi6cq14ZVu7Sdete8/+sBZSan1cLg2QrJeDDQ9LmA6/9brugXZ?= =?us-ascii?q?TQuO/XQTTGMbmQdVDgff7RH6WpDxsjbmtud4xSKXM9H6QawyVD+/6apgVR3mhz?= =?us-ascii?q?odNzMh8G/ZlNF+gqxYrhympRN/zZXZbJ2JOPdkYq/QZ88WSXZHU81MVyJBGIS8?= =?us-ascii?q?b44XAuQZPOZXs479p18UohulGAKiB+TvyjhThn/twKY31OIhEQDa0wwnG9IBqm?= =?us-ascii?q?/UoM/0NKcVVuC117LIwC7Gb/5Z1jbx8o/IcgouofyVW797bMnfyVE3Gg/YkFmd?= =?us-ascii?q?rZbpMy6J2ukCqWSW4fZsWfihhmMosw18oSWjyt0th4TInI4Z107I+TljzIorOd?= =?us-ascii?q?G1Skh2asO+HpRKrSGVLY52T9siQ252vCY6zaULuZu0fSQX0pgn3xnfa/iHcoiU?= =?us-ascii?q?/B3sSOaRITF5hHJ8ZbKwmQy+8U+6yu3zTsW00VBKoTRZktTUq3wByRje5tKaRv?= =?us-ascii?q?dh8UqtwziC2xzJ5uxKLk04ja/bJIQgwr40mJoTq0PDHirulUvrkKGYa1ko9/Cp?= =?us-ascii?q?5evpbLjov4eROIx6hAzmN6QjlcO+Df4/MggUUGiW4eK81Lz/8k3+RLVFlOY2nr?= =?us-ascii?q?PYsJDdIsQbvbW5DhRO3YYk9ha/CSup38oDnXUdKVJIdx2Gg5LuO1HUL/D0Fe2/?= =?us-ascii?q?jEi0kDd32/DGOaXsAo7TIXjHkbfhe6t96kFHxQovzdFQ+5JUCrYbLPL1QU/+rs?= =?us-ascii?q?bUDhA+MwyqkK7bD4Bm24cfX3+fKrOIO6PV91mT76QgJPffSpUSvWPbKvMi4/f1?= =?us-ascii?q?xV4+nkQGNf2v3JAQbHmjWPVhJF6CSX+wkpEGC2hc7Vl2d/DjlFDXCW0bXH21Ra?= =?us-ascii?q?9pvjw=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0EfCgA2boNYZCIeaIFeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgxIBAQEBAR8eAQGBSY5NoW6CRIQ2iB9XAQEBAQEBAQECAQIBHAo?= =?us-ascii?q?KCh0wgjMZgh4GJ2JRVxmJDAQBsBo6hBCGZoZLigWEeR8FjyyMH4F8j2GQe0iSL?= =?us-ascii?q?oFvEyqELAxDHIFicokVAQEB?= X-IPAS-Result: =?us-ascii?q?A0EfCgA2boNYZCIeaIFeHAEBBAEBCgEBFwEBBAEBCgEBgxI?= =?us-ascii?q?BAQEBAR8eAQGBSY5NoW6CRIQ2iB9XAQEBAQEBAQECAQIBHAoKCh0wgjMZgh4GJ?= =?us-ascii?q?2JRVxmJDAQBsBo6hBCGZoZLigWEeR8FjyyMH4F8j2GQe0iSLoFvEyqELAxDHIF?= =?us-ascii?q?icokVAQEB?= X-IronPort-AV: E=Sophos;i="5.33,264,1477958400"; d="scan'208";a="3038035" 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:24 +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 A1B1E5647DE for ; Sat, 21 Jan 2017 15:26:22 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 2/4] checkpolicy: fix memory leaks in define_filename_trans() Date: Sat, 21 Jan 2017 15:26:11 +0100 Message-Id: <20170121142613.12375-2-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:22 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 When parsing type_transition statements with names, the memory allocated by the type set bitmaps of variable stypes and ttypes was never freed. Call type_set_destroy() to free this memory and, while at it, make the function exits without leaking memory when exiting with an error. Signed-off-by: Nicolas Iooss --- checkpolicy/policy_define.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/checkpolicy/policy_define.c b/checkpolicy/policy_define.c index 03a0c18a9686..eab940878ad1 100644 --- a/checkpolicy/policy_define.c +++ b/checkpolicy/policy_define.c @@ -3256,22 +3256,24 @@ int define_filename_trans(void) return 0; } + type_set_init(&stypes); + type_set_init(&ttypes); + ebitmap_init(&e_stypes); + ebitmap_init(&e_ttypes); + ebitmap_init(&e_tclasses); add = 1; - type_set_init(&stypes); while ((id = queue_remove(id_queue))) { if (set_types(&stypes, id, &add, 0)) goto bad; } add =1; - type_set_init(&ttypes); while ((id = queue_remove(id_queue))) { if (set_types(&ttypes, id, &add, 0)) goto bad; } - ebitmap_init(&e_tclasses); if (read_classes(&e_tclasses)) goto bad; @@ -3288,6 +3290,7 @@ int define_filename_trans(void) typdatum = hashtab_search(policydbp->p_types.table, id); if (!typdatum) { yyerror2("unknown type %s used in transition definition", id); + free(id); goto bad; } free(id); @@ -3302,11 +3305,9 @@ int define_filename_trans(void) /* We expand the class set into seperate rules. We expand the types * just to make sure there are not duplicates. They will get turned * into seperate rules later */ - ebitmap_init(&e_stypes); if (type_set_expand(&stypes, &e_stypes, policydbp, 1)) goto bad; - ebitmap_init(&e_ttypes); if (type_set_expand(&ttypes, &e_ttypes, policydbp, 1)) goto bad; @@ -3386,11 +3387,18 @@ int define_filename_trans(void) ebitmap_destroy(&e_stypes); ebitmap_destroy(&e_ttypes); ebitmap_destroy(&e_tclasses); + type_set_destroy(&stypes); + type_set_destroy(&ttypes); return 0; bad: free(name); + ebitmap_destroy(&e_stypes); + ebitmap_destroy(&e_ttypes); + ebitmap_destroy(&e_tclasses); + type_set_destroy(&stypes); + type_set_destroy(&ttypes); return -1; }