From patchwork Fri Mar 17 21:05:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9631621 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 7912960245 for ; Fri, 17 Mar 2017 21:07:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6BA7A28511 for ; Fri, 17 Mar 2017 21:07:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6075F285D4; Fri, 17 Mar 2017 21:07:21 +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=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (emsm-gh1-uea11.nsa.gov [8.44.101.9]) (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 550C228511 for ; Fri, 17 Mar 2017 21:07:19 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.36,178,1486425600"; d="scan'208";a="4086189" IronPort-PHdr: =?us-ascii?q?9a23=3AXV6kdBQxdTRqSSQPYffnptoGatpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa68ZhOEt8tkgFKBZ4jH8fUM07OQ6PG9HzJaqs/d7TgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyrQjdrMgbjZVtJqosxRbEomZDdv?= =?us-ascii?q?hLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfM?= =?us-ascii?q?TQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklD?= =?us-ascii?q?sLOjgk+27ZkMxwiL9QrgynqRJx3oXYZJiZOOdicq/Ye94RWGhPUdtLVyFZAo2y?= =?us-ascii?q?cZYBAeQCM+hft4nwpUYCoBWxCgawC+3g1CRIi2Tq3aA4yektDRvL0BA+E98IrX?= =?us-ascii?q?/arM/1NKAXUe2t1KfIzCnMb/RS2Tjn84jDbxMvofaLXbJrasra1E4iFwXEjlqM?= =?us-ascii?q?rozlOyma1v8Xv2ia6OpgUvmvi3U8pgF0rTWuyd0gio7ThoIa013J8zhyzoUtJd?= =?us-ascii?q?CgVUJ2btGpHIFQui2HLYd6XMwvT39ytCon0rELuoO3cDILxZkm3RLTduKLf5SS?= =?us-ascii?q?7h79SOqcIzF1j29/dr2lnRa9602gx/X5VsmzzVlFsDJIksLJtnARzxzT7dWHSu?= =?us-ascii?q?dl8kehxzmP0wfT5/lYIU8uj6rbKoMhwqUqmpoPsUXMAi/2mELsgK+Qakok4fSn?= =?us-ascii?q?5/7iYrXnop+QL450igfgPaQygsGzHOs1PwcUU2Wb5OiwzqPv8ELnTLlQk/E6iq?= =?us-ascii?q?zZv4rbJcQfqK65GQhV0oM75hakETim1NUYnX8aLFNKYR6IlI/pO0zIIP/kE/i/?= =?us-ascii?q?mE+hkCtrxv/aPr3hBY/BLn7YkLj7Z7p95ElcyBQrwdBF+51UEq0BIO70WkLptt?= =?us-ascii?q?zYCRk5PBaow+bnEtp90JgTWWCIAq+fNaPdq0SI5v4xLOmWf48ZojH9K+Iq5/T2?= =?us-ascii?q?l382hUcdfbW13ZsQcH24HPZmLF+FbnrvmdcBFmEKvgsgTOHxhl2CVSNTZnmpUK?= =?us-ascii?q?Ih4DE7FJ+mAZ3ERoC3j7yLxD27EYFOZmBaFlCMFm/ldouFW/cIbSKdPNVhnycK?= =?us-ascii?q?Vbe/VoAh0guuuxXiy7p9KerU+DMXuo7/1NRv4O3Tjx4y/yRuD8uBy2GNU310nm?= =?us-ascii?q?QQSjArwK9/pEt9ylGf0aRlmPFYC8Jc5+lIUgY7Mp7cyfZ2C9bsVQLdZt2JUkqp?= =?us-ascii?q?Qs26ATEtSdI828IBY1pnFNW4lR3Mwy2qA7oJmLORH5w07rjQ337vKMZh03zGzr?= =?us-ascii?q?Uuj0E6QstTMm2rnq5+9gnUB47PiEiZkqKqeb0d3C7L7muDy3CBvFtbUA5xT6XK?= =?us-ascii?q?Q2oTZk3IotTl/knCVaOhCaw7Mgtdzs6PMrVFasXzglVcRffjI8/TY3qrlGeqBB?= =?us-ascii?q?aI3auMbI7wdGoBwirREk8Ekxoc/XyeLwgxGj+ho37CDDxpDV/vbVns/vN4qHyn?= =?us-ascii?q?T0801BqHb0h517q04xIVnvKdS+gJ0rIDoichpC1+HEyh0NLOF9qAuw1hcb1fYd?= =?us-ascii?q?wn41dH0n/Zuhd+PpO6LKBigUMefx5wv0P02BV9Ep9AntQyrHM20ApyLrqV30lc?= =?us-ascii?q?eDOC3JD/JKfXJ3Lo8x+zbq7awFbe0MyZ+q0X8vQ3t03jvB21Fkol63hn08da03?= =?us-ascii?q?+Y5pXNFwcSVY/xUlow9xh/vb7WeC4955nb1Xd0K6m7rifC2841BOsi0hugZNlf?= =?us-ascii?q?MLmDFA/pD80XHNOuKOotm1mnaxILJuZS+LQyP8y4a/uMwLSrM/p4nDK6kWRH55?= =?us-ascii?q?hw00yW+Cp4Vu7HwYwFw+qD0wuZSTj8lkyust3ymYxeYjESBGW/wzD+BIFNfq1y?= =?us-ascii?q?YZoLCWC2Ls2r29pxmp/tVGRc9FO4G1wG38qpdgaIYFzmwQ1cz0IXrmK7mSGg1T?= =?us-ascii?q?x7jykprraD3CzJ2+nichsHOmpPRGZ8llfhOpK7gM4AXEivdQQpkwGl5UnizahB?= =?us-ascii?q?uKt/N3XTQVtPfyXuMWFiU7e/tqaFY85V8p8nrSVXUOO6YVCVUbP9pxoa0yX5EG?= =?us-ascii?q?tEwzA3bTaquo/2nxZikmKSMG5zrGbFecF33Rrf4N3cReVN3jYfXyl3lz3XBlm6?= =?us-ascii?q?P9m08tSZjIzDsvi/V2KnV51cbTLrwZmGtCSl+W1gGQe/kOyrmt37DQg61jf218?= =?us-ascii?q?NtVSXMqBbzfJPr2Li9MeNpZURoH0L85NZhGo1klYswnp4Q02AAhpqJ5XoHjXvz?= =?us-ascii?q?MdJD1KLmdnUNWDoLz8TP7wT/w0JjKXaJx57+VnWb2cZhYsW2YmUR2i0h9cxKDr?= =?us-ascii?q?mb7KBclytvvlW4tR7RYeR6njoFyvsh9ngag/oStQou0CqdBKsSHU9GMizwjRiI?= =?us-ascii?q?6Mq+rKpPbma1bbewzFZ+ncymDLyavAFcXmv2d4w8HS9288p/MEjA0Hvt5YH4YN?= =?us-ascii?q?PQd84ctgWIkxfciOhYMIoxmeAXhSpjIm/yoXwly/I7jBB305G1po6HJ39q/KKj?= =?us-ascii?q?DR5SLif1aN8L+jHxkaZemd6b35i1EZV8HjUEQoPoQuiuEDIOq/vnLR2DECAnqn?= =?us-ascii?q?iFA7rfBhWT6Fxhr3LSCZCkK2+YJHcezdV4SxmSOlZTgAYKUzUmhpQ5DBylxNT9?= =?us-ascii?q?cEdl4TAc/lD4pQFKyuJ0MBn/V3zSpAm2ZTgpT5ifNgBZ7hlY50fSM8yR8P58Hz?= =?us-ascii?q?1C8p2mtgyNJXSRZx5UAmERRkyEG1fjM6Gr5dba9+iYAvSxL+fSYbqUs+NTTPGI?= =?us-ascii?q?yoyz0ot94zmDLN2PMWd4A/09xEVDQWhzG97FlDUXVywXiyXNYtaBpBum9Cx7tM?= =?us-ascii?q?W//+7vWALo5YqCEKFdPslq+xyshqeDLeGQjj5jKTlEzpMM2WPIyL8H0V4ckSFh?= =?us-ascii?q?aSSiEa8aui7LUKLQnbRXAgUBZCxvMctE9aU83hNCOcTDkNP6yqZ4juIpC1dCTV?= =?us-ascii?q?HhnNupatYSI2GlL17HCkeLNK6dJT3XzcH3YKW8RqdWjOpIth2/ozKbH1XkPjSZ?= =?us-ascii?q?mDnjTwqvPv1UjCGHIBxev5mwcg5zBmf4Ut3mbBy7MMNwjTAtwL07mG3FOnAGPT?= =?us-ascii?q?h7aUNNoaWa7TlEjfVnB2xB8n1lIPGflCmC6OXYLpcWseB3AiRvje5a+2o1xKdP?= =?us-ascii?q?4CFfWvN1nCrSrthzo1CpieSA1jpmUABTqjZQno6Ks19tObnC9plHX3bI5hUN7X?= =?us-ascii?q?+fCx4SvdtqFsXvu7xMytjIjK/zMy1N88zO8ssTGcfUM9mKMGE7Phr3AjHUAxUK?= =?us-ascii?q?TSWxOWHZmUNdjOmY9meJoZgitpjshJ0OR6dAW1w0GfMaDUJlEccfL5hpRTwkkK?= =?us-ascii?q?SUjMgS6Xq5thnRS91QvorbWfKKHfXvNDGZgKFeaBsH27z4M5ocO5b820x6dFZ6?= =?us-ascii?q?moHKFFDRXdBJuSJhaQA1rF9K8HhkQW05w1jlZR+14H8PCf60mQY7ihd5YeQo7j?= =?us-ascii?q?vs+VA3J1vUqys2i0Yxg9Llji6ScDPqMKiwWoRWBDbuuEgqLpP3WQB1YhOunUZ8?= =?us-ascii?q?LjfLW6pRj6d8dWBskALcuptOGfpCQqBfZR8Qwv+XZ/s23lRAtiWnxUhH5e7bBp?= =?us-ascii?q?d4kgslb4KspWpa2w1/dN41ObDQJK1Rw1hWmK2BpCuo2/sywA8ZPEYN7HmdeCgT?= =?us-ascii?q?uEwLN7kqPSyo8fJw6QaagTtMZHAMV+Y2ovJt7k49IfqPzzn+3LFZMEC+K+yfIr?= =?us-ascii?q?iCtGjBj86HX1Qw1k0Ql0lf47d30d0vc0yKWEAz1LGRDQgGNdLeKQFJaMpf7GXc?= =?us-ascii?q?fSGIseXL3J16IYG9FuHzQOCUqqkUmEWkEBwuH4QW4cQLBoOs313ALcf7ML4Fzg?= =?us-ascii?q?0g6xnxK1WbDfRGZQmLnSwdrMGl1p932odcJioDDmphLCW3/LfXphMqgfaZWtc5?= =?us-ascii?q?fGsaVJMeNn0qQM26hzJZv3NYATaqyeIW1hKN7zDmpivKEjnxdMFja+2XZRNxEt?= =?us-ascii?q?G54y8z86yriV7R6JrePXj2Nchlut/M6eIaoIyLC/VKQrlhq03cgZVXR2S2U27T?= =?us-ascii?q?Ft64P5zwa442bdPqDHa7U1u/hik6T8f3IdahNK+IgRvnRYxMqomUwCgjNdOhFj?= =?us-ascii?q?EZAxpwvP8M5KZ9ZQ0Ffpo6bgXluBg5N6y6PAiXyM6uQ3q3JTtQUfZf0f2wZ6ZL?= =?us-ascii?q?wCo0cu+61HwgQ4k5z+mt8U8CXpcKjg3exfu4aIleVjDzFWBHdwXJuyU5i3BrNv?= =?us-ascii?q?wuzecn3BPIrV4cPiiXdOxobWxEuM08BVOSIHhtF2U4Rl+dgpDY7QK22bAd4Tdd?= =?us-ascii?q?lc5O0eJZqHj+ooPfYDW0VaOxrZXVsjYvYsY+rK10MY3jJMyGtJXEkTHEV5bQsx?= =?us-ascii?q?eKUCijG/pUh9hcOiRYT+dUmWs9I8wJpZJB6VYtVsc5P7FAE7cjpraxZDV+ECES?= =?us-ascii?q?0zEWV5mb3DMYmOe926HWlhCKcJQtKBYEqolNgsMBUy5qZSMTvKCjV5jXl2+ATm?= =?us-ascii?q?gEPgIT4B9R6w0ejYBwf/rq4IzSQJ9L0T5WrOp+UjHXGZlw61v7VmaWjEDiSPWn?= =?us-ascii?q?kuymwQJSzPXo0tkAQBBxEFVTyfxKm0UvM7x4N64QvovWvTCSbkP6oHjhyO24K1?= =?us-ascii?q?lN0cfUbUH3DJLZtWrgVS0R4WcUSpJSx3zEGpQSlgV4ZLwtpFpSPICsYlz+6CA8?= =?us-ascii?q?x4R1A7m4Utimx0w/onYcQCelCMFMC/18sF3NRj1qfZSrqJTjO5VdRm9Q+ZKdq1?= =?us-ascii?q?dFkEVjKSG5059cJ9tL4jESQDhFuS+ds8eqSM1fxc92CIcBI9llt3jhGKNEOZ2R?= =?us-ascii?q?o3wstbzs0XLZ+i4zv0mkyzmpHK+4Ve1Z9XUEGgo1P2SetlUvD+w0/2jI6FDNr1?= =?us-ascii?q?Z08/1YBrWUjEVxoTd9HoxVCTpT03CqMUhzRmFcs+pGMKTVb9BcQ/4qaB+uPRw+?= =?us-ascii?q?CeAp30iX8kFxg3j5fzZytwtB9iDaRwk7Sy8VgrL3lj0frsGoIjgaSp1SYTUmdS?= =?us-ascii?q?fFJBqRmTpLsxZHd0FqR5cZD85K+7EBx4RU+NbCRF2tKSECUh1iMB440fpBmk5C?= =?us-ascii?q?tkWYZT7SDRCyefbJrBJ3Yd+brNS1I/Th4AdHloTnvfgk96UEQn2rghGtTczbr4?= =?us-ascii?q?DnrNGKsFWBdLvgOe2mfXDBVCTMjQy3hbo8D5nF5TLTPxBfK5Zn0ncrfIbuCXbT?= =?us-ascii?q?PRtYI6IUOVBbWbp9adVcreBQf9Vkd7oR+a9xGhKHQQviGI6orPZYNVvcWCrRLz?= =?us-ascii?q?6f/eylvYLc86HSRfLmZsOS23bNW7h3MYti6TnnB7fq1pdT9VH42vhx6k93S0XK?= =?us-ascii?q?Pi6aodv9IQML4dWteVH5vp01Bz/WBol/kGb1zEFaa8UXWzGq8IgfyJ5B8nb/V/?= =?us-ascii?q?930kjpv+1O7LRk7Y434653xsuqOajSLulVvlF9DhiSGApq6o0nAHJjSGBJfu8R?= =?us-ascii?q?NPDRcLwBjcD1t+D4DbEY6AGO9uxCbtvHOlvBldWhBTGaVRxEhh0OqToAIgubzf?= =?us-ascii?q?6FlLd+Sdy5qujhxkIt/1++IwYazLB3+4iL5LeHqfTKbxvV0bgEQLLlRt3yrrQr?= =?us-ascii?q?v0Od++EkmKQJemxvbA2tCPIdWdIFxmf80aAqyjohHN7FH7364/NMSnQ5kSj6l5?= =?us-ascii?q?B6BVUWFeseHaCX8oRGgmc4h+vZO8UUcq9YgGaPEgWkErsYxn618CaXJXRlghXS?= =?us-ascii?q?0xHxXWyz7UX5rSljQSfWyNfjiEVVXKGtBUhORyqpJVN4sDSXMQrqrtX3v6o17F?= =?us-ascii?q?sxMmP5qt2Aj3ehN6lRH83kI9yQOy80q0wLjJcpXNygxZgbGcahINcW6Hx+aP/e?= =?us-ascii?q?5niqky9HpqdLnYve4seb+vXNB3aglLGaq6+QxD9E1ng4oEs/5c66OvHJ/d2KTO?= =?us-ascii?q?yi13wNQCdnpwvBQxm1p6Tdr1AVJUOL10PLl5YRPt1D3Hk40Ubm5PM4QN8o8QVT?= =?us-ascii?q?GYnBa+kFpTDpNzv+2UyfbM4vVimCzztXGUr4HkViF6g4xm3wp97JlHfX+1AzXY?= =?us-ascii?q?l/a03nigJxD4UkKEIi8kIbwiwdHggRcRqbFq2nBVz5LYsYUkgOcRCH3KO/eqo3?= =?us-ascii?q?xkBzzK2g6/LUbexmHaUNLuxdjgmMnFdFBp0WrbcSQLVme19S7KTXvBTtC5D7X/?= =?us-ascii?q?j6kno9Lf+1QsFf8c0Csnst/Aa+SAS66ZdC6bYbh4qEdqhabpjQpMp89Vto5SYT?= =?us-ascii?q?dixRhxhylxK5UOEGq+/5/tfWq4Go5fiyVKkzW+ob7R80B35xj5HomlAsvcnX1/?= =?us-ascii?q?tASo3SkYnw6wFNI2WEuYnA0Rl8KPYOK5qxc7Z983UKPDQRJ3UTMtWIcfY8/jVt?= =?us-ascii?q?MDLJ51NYGM8MYskYPMXVkwBOlkLpQK1T9tbcGlKAE4d8bdwo4Hb3yDE79ps8SO?= =?us-ascii?q?Xg5CatJZ/B61FNPvVDjDhjld/ZvOga2+bSBzQX4XiXbBh12CCCx4OOC/nu5+WM?= =?us-ascii?q?zs/bV1ccEi4xSYddKyKI+Ra7SeqtiJXpTgSU59fvgJIkak2QQma+nKIbvatXDO?= =?us-ascii?q?FAiyr73jlCFo/vnPKaqcCs6HZNul1BDolz8QXPGL9DMZVjJRT4is6rS1BzBiTl?= =?us-ascii?q?YsHbaAYuuOqNy+cI4uV+K1XxZY8BLRIZ0LL283xVQRVySLTupFaWQfoRZMd6SP?= =?us-ascii?q?PDtn1V5pxvK6kTPFiao5zmqSxIp04yAA8obr8wszNbe1LKnAJLQab1uKQPhhEa?= =?us-ascii?q?UdFnpU9GAXiwN34m5zrbSaRVi7GcB+AX8jqJUqMDSFlnMiR6QxOx2ZVhZaGpne?= =?us-ascii?q?xZvWxaniNxuv8q0yZpRBGkoy3ju7oN2S48+LG/rDgBvHtFTuOCkyfHF1pO1/EK?= =?us-ascii?q?jaYGBHbk91O8fHcCbIzo4LlkPsTs748h7GojYR87ZS0JQfygCz3sj6OPGoGPv8?= =?us-ascii?q?5ThAWWuMnXcLG9Ii4cNrU7yRL+SHlwyQfenBNy/2sNXDqs9tgkJJ+yOcw93Cqn?= =?us-ascii?q?BXDbdEoQ4qNOqMbxt1kLTOswaV973Gpj0syHRjAQS83OGmY1iBMkaWZFcJ9Y9x?= =?us-ascii?q?8aFrcojSyMvqZb/wEYejHUHZq5+oPIh8fHxWE9Tct2xmLRvqCFh40q32djm95v?= =?us-ascii?q?6i6OpWkdd+3fU893GHTz0Z1fyePmbfW3ru8HUJdmyKimUPIaMMms52W22JtuWk?= =?us-ascii?q?K+yLURBVy5P/EfxrvBVSeqV3GYU/yRc2eQhzY5LlLy5R6wI104bMdKqEE8PfXG?= =?us-ascii?q?hp5YjADhSrR0RiORpVDH1mAjN/0Vdx4usoe9ZwMKVPIRZ/SbJeU2wv0+CFsNb2?= =?us-ascii?q?fOHStyCu+2rUCikZN+O3Vh/UX6e/ri/hrhMNuIFRkOCZTaoYJp+fymWmKBPmdt?= =?us-ascii?q?zAFzPElx7OrfC1UxufNfc5mPmdjcndJ73vAZd/11Ky0ypsYTmp5/6YmTyMqKdB?= =?us-ascii?q?DRzpXxJdHSufWYAefQz0ctemFcTLUZZxn554MkMd4lQ7fTB6dWvQwABagmR5ws?= =?us-ascii?q?L3z++79yLANvaQPRf7C0gs72puKXeJtbuWLZ4kg3LCfGtB0J0ua0QhBjb5C2m3?= =?us-ascii?q?XyJ4g9RipGr91pEBRmBoVOG8QErwqpGJOUnaa7i9iq+0xkp+AKq63wCuvR1NS4?= =?us-ascii?q?2YVxUIJW5UuRPDbeHKNrmFhqjvyugvfc1Zn8Ec3ids0AVOh6Wm7KdKTLH4S+Kj?= =?us-ascii?q?KLP8LzZVRG87qC375jVRWRfi/5VbKctCK4LPVk/Vk7yotgcevd1Dwt9bDb18fs?= =?us-ascii?q?aGxAoyejrGKJNIFB41DQAuzeRR1UQ+Kf8Gl5Ba0XcZf09OAWPNwlxNiT/RJ+7C?= =?us-ascii?q?xG0MSfOKihsk7M1V5ndZLBMkTmxTw1WY8ULxSjKUEsm3PWqmzBAXRAKcipMc1t?= =?us-ascii?q?gNeTDhzw6Eh9gGUtZm9aGmr0XtecImkb1Ni4ZA2N7g5LCMwDn+Gvc04iqqKyUf?= =?us-ascii?q?VoOolCmeiyr7UIj9JpKyDJRMhHMCDcK7B4PiZRDurRvlgnfAYEvKIuV4c2e5eO?= =?us-ascii?q?OkUHP1mEySzp0AvC3lf4d9u21KaGOCwW6GlIz6rZ0ThQoAm0ofOZjdf/X7DZbZ?= =?us-ascii?q?H2WvnSPTE7VjGbQzQ9D0Kp+Vaiu/oZs/uUO2AfokobYiiKEg4curhvrcTMDm/U?= =?us-ascii?q?geBjfocFhPOdWy/rUyB4iawyBjpLtUCLXvoDGgnWb2P7jGpapgOiOudG/Wj5YL?= =?us-ascii?q?2A2qpVR+sWD5NDcvKDWNTYY/FeKCksljgCJua8e8fTr6040lLVV2cZFbfH9EGG?= =?us-ascii?q?Rk6MXvOc3y7rXZkSv4UsuCoo/9XQnjVtE6TJJLaSvDiu/ZS9jCmGuO3STG4tY1?= =?us-ascii?q?Y6gOgaGmmO3AFAKH0YC9ESoEztWaCAZ0NQ238oiu9jwAEMdxppUn1v03xWm/C9?= =?us-ascii?q?FtdfSVEKkGOkWOcGY0xvDDMs4U+K5RX/Yd4HucDVQ29T7b4MRpQAI/km74nXIr?= =?us-ascii?q?cfz+gz0DJgviM6r3bVM1QIlQ+B8qzNDIpg17ZC4i8+5PgwUUaREB3FdW2S7Iut?= =?us-ascii?q?DMZG3m9Ppnf/zIKAuOFmM79TvMd4B1ARGgpzesCb+ipOBzKnkDCutgq2SWzNaA?= =?us-ascii?q?kS5ywGcGlcLus=3D?= X-IPAS-Result: =?us-ascii?q?A2EBBQAZT8xY/wHyM5BdHQEFAQsBFwEBBAEBCgEBgyaBa45?= =?us-ascii?q?kmHqPNyaJBlcBAQEBAQEBAQIBAmgogjMigkgCJBMUIA4DCQIXKQgIAwEdEBUfC?= =?us-ascii?q?wUYBIlHAxUEAbRKOiYCg2iDIw2DO4ZOh0CBVREBhgEFnA86ggSMDAGEJIp6hj6?= =?us-ascii?q?KYIhzWHwIIxYsSYZYdIcpgi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 17 Mar 2017 21:07:18 +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 v2HL63d6019168; Fri, 17 Mar 2017 17:06:21 -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 v2HL60H4146321 for ; Fri, 17 Mar 2017 17:06:00 -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 v2HL5xaI018960 for ; Fri, 17 Mar 2017 17:05:59 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1CnAAAZT8xYhyIeaIFdHgYMhTyOZJh6iyGEN4kLVwECAQEBAQECEwEBAQoLCQgohXJSgQJPiWgDFQQBtEo6hBCDIw2DO4ZOh0CHaAWcDzqCBIwNhCSROIpgiHOBWyMWLIRQAYJQdIlXAQEB X-IPAS-Result: A1CnAAAZT8xYhyIeaIFdHgYMhTyOZJh6iyGEN4kLVwECAQEBAQECEwEBAQoLCQgohXJSgQJPiWgDFQQBtEo6hBCDIw2DO4ZOh0CHaAWcDzqCBIwNhCSROIpgiHOBWyMWLIRQAYJQdIlXAQEB X-IronPort-AV: E=Sophos;i="5.36,178,1486443600"; d="scan'208";a="5983259" 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; 17 Mar 2017 17:05:56 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3Ar5W4OBB4lwl1Fpxufh/ZUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPvzrsbcNUDSrc9gkEXOFd2CrakV1qyI6eu5BTFIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbN/IA+3oAnPucUanIRvJ6YswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wKMSMy/mPKhcxqlK9VoAyvqQFxzYDXZ4+YL+Zycr/HcN8GX2dNQtpdWipcCY28?= =?us-ascii?q?dYsPCO8BMP5AoYn8u1QOqh++ChO3BOjyyTFIgXj23bYh0+88FgzG2g0gEM4JsH?= =?us-ascii?q?TQttr1L70eUeGyzKnP1jXDdOhb2TLy5YnHaBwhpuuMXb1pfMfX1EIhFBvFg02N?= =?us-ascii?q?pYD7Oz6ZzPkBv3SU4uZ6W++jl3Qrpg9+rzS3xcogl5PFi4MUx1ze6Cl13po5Kc?= =?us-ascii?q?emREJnY9OpFoZbuTuAOItsWMwiRnlluCYkxb0Cvp62ZC0KyZs6yxLFc/yHdIyI?= =?us-ascii?q?4xL/VOmPPTh4hHRleLOmhxav70es0Or8VtO70FpSrypFlMfDtmwV2hDO9MSKTu?= =?us-ascii?q?Fx8lq91TuAzQze5P1ILVo6mKfUM5Ihx6Q/lpsXsUTNBC/2n0D2gbeLeEs45+ak?= =?us-ascii?q?9/zqYrX4qpGCOI55kh/yPro2l8y6Duk5PRICX2+B+eSzzLDj+0z5T6lNjv0yiK?= =?us-ascii?q?bZq4rWJcUcpq6+GA9VyZ0u5A24Dze71tQXgWcILElfdBKCgIXoNEvCIPfiDfew?= =?us-ascii?q?m1isiitkx+jaPr39BZXANmPDn6nlfbZ87U5c1QUywMtD55NUFr4BIPXzVlX3tN?= =?us-ascii?q?zDFBA1KQO0w+H5CIY16oRLQm+LA6mEIIvOoFSI4aQpOODKa4gL6xjnLP1wwf/l?= =?us-ascii?q?inswghc8eq6yxtNDbnGzGfBvOAOYZn33mf8ETXdMuRAxGr+5wGaeWCJeMi7hF5?= =?us-ascii?q?k34Ss2Xdqr?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FXAAAZT8xYhyIeaIFdHgYMGAEFAQsBh?= =?us-ascii?q?RGOZJh6iyGEN4kLVwEBAQEBAQEBAgECEAEBAQoLCQgoL4IzIIJwUoECT4loAxU?= =?us-ascii?q?EAbRKOoQQgyMNgzuGTodAh2gFnA86ggSMDYQkkTiKYIhzgVwjFiyEUAGCUHSJV?= =?us-ascii?q?wEBAQ?= X-IPAS-Result: =?us-ascii?q?A0FXAAAZT8xYhyIeaIFdHgYMGAEFAQsBhRGOZJh6iyGEN4k?= =?us-ascii?q?LVwEBAQEBAQEBAgECEAEBAQoLCQgoL4IzIIJwUoECT4loAxUEAbRKOoQQgyMNg?= =?us-ascii?q?zuGTodAh2gFnA86ggSMDYQkkTiKYIhzgVwjFiyEUAGCUHSJVwEBAQ?= X-IronPort-AV: E=Sophos;i="5.36,178,1486425600"; d="scan'208";a="4988684" 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; 17 Mar 2017 21:05:55 +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 9D04356482A; Fri, 17 Mar 2017 22:05:53 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 1/1] libsepol/cil: make reporting conflicting type transitions work Date: Fri, 17 Mar 2017 22:05:26 +0100 Message-Id: <20170317210526.6813-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.12.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Fri Mar 17 22:05:53 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 compiling a CIL policy which defines conflicting type transitions, secilc crashes when trying to format an error message with uninitialized values. This is caused by __cil_typetransition_to_avtab() not initializing the ..._str fields of its local variable "struct cil_type_rule trans" before calling __cil_type_rule_to_avtab(). While at it, make the error report clearer about what is wrong by showing the types and classes which got expanded in __cil_type_rule_to_avtab(). Here is an example of the result: Conflicting type rules (scontext=testuser_emacs.subj tcontext=fs.tmpfs.fs tclass=dir result=users.generic_tmpfs.user_tmpfs_file), existing=emacs.tmpfs.user_tmpfs_file Expanded from type rule (scontext=ARG1 tcontext=fs tclass=ARG3 result=ARG2) Reported-By: Dominick Grift Signed-off-by: Nicolas Iooss --- libsepol/cil/src/cil_binary.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/libsepol/cil/src/cil_binary.c b/libsepol/cil/src/cil_binary.c index ac371aef7b2d..ac18c4e2ee5d 100644 --- a/libsepol/cil/src/cil_binary.c +++ b/libsepol/cil/src/cil_binary.c @@ -1018,7 +1018,14 @@ int __cil_insert_type_rule(policydb_t *pdb, uint32_t kind, uint32_t src, uint32_ * non-duplicate rule using the same key. */ if (existing->datum.data != res) { - cil_log(CIL_ERR, "Conflicting type rules (scontext=%s tcontext=%s tclass=%s result=%s)\n", cil_rule->src_str, cil_rule->tgt_str, cil_rule->obj_str, cil_rule->result_str); + cil_log(CIL_ERR, "Conflicting type rules (scontext=%s tcontext=%s tclass=%s result=%s), existing=%s\n", + pdb->p_type_val_to_name[src - 1], + pdb->p_type_val_to_name[tgt - 1], + pdb->p_class_val_to_name[obj - 1], + pdb->p_type_val_to_name[res - 1], + pdb->p_type_val_to_name[existing->datum.data - 1]); + cil_log(CIL_ERR, "Expanded from type rule (scontext=%s tcontext=%s tclass=%s result=%s)\n", + cil_rule->src_str, cil_rule->tgt_str, cil_rule->obj_str, cil_rule->result_str); rc = SEPOL_ERR; } goto exit; @@ -1044,7 +1051,14 @@ int __cil_insert_type_rule(policydb_t *pdb, uint32_t kind, uint32_t src, uint32_ search_datum = cil_cond_av_list_search(&avtab_key, other_list); if (search_datum == NULL) { if (existing->datum.data != res) { - cil_log(CIL_ERR, "Conflicting type rules (scontext=%s tcontext=%s tclass=%s result=%s)\n", cil_rule->src_str, cil_rule->tgt_str, cil_rule->obj_str, cil_rule->result_str); + cil_log(CIL_ERR, "Conflicting type rules (scontext=%s tcontext=%s tclass=%s result=%s), existing=%s\n", + pdb->p_type_val_to_name[src - 1], + pdb->p_type_val_to_name[tgt - 1], + pdb->p_class_val_to_name[obj - 1], + pdb->p_type_val_to_name[res - 1], + pdb->p_type_val_to_name[existing->datum.data - 1]); + cil_log(CIL_ERR, "Expanded from type rule (scontext=%s tcontext=%s tclass=%s result=%s)\n", + cil_rule->src_str, cil_rule->tgt_str, cil_rule->obj_str, cil_rule->result_str); rc = SEPOL_ERR; goto exit; } @@ -1146,6 +1160,10 @@ int __cil_typetransition_to_avtab(policydb_t *pdb, const struct cil_db *db, stru trans.tgt = typetrans->tgt; trans.obj = typetrans->obj; trans.result = typetrans->result; + trans.src_str = typetrans->src_str; + trans.tgt_str = typetrans->tgt_str; + trans.obj_str = typetrans->obj_str; + trans.result_str = typetrans->result_str; return __cil_type_rule_to_avtab(pdb, db, &trans, cond_node, cond_flavor); }