From patchwork Fri Apr 13 20:34:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10340759 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 3EA95600D0 for ; Fri, 13 Apr 2018 21:02:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 572FC289E5 for ; Fri, 13 Apr 2018 21:02:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4BDBF28A0D; Fri, 13 Apr 2018 21:02:14 +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=-5.2 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from ucol19pa09.eemsg.mail.mil (ucol19pa09.eemsg.mail.mil [214.24.24.82]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 16153289E5 for ; Fri, 13 Apr 2018 21:02:12 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.48,446,1517875200"; d="scan'208";a="673728327" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by ucol19pa09.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 13 Apr 2018 21:02:10 +0000 X-IronPort-AV: E=Sophos;i="5.48,446,1517875200"; d="scan'208";a="12037518" IronPort-PHdr: =?us-ascii?q?9a23=3AkI96QBz0gjWiLMTXCy+O+j09IxM/srCxBDY+r6?= =?us-ascii?q?Qd1u8fI/ad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndi?= =?us-ascii?q?QuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBg?= =?us-ascii?q?vwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0B?= =?us-ascii?q?vJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PG?= =?us-ascii?q?Av5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb5Q6o0WT?= =?us-ascii?q?C/5Kl1ThHmhjoMOzog/G3KlsB8iaRWqw+jqRNi2Y7ZeIGbOuRwcK3eet0VR2?= =?us-ascii?q?RBUNtJVyFDH4+xYZUAD/EaMOpEs4XwvUcCoAGiCQWwAu7k1z9GhmXx3a0/y+?= =?us-ascii?q?kvCQDG0xAnH9IKqnvUt8j+OqQVUeCy16nI1ijIYvRQ2Tf89IfIdRQhruuXXb?= =?us-ascii?q?5qcMrRzk4vFxjejliLrIzoMDyU2v4Ks2iB4OptTOSigHMkpQFpujWj28ghh4?= =?us-ascii?q?bTio8V11zI7zt1zYkrKdGiVUJ3ed2pHZtKuyybM4Z6WMMvTmBytCokyrAKpJ?= =?us-ascii?q?i2dzUQxps93R7QcfmHfpCN4hLkSemePy91hGlgeLKjnxay9lWgyvHkWsm0zl?= =?us-ascii?q?lKqi1Fn8HQtn8XzRzT69WHSuBn8ke92TeAywDT6uZeLUAyiaXbMIIuzqQ1lp?= =?us-ascii?q?oStUTPBi72mEPog6+Kbkgo5+el5uv9brjmu5OQLZF4hw7gPqg0h8CzGeE4PR?= =?us-ascii?q?IPX2if9+S8zrrj/UjhTbVRkPI2lqjZsJbHJcUUv6K2GAhV0psl6xmjETimy8?= =?us-ascii?q?8VnWUHLV1ZeBKHiJLlO1fVIP/iF/u/jFOskClzy/DcIrLhGonNLmTEkLr5f7?= =?us-ascii?q?Z97EhcxxAvzdBf/Z1UDKoMIPD0Wk/3sdzXFAQ5MxCqzOb9E9VxzIQeWXiAAq?= =?us-ascii?q?WBKqPdrUeI5v4zI+mLfIIVujT9JOI56P7tln85nlkdfai33ZYMZnC4GulmIk?= =?us-ascii?q?qCbnrxhNcBDXoKshA5TOzwh12ISSRTaGqqX6Ig+jE7D5qrDInCRoCphbyOwj?= =?us-ascii?q?27E4ZYZm9YF1+MFm3oeJ+cW/cWbyKSINFunSAYVbS7TI8hzx6uvhfgy7V7Nu?= =?us-ascii?q?rU5jEYtZX72ddo++LTkBYy9TpoD8iAyGyNUX97nnkJRz4326B/p1ZxylGd3q?= =?us-ascii?q?hkm/ZYD8Bc5+tVUgcmMp7R1/F1C8zoVQLbZdqGVFGmQtC6Dj4rVdIx38UCY0?= =?us-ascii?q?BjFNW+lhrDxTalA6cJl7yXA5w56qLd3nn2J8Z70HvG0a0hg0AnQstJL2GmgL?= =?us-ascii?q?Rw9xLQB47IjUWWibymdaIC0y7R7G2D13aBvFlEUA5sVqXIRW4QZlPMotTj50?= =?us-ascii?q?PCVKSjCaw9PQtbyM6CMbNKatnzglpaWvjvItPeY3i+m22oHxaH2quMbJb2e2?= =?us-ascii?q?UaxCjdBlIEnBoV/XmaNAg+HTyso2fGDDxvDF7veE3t8fJkpHO8VE80wBmAb1?= =?us-ascii?q?d92Lqt5h4VmfucRusQ3r0euychrCh0EU2+393MCNqAoBdhcL9bYdMn71dNzX?= =?us-ascii?q?jZuBBlPpy8M6BigUYTfB5qsEP01hV4FJ9AnNMwo3w2yQp+M6WY0ElOdzmAx5?= =?us-ascii?q?D/JqXXKnXu/BCoc6PWwEzR38uN96cA7fQ5pE/vvAe3GUo+639nycVa02OA5p?= =?us-ascii?q?XWCwofSYnxUkgt9xh9vLHafjIw55jS1X1rP6i0tyXN29QzCOsj1BmgY89VML?= =?us-ascii?q?mYGw/qD80aG8+uJfQkmlezahIEIP5d9LQvP869afuJxrSrM/19nDKjl2hH55?= =?us-ascii?q?p90k2U/SpmVuHIx4oFw+2f3gafUTf8jVOhssTploBffjwdBHSwyTLjBIJLYa?= =?us-ascii?q?1yZ4kLA3+0I8Kr3tV+m4LtW3lA+V69BlMJxNOpeR2Ib1DnwQJQ1UMXoXqomS?= =?us-ascii?q?ajyzx0kjcpobCF3CzJ2ejicwAHOmFTTml4kVjsOZS0j8wdXEWwawgplQCl5V?= =?us-ascii?q?rjy6hAuqt/K2jTQUFVfyn5NGxiSbOwtruEY85O9Jwoqj9bUOKiblCGUrT9uQ?= =?us-ascii?q?cV0zv/H2tCwzA2byuqupL9nxx+lm2dNmp8rH3XeMxr3hff+cDTReVL0joBXi?= =?us-ascii?q?l4hiHdBkKgMNmx4dWUi5DDv/i9V22/UJ1TajLmzYCeuyu9/m1qBwOwn+yplt?= =?us-ascii?q?3gCwg63jfx18N2WiXQsBb8fo7r2ryiMe19Y0loAEHz69JgFYF4jos/mosQ1G?= =?us-ascii?q?MHhpWO43UHi3zzPc9A2aL5cXoNXyIEzMDb4Ajiwk1jIWyGy5j/VnqD3strf8?= =?us-ascii?q?O6bX8O2iIh88BKD7+Z7KJCnSRouVe4swTRbuV9njsHz/sh9mIaifkTuAUx1i?= =?us-ascii?q?WdHqwSHU5AMCz0jRuI8tS+ob5La2aubbix1FNynd67A7GEuA1cX2z5epg6Fy?= =?us-ascii?q?9q8sp/KE7M0GH06oz8dtnfd9QTtgGTkxfFlOVVJow+mecNhSp9I239pWcly+?= =?us-ascii?q?k5jRNwwZ66oJKLK2J3/KK2GhRYLCH6Z9sP+jHxiqZThsOW0JqrHpVlBDoLQI?= =?us-ascii?q?foQuiyHz8Js/ToKRqOECYgpXiBAbrQAxWT6EF4oHLTC5qrLW2YJGEFzdV+Qx?= =?us-ascii?q?mQPEJfgBoKUzonhZ42DAaqxNDmcEdi/T0e/EL3qh5WxuJvLRn/XX/VpB20ZT?= =?us-ascii?q?csVJifMB1W4xlE50fPK8Oe9vpzEjpW/p2gtgyNMXCbZwpJDWEPQEOEAUzsPr?= =?us-ascii?q?i06tnE6eSYAfC+L/TWa7WUteNeT+uIxY6o0oZ+5zaDKN6AMWdkD/06xkpDWm?= =?us-ascii?q?t0G8XHlDoRVSMbjSXNb9SUpB2k4C14sti/8Oj3WALo/YaAEKBdPdJr+xC3mq?= =?us-ascii?q?eDK/WQiDxiKTlGypwA32TIx6Yb3F4TjSFuajasHK8cui/NVqLQh7RXAwQVai?= =?us-ascii?q?xpKMtI9KU83g9XNc7ckNP12aZyjuQpBFddSVzhhsapaNQRLGG8O1PHA0CLOa?= =?us-ascii?q?+bKjLV2M73YLmzSbtKgOVTrR2wti6RE1X/MTSbiznpSxevPPlWgyGUJhNepp?= =?us-ascii?q?+yfw1qCWj7Ut3mbBi7P8V2jT0y2rI0gXzLOXQbMThmfENHtqeQ4j9AgvVjB2?= =?us-ascii?q?xB6WJoLfWDmyac9eXYMJEWsPp1DSRyjO1a+nM6xKVW7CxfWPN1ny7SocJ0rF?= =?us-ascii?q?G9jumD0DxnXwRSqjxTnoKEoV1iObnF9plHQXvE/hIN7GWICxQNo9tlC8HvtL?= =?us-ascii?q?5Lx9jKlaLzNC1C/MzO8csbHcjUJ9qNMGA9PhrxBD7UEAwFQCaoNWDfg0xSju?= =?us-ascii?q?qf9niSrpg0pJjjhoYOSqNbVFwyE/MVFF5pHNocL5drRjkki6KUjNYU5Xqiqx?= =?us-ascii?q?ncXMNasY7dWfKWGvjvKzGZjaJYZxQSx7P4NocTNozh10xkdFZ6gJzAG1DMUt?= =?us-ascii?q?BVvi1hcgg0rV1X8HdgVW08xVjqahmx738TDvO7hR82ihFjbuQq+jfs+003KU?= =?us-ascii?q?TKpScqlkk+h8nliyiLcDHtNKewQZ1WCy3sukcsNZP7RQB1YhCskkxgNTfJXK?= =?us-ascii?q?hegKV6dWBskgPcvoFPGfFER61efBAQ3e2XZ+kv0VlEtyqo31FH5erYBpt5jw?= =?us-ascii?q?Yla4Ssr2hH2wNtd946O7DfJLdTzlhRmqKPvjWk1uYvzw8CP0wN6n+deDYUuE?= =?us-ascii?q?wUMbkrPy6o/ut26QOcnTtCeW8MWuElovJs60MxIeOAzzjv07RbMEC+K/SfL7?= =?us-ascii?q?+Fu2jHjcOIWU0/1kcJl0lD4Lh33twufFaTV0Aq0LSeDQ8JNdbYJQFTccVS6G?= =?us-ascii?q?DZfTySvuXV3ZJ1I4K9G/j0Te+PsaYUhV6kHAYpHokX88sBH5mt31vDIsv9Kr?= =?us-ascii?q?4K1wkt7hzxJFqZFPRJZA6LkDAfrs6lyJ933JVSKS8FDmV4MSS34LHXpgkwj/?= =?us-ascii?q?eYR9g2Y20VXo0dOnI4Rc22gShZsGpcDDOvyOIW1BCC7yPgpiTXFDTzdMRsZP?= =?us-ascii?q?GPaBx2Fd625ysw87KtiVHN6JXfJ3v2NdN4ut/A8ekavYqIC+tITblhtEfRg4?= =?us-ascii?q?ZYR2GrU27LFd66OZ3wZpIxYtPqEXm6U0awizQvQ8f2JtatIbCCgRv0SoZMrI?= =?us-ascii?q?mbwDcjONenFjEYGhd/u+ED5KV4ZQ0Ye5Q1eAPmuR4iOqK4OwqXztKuQ2OxJj?= =?us-ascii?q?RMVPlf0f+2Z7pJwCowduW60mcvTokmz+mr9k4AXIsKgQvExfakfIZTSjTzGm?= =?us-ascii?q?ZHdAXRuyU5k2lhNuA9wuc7wRPIvlkcMyyFdONzcmxEusswBVWMLnVqEmA4XU?= =?us-ascii?q?OTjZLf4g6w2LAf5yVck8xI3u1FsXj+u57fbyivWKGwqJXarTQvYsY8r612K4?= =?us-ascii?q?zjLdOMtInCkTzHUJnQrgqFXTa/F/VAgNhQIzxXQOVJmWEjNswLooRA5lA3Vs?= =?us-ascii?q?giI7xPD7Qsqa2xaTZ+Cy4d0zMZXZua3DMemue8x6falhCIfZs4KhwErZNCjs?= =?us-ascii?q?EeUyNtYyMepa6jV5nNmGOeTGgEPhsT5xxW5A0cjo9wYvzl4I3QQZ9NzT5Wv+?= =?us-ascii?q?x7Ui/VGZlt6VT7VnuWgFjjRfWmi+ymwwRSzPf23dkaXB5wEk9dxulMmksvMr?= =?us-ascii?q?F3JLEavpTWvT+QaUP6oGXtxfO6JFlWzM3ZbEH4AJbAtWXnSCEc/2MbRZNXwn?= =?us-ascii?q?HFCZsSixZ5aLospFhUIICpYFz+6CYgx4t0BLS3SN6kx049rXkYQyelDcBBB/?= =?us-ascii?q?thsFLNVz1ve4qrp4n9O5VOXm9Q/4WQq1VekEpzKCO21IRTK9pT7T4WQDhAvy?= =?us-ascii?q?iSsMG0SMJdxc98F4UMLctnu3fhBKNEP4Cco2ErtbPyy3/W4TQ8vUymyzW0Hq?= =?us-ascii?q?+3U/hW/3YCGgkzIWSRtFUvBfM28mjO6lDNrkx0/+BDC7eUg0V+vCpxE5JTCj?= =?us-ascii?q?tHzn2qM1NzTHxavOpAM6TVb9ZQQ/8sah+zIxY+D+Ip31SV/UFomnf0ezZyuR?= =?us-ascii?q?VH9CDdRQY0STIYgrPqmT0AtM6rJyMVS5VVYjo/dSvFLRyUmTxPthZFd05qQ4?= =?us-ascii?q?wZAspC+7wDxYtU5dbCRlyxJiEZRxFiLQU40edFlUFfrkqYfzzdDRCyevbLqB?= =?us-ascii?q?F3et2RrMGxJvTj4AhHkp/nsPw/96gbW32mgxOiTs7DoILnq92KsleOdL3iPO?= =?us-ascii?q?2iYH/BSzzMgg6shbs+CJnK5SfTOhJBK5Zm0XokfYThCWnTMBREPa0bPU1bVb?= =?us-ascii?q?t+adpcvOBXfMpkeLsN+a9xBxKIWhLvF5aprPldNFrTQi7eLyqZ+OylvY3T9a?= =?us-ascii?q?DdSfTnZsGUxXbIWaR3Pplg6Tn8Brjlz5RT+lbs1fdr7UN6TkLKMyafo9T9Pg?= =?us-ascii?q?kL/tWtdlP+vp01GjPbGJFwkH72y0FBccoXRjem8JUeyJNX8nb/U/l40lTpsO?= =?us-ascii?q?1P67Zk9ZQ346p3xsuuIqfSM/tau1d9AheIHgVq6oktAG9nSmBXY+8eNPDRfa?= =?us-ascii?q?ADgsD1sez3FqsX6BqO++xCctbHIk7Mm8alBjGbUxxEkx8LqSQGIQuEy/6Fh6?= =?us-ascii?q?h0RN65qufj3kIi/UO+LgIGzbBq/oqE4baHpO7JYBvX0bgEW7LlStn1rrsyp0?= =?us-ascii?q?OY/eckm6IWemxpfw2nF/AQVsoGxmflza0n1iwsHN3eELLn4v5MTWo5nijnm5?= =?us-ascii?q?B/AVoZBu8UEaCM/YREkWcyg/bZOcEOcqBehmaPEgapEr0DyX6u8CaXJXdqgx?= =?us-ascii?q?HQ3BHqQGOz6lD2oTV+QSTS09fpilBVWaWvBUdOQyqpPld1sDKOPQXyrtX4pb?= =?us-ascii?q?847FooPWz4qt2CiHGtOLRNH83wPNacOzU7pEoLjJ0tQdyiwZsUGdumINYf6n?= =?us-ascii?q?5+bPre63+zkyBbvqdHg5HT7d2S+vrKA3avlbCaq6+KxDBC0Hc0p1Y/6sqvNv?= =?us-ascii?q?vW/d2FX+yo13oNTyd4owbBRwS6qqDHoFAUN02L113LmI8TMtFCw3Y40kDm5O?= =?us-ascii?q?4+QNM87wheDpzPZ+8eqjDzNjr0xkyfY9EtWimdzTRXBFT1Hkd8GKQm32Lwps?= =?us-ascii?q?3Jn2/K+1I0Xolwa1DnhRtvAoU3M00t8kYYwjYDEQUWbRCbDa2oClrlLYQeSE?= =?us-ascii?q?gDcg6L3L6kdacrxUdz2K+g5PfPbexgAKoALvldgRCInFhHHZIWtqoSQKlidF?= =?us-ascii?q?9Z9a7XoBXiCof8Uvjii3UwL/20TdpA/cAfqXQi/h61RwC85pdb87YblJeIe7?= =?us-ascii?q?ZYbpjOps9z81xq6iIIdixJhBh/jg22UfoApO/9/tfbsICk6uG0VKYiX+8X7Q?= =?us-ascii?q?Q7B3xij5vsh1AuudTX1+BaSo3JhoTw7htAI3uLuInA1RlzN/YOKoysfLZ69H?= =?us-ascii?q?UHPDISJ3QQMtqKc/M8+TNiMC3P51xeBcMBfdwYM9bWmQBPk0HnRb5d+MzaGl?= =?us-ascii?q?+eFodyeNsl72XyyD8v95szTPzs6DisJZDQ91tNJe9MjD1wlNLeo+gY2fjSCC?= =?us-ascii?q?8X4XmfcRR63iOCy52QC/nt/OSMydfUV0gFHi43SIpdOjuC+RK9SeqxiZrpUx?= =?us-ascii?q?mY6sntj5IibEiQXGC+nLwZsqZQFu5NkiT73iZEGYDznP+Vt8es53ZWtl1AC4?= =?us-ascii?q?Z/9xrFGL9QPp9jIxT3itGrRlRgBiv4YMzUdAQhuOSYxucI+Oh/OVHxZYkFLR?= =?us-ascii?q?IY0b7672RaThd2Qr7solmZRf4RZMdhSP7coXBV7YVgKqERM1iZoJzntSxIqF?= =?us-ascii?q?cwAA8odLA8tDpaeVfSnAdNQab7pKYAihcAUd5+oUJMHGOwOGE95zrATqlVjr?= =?us-ascii?q?OeCP8S8jWVUKMOVV9kMiVgTBOpwJ9uYaemnehbsmNamSNwuOMl3CJgRBugoi?= =?us-ascii?q?DsvKYN2TU8+LGkqjUOp2FKQv+ZkyfSBlVJ1O4KgrsEC3b+9Vy8Z2EObJP14L?= =?us-ascii?q?ljP8vg74cg43M7YRUtZCAGWOOgCybrj6yWHoOPqtVchAWWuMXPa7+zIjIeNr?= =?us-ascii?q?MnyRLsX3J9yBTRnA508GsXRTWt9NEkK5u5OcYk3iqnB3PWdVcN4qNMtcv+q0?= =?us-ascii?q?QLTO8oZl97x2VjyMeHTDUXRMPTA2Y1khQkaWJcfZNN8R8aDagojSqWsaRd+w?= =?us-ascii?q?EUYSvUEp679YXKmsfIw3Y9R89wxm3Kvq2Fmo8q0Hp9ltNz6i6Bpm8fd/TcU8?= =?us-ascii?q?B2GXjzyoZfxvDiZ/W3rO8IVpFqyLK/X/8eKsOj43e52I12Wk+5wbQTB165MO?= =?us-ascii?q?4FxrfGXCapUGmYWeWQc2iQhDY0KU/y6gOuLl0wcstKqFU9MuTajJ5GiwLhSa?= =?us-ascii?q?90RjmXpVLDyWwsK/8VdwI3uIehfAwHV/ARZ+maJecwxP0+CV0Mb2LGHCdsDO?= =?us-ascii?q?+2q1GtlpBhO3p8+UX6ffjt8gf+PduQABYEEonaoYVq9PynQGKBJX9gzBpvPE?= =?us-ascii?q?l79+ffC049tulCfJaNhdLQnch00fYZd/dxNi0wotwTmodk6YmOyseKcArRw4?= =?us-ascii?q?30Jd7Pp/iXHfzfw14temFAXboTeRn16JkiPt4lR73TGqNUvQ8SBag/XJMsNm?= =?us-ascii?q?T8+bpqLAxtaA7RZbW1gs7spu6RYJtbuWPWvRoMK3LHthkCzOGkZRBqZJCtwX?= =?us-ascii?q?PpKdY/QSwSgcdqD05AHYBIH8ob5yugBIWP0PW9itS2/0ph/e4NtrHrIvWWxJ?= =?us-ascii?q?K+xYonDMsS3lCCIDuEXPojuU9ilOnnx66YiMOjAN7+ed4CSOlwS3LEbbmDBI?= =?us-ascii?q?ikNzaSIZ2nKVNN9LrFgapwCkvXaS38RKXAsSSlMLNh4EFor+4wcOnSyWkr6L?= =?us-ascii?q?fWkJv3anpAryiu5XiOKNNE7VPMCOCfFxJZQPaI6iBkSKsQa4b5?= X-IPAS-Result: =?us-ascii?q?A2DwAgC/GdFa/wHyM5Bcg0goA4EBWiiMRIwzgwOSaIFvF?= =?us-ascii?q?xiHGiE0GAECAQEBAQEBAgFrKII1JIJKAwMBAiRVAwkBAUgIAwFTGQWDMYFXA?= =?us-ascii?q?wEBqjkzg3Nkg2yCL4gEgVQ/hW6Da4RoIAKXXgiBYYxOjFIrj2yBJRw4gVIzG?= =?us-ascii?q?jCDBpBQbY54AQE?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 13 Apr 2018 21:02:10 +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 w3DL1c3B007951; Fri, 13 Apr 2018 17:01:42 -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 w3DL1Ta6011152 for ; Fri, 13 Apr 2018 17:01:29 -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 w3DL1Y1r007949 for ; Fri, 13 Apr 2018 17:01:34 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1CMAAC/GdFalywYGNZcHgEMBoMXKIFeK?= =?us-ascii?q?IxEjDODA5JoggaHMiE0GAECAQEBAQEBAhQBAQEBAQYYBoV6BidiUVcZgzaBVwM?= =?us-ascii?q?BAao5M4NzZINsgi+IBIFUP4Vug2uEaCACl14IgWGMToxSK49sgSUcggozGjCDB?= =?us-ascii?q?oJIjghtjngBAQ?= X-IPAS-Result: =?us-ascii?q?A1CMAAC/GdFalywYGNZcHgEMBoMXKIFeKIxEjDODA5Jogga?= =?us-ascii?q?HMiE0GAECAQEBAQEBAhQBAQEBAQYYBoV6BidiUVcZgzaBVwMBAao5M4NzZINsg?= =?us-ascii?q?i+IBIFUP4Vug2uEaCACl14IgWGMToxSK49sgSUcggozGjCDBoJIjghtjngBAQ?= X-IronPort-AV: E=Sophos;i="5.48,446,1517893200"; d="scan'208";a="251358" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 13 Apr 2018 17:01:32 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3ATuAqnxO1yWK12JpqvW8l6mtUPXoX/o7sNwtQ0K?= =?us-ascii?q?IMzox0LfT4rarrMEGX3/hxlliBBdydt6ofzbKO+4nbGkU4qa6bt34DdJEeHz?= =?us-ascii?q?Qksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPER?= =?us-ascii?q?vjKwV1Ov71GonPhMiryuy+4ZLebxlGiTanfb9+MAi9oBnMuMURnYZsMLs6xA?= =?us-ascii?q?HTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKH?= =?us-ascii?q?w65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD?= =?us-ascii?q?+s7bpkSAXwhSkaNzA37m/ZhM93gq1ZrhKsvABzz5LObY2JLvdyYr/RcNUHTm?= =?us-ascii?q?RBRMZRUClBD5ukYYsOE+UBOuJYoJPmp1ATrhW+Ag6sBPj0yjRVgXL226w63P?= =?us-ascii?q?gmEQHCxgMgBMgCsHXTrNXyL6cSSvu4zKzHwDTMdf9W3i396IfRfx0nvPqCXq?= =?us-ascii?q?pwfNLPxUUyGA7JlEucpIP/Mz+L2ekBqWeW4uV4We+si2MrsQB8rzy1ysosi4?= =?us-ascii?q?TFnJwZx1DZ+Sh/3Y07P8e3SFRhbt6hCJZQtz+VN49xQs46TW5lpj80xLsItJ?= =?us-ascii?q?OlZiYH1Igryh/FZ/OZbYeI5wnjVOmLLTd9nn1leba/iwy38Uihzu3wTsi00F?= =?us-ascii?q?BUoSpZitTAqG0B2hPJ5sSZRfZx5Fmt1DmV2w3c5exIOUU0mrDaK54lzL4wjJ?= =?us-ascii?q?0TsUHbEyHrhEv4kbOae10i9Oat6+rqY63rqJ2COoJsjwHzPasvlta4AeQiPQ?= =?us-ascii?q?gDR26b+eWg273k+U32Wq5Kguc3kqnet5DaPt8bq7WiDA9Sz4Yj7QqwACm90N?= =?us-ascii?q?gCmHkKI11EdAiAj4jzNFHCOOr4Auung1SwjDdrwOjLPqb/DZXJL3jDlqrhfL?= =?us-ascii?q?lm5k5AyAs80dBf55VOBrEHO/L8QFX9tNPfDh8nYESIxLP8BdF80J4OcX6eCa?= =?us-ascii?q?+edqXJuBmH4fx8DfOLYdozuT36L/E+r9/pimQi0QsbfKKu2ZIMLnG/Ge99C0?= =?us-ascii?q?DFcTzrmNhXQjRChRY3UOG/0A7KajVUfXvnB/hmtDgmFIKrC5vCTYmxgbuHmT?= =?us-ascii?q?22BYBSensZUwKRGnDsLtScUq9SLi+fJ9Ru1DkNVLznTo4lhlmitw7/nrxgKO?= =?us-ascii?q?ecuigVronq29U94erP3Qoz+jp5A4XV02yEQ2xu2GJdQTgw0a0=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CMAAC/GdFalywYGNZcHgEMBoMXKIF?= =?us-ascii?q?eKIxEjDODA5JoggaHMiE0GAECAQEBAQEBAgETAQEBAQEGGAZXgjUigkwGJ2J?= =?us-ascii?q?RVxmDNoFXAwEBqjkzg3Nkg2yCL4gEgVQ/hW6Da4RoIAKXXgiBYYxOjFIrj2y?= =?us-ascii?q?BJRyCCjMaMIMGgkiOCG2OeAEB?= X-IPAS-Result: =?us-ascii?q?A0CMAAC/GdFalywYGNZcHgEMBoMXKIFeKIxEjDODA5Jog?= =?us-ascii?q?gaHMiE0GAECAQEBAQEBAgETAQEBAQEGGAZXgjUigkwGJ2JRVxmDNoFXAwEBq?= =?us-ascii?q?jkzg3Nkg2yCL4gEgVQ/hW6Da4RoIAKXXgiBYYxOjFIrj2yBJRyCCjMaMIMGg?= =?us-ascii?q?kiOCG2OeAEB?= X-IronPort-AV: E=Sophos;i="5.48,446,1517875200"; d="scan'208";a="12037480" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ucol3cpa06.eemsg.mail.mil ([214.24.24.44]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 13 Apr 2018 21:01:31 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;24f770be-6452-46b5-a17a-b52d13ee243c Authentication-Results: ucol19pa06.eemsg.mail.mil; dkim=none (message not signed) header.i=none X-EEMSG-check-008: 417935896|UCOL19PA06_EEMSG_MP4.csd.disa.mil X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 129.104.30.34 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CMAAAlF9FahyIeaIFcHgEMBoMXggYojESMNIMDkmiCBhOHHyE0GAECAQEBAQEBAhQBAQEKCwkIKC+FIwYnYlFXGYM2gVcEAaoyM4NzZINtgi+IBIFUP4Vug2uEaCACl14IgWGMToxSK49sgSUcggozGjCDBpBQbY54AQE X-IPAS-Result: A0CMAAAlF9FahyIeaIFcHgEMBoMXggYojESMNIMDkmiCBhOHHyE0GAECAQEBAQEBAhQBAQEKCwkIKC+FIwYnYlFXGYM2gVcEAaoyM4NzZINtgi+IBIFUP4Vug2uEaCACl14IgWGMToxSK49sgSUcggozGjCDBpBQbY54AQE Received: from mx1.polytechnique.org ([129.104.30.34]) by ucol19pa06.eemsg.mail.mil with ESMTP; 13 Apr 2018 21:01:29 +0000 Received: from localhost.localdomain (abo-251-56-69.avi.modulonet.fr [85.69.56.251]) (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 AEEED564946 for ; Fri, 13 Apr 2018 23:01:14 +0200 (CEST) X-EEMSG-check-009: 444-444 From: Nicolas Iooss To: selinux@tycho.nsa.gov Date: Fri, 13 Apr 2018 22:34:22 +0200 Message-Id: <20180413203424.20542-3-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180413203424.20542-1-nicolas.iooss@m4x.org> References: <20180413203424.20542-1-nicolas.iooss@m4x.org> X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Fri Apr 13 23:01:15 2018 +0200 (CEST)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Subject: [PATCH 3/5] libselinux: label_file: fix memory management in store_stem() X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP If store_stem() fails to expand the memory allocated on data->stem_arr, some things go wrong: * the memory referenced by "buf" is leaked, * data->alloc_stems has been increased without data->stem_arr having been expanded. So the next time store_stem() is called, the function will behave as if the buffer holds enough space, and will write data after the end of data->stem_arr. The first issue is being spotted by clang's static analyzer, which warns about leaking variable "stem" in find_stem_from_spec() (this function calls store_stem()). This both issues by freeing buf when realloc(data->stem_arr) fails, and by not increasing data->alloc_stems when this happens. Signed-off-by: Nicolas Iooss --- libselinux/src/label_file.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libselinux/src/label_file.h b/libselinux/src/label_file.h index 3f9ce53b7ffe..1ab139e962f2 100644 --- a/libselinux/src/label_file.h +++ b/libselinux/src/label_file.h @@ -278,12 +278,14 @@ static inline int store_stem(struct saved_data *data, char *buf, int stem_len) if (data->alloc_stems == num) { struct stem *tmp_arr; - - data->alloc_stems = data->alloc_stems * 2 + 16; + int alloc_stems = data->alloc_stems * 2 + 16; tmp_arr = realloc(data->stem_arr, - sizeof(*tmp_arr) * data->alloc_stems); - if (!tmp_arr) + sizeof(*tmp_arr) * alloc_stems); + if (!tmp_arr) { + free(buf); return -1; + } + data->alloc_stems = alloc_stems; data->stem_arr = tmp_arr; } data->stem_arr[num].len = stem_len;