From patchwork Wed Jan 4 22:02:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9497923 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 CD1FA606B4 for ; Wed, 4 Jan 2017 22:03:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CC15A27D76 for ; Wed, 4 Jan 2017 22:03:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C0DD92823E; Wed, 4 Jan 2017 22:03:01 +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 F1B9027D76 for ; Wed, 4 Jan 2017 22:03:00 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,317,1477958400"; d="scan'208";a="2488887" IronPort-PHdr: =?us-ascii?q?9a23=3AFWn5PxOxXYAXZ4XQYVUl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LP/zpMbcNUDSrc9gkEXOFd2CrakV16yP7uu5BDBIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbx/IA+roQjRucUanItvJ6kswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wIOSQ58GXKgcJuiqxVrg+qqxhmz4LJfI2ZMfxzdb7fc9wHX2pMRsZfWTJcDI2y?= =?us-ascii?q?bIUBCPIBMORFo4TzqFQBsRSwChe3BO701j9FhGX70bEg3ug9Dw3L2hErEdIUsH?= =?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/fcMr3nGZXCNGLPkLjmfbZj80Jc0hY8zchD55JIDbEMOPDzWkj3tN?= =?us-ascii?q?PCEh85Mxa7w+D8BdV/0YMeX2ePDbWCMKPOr1CI/PkvL/OLZI8Ptzb3M+Il6OL2?= =?us-ascii?q?jX8lhV8derGk3ZkVaH+iAvtmIF6ZYX3qgtcAD2cHpQQ+TOj3iFyNSjFTenCyX7?= =?us-ascii?q?4h5j0hD4KmF4jDTJi3gLOdxCe7AoFWZmdeB1GCEHfoc4CEVOkWaC+JLM9ujCEL?= =?us-ascii?q?Vb+7S4A7zRGurgj6y7h5IeXI5i0Ur5Xj1MJ65+fLjxE96SR0D9iB02GKV2x7g3?= =?us-ascii?q?8HRzox3KB5vUxx10yO0bZmjPxCFNxS5vRJUgEgOZ7a0eN6F8j4WhjdcdeRVFam?= =?us-ascii?q?XtKmDCksQdIt2dAOeV1wFMmljhDGwyWlGaQVl6CRCJwy7K3cw2D7J9xhxHbeyK?= =?us-ascii?q?khk14mT9NPNGynga5/8RPeB4vNk0mAlqaqc74Q3CjX+2eZzmqOvV9YXxBqXaXD?= =?us-ascii?q?Q38felPcrc7l6UPaU7+uFbMnPxNaxsGZLadKbtzpjU5aRPf4ItjeeHy+lHuqCR?= =?us-ascii?q?aT2LyMaIvqe2MA3CTSE0ULjwAS/WybNQglHCugrXjRDCB1FVLoZUPg6+5+qGm0?= =?us-ascii?q?TkUs1QGFc1Vh16ap+h4SnfGTVesT0ageuCcgsDV5B0690MjMC9qBvAphZKFcbs?= =?us-ascii?q?kh71hZz27ZsBZ9PpO4JaB4mlEeaxh3v1/p1xhvBIVAi9IlrHU2wwpzMqKVy1ZB?= =?us-ascii?q?dyuZ3ZzpIb3WJHLy8Aqoa67M1VHUyMyW9bsX6PQkt1XjuxmkFkk4/HVk1NlVzm?= =?us-ascii?q?CR5pbQAwoRVpLxT1w79x9gp7HVeiM9/Z/b1WVwMamotT/Pw8gmC/Y/yhahYdhf?= =?us-ascii?q?KriJGxXuHM0fHcSuL/Yqm1exZBIeIO9S7LI0P9+hd/ae2K6kIuJgnDahjWlc5I?= =?us-ascii?q?B9z16M9y15SuHSxZoFxOuY3gSfXTfmkFihqtz3mZxDZTwKBWq/xzLkBIlKZq1u?= =?us-ascii?q?ZosLEmGuI8q5x9V7nZHtXWRU9Fi9CFMawMWpYwadb0Th3Q1M0kQauXKmljG8zz?= =?us-ascii?q?xojT4ptLGf0TfQw+v8bhoIIXNLRGx4gVfrO4i0gMgQXFK0YAgxiBul+UH6yrBH?= =?us-ascii?q?pKtiMmbTQF1HfyztIm5+Vauws6aNbNRU6JM0qylXVvqzYUyCQL7nvxQayz/jH3?= =?us-ascii?q?dZxD0jcTGqu5H5nxhkh2KGN3t8tmTWedt3xRvF49zcX/FR1CIcRCZkkTnXGkS8?= =?us-ascii?q?P96x8NWKlpfMrvy+V2W7VpFJbSbrzYSAtC205WBxBR2/nvazlcf9EQg9yyP70M?= =?us-ascii?q?NqVSrQphbmfobrz7i6Mf5gfkRwAF/86tF6Gp1nnosrmp4Q3XkahpOI/XsIimrz?= =?us-ascii?q?Ks1b2aP4bHoMWTEL2MTZ4A77101/NniJ3Z72Vm2Bwst9YNm3enkW2iU578BOFq?= =?us-ascii?q?iU9qBLnSx7o1ejtgLRfORyniwHxfsp8n4ajPkDuBAxwSWFHrASAU5YMDT0lxuS?= =?us-ascii?q?8tC+qL9ba3y1fber00p+mcyhDLaEogxHXXb1ZpEiHShs4cllNlLDzmHz4Jn+eN?= =?us-ascii?q?bMddITqgGUkxDYguhWNp0xkOEKiDFkOW3ju30l0Og7ggJy3Z2gu4iHMWpt9rqj?= =?us-ascii?q?AhFELj31e98T+jb1gKZAmMaZwpuiHotnGjoWXJvkV/SoHywOtf7/LQaBDCU8qm?= =?us-ascii?q?uHGbrYBQKf8F1pr2/LE52wK36XJWUZzNV7SBmTPkNfhhoYXDIgnp42Dgqq3tDu?= =?us-ascii?q?cF9l5jAN4V71sgNMxfh1Nxn7TGjfvB2najEoSJeBNhpb9RxC51zLPsyE9eJ/BT?= =?us-ascii?q?pY/pq8rAyXNmOUeQpIDWYTWkyLGV/vJL+u6sfc8+KAHOqxM+POYamSqexZT/qI?= =?us-ascii?q?y4ig0o16/zaLM8WCJXdiAOMm1UpER3B2AdzZmy8ISywViS3Cc9KbqA27+i1toc?= =?us-ascii?q?C16O7rVx735YuTF7tSNs1i+xWsjqeHM+6fmjp5KSpC2ZwW3nLIzqYQ3EIJiy5y?= =?us-ascii?q?bTatCaoPuTTLTK3Ohq9dFwQbZD9rNMtU86I82RFAOdTBhtL7zLJ4i+Q6C1NCVV?= =?us-ascii?q?3hgcymf9AFI2SnOFPAHkaLO6yMJSfXzMHvfaO8VbpQgf1Stx2qozmbC1fjMy+N?= =?us-ascii?q?lznoTRCvKv1MjC+aPBxYoo69dApiCWn5Q9LicBG7N8V3jTIuy70umnzKLXIcMS?= =?us-ascii?q?R7c05Vtr2f8zhXjet5G2xA8nplKvKJmyeH4ObGNJkaq/xrAj57l+hC+nQ116NV?= =?us-ascii?q?7D1YRPxygCbds8VurE+8nemA0DpoSgROpy1QhI2RvkViJL/Z+YNaVXbA4RIN63?= =?us-ascii?q?+fCw4Tq9t5Dd3vuKBRyt/VmKL1NjhC78re/dEACMjMNMKHLH0hPALyGDHOEgsK?= =?us-ascii?q?VzGrOn/Eh0FGi/Gd7GOVoYI1qpfyg5oCULlbW0IpFvkCEERqAMQCIItrXjMjib?= =?us-ascii?q?OUl88I5XW5rBnXX8hVo47IWemTAfr1LjaVl75EZwEHwbngN4QcKpX721B+all9?= =?us-ascii?q?hInFAUXQUspToiJ/dQI0p11N/2Z4Tm02wU3lawet72QUFf+7hBI2jRF+Yes1/j?= =?us-ascii?q?f2/1g3PkbKpDc3kEQphdXlhjWRfCTrLKe3XIBZFSz0uFMrMpP8XQl1bha/klBj?= =?us-ascii?q?NDfBW71elaBgdXxxhA/ap5RPBeZWTbdYbx8I2fGXe/Io3ExfqiSnwU9I+/DICZ?= =?us-ascii?q?5llAskf56jsW5A2x5jbN4yIKzfOrBFzl5OiaKSpiWozPw+wBcCJ0YR92OfYC8I?= =?us-ascii?q?uEoUNrY4Iyqn4Ols5hKemztZeGkBTP0qoup0+UM7PuSP1SPg07pYJUC2OO2TNa?= =?us-ascii?q?SZu3LPlcSQWFM/ylsIl1VZ/bhxycojdVSbWForzLaKFBQJMtHCKR1PYMpU73jT?= =?us-ascii?q?fieOvf/LwZ1rI4W3DvroQvOWtKYInkKkGx4kH54S4cQaAJajylvYItvnLLMe0h?= =?us-ascii?q?ot5R7rK0iCDPRHYBKLiikIosGlwJ9xw4ZdOikXAX9hPiWv+rbXuggqjeKeU9cx?= =?us-ascii?q?ZHcaWJYLOWwyWM27gCNWpWpPDCOw0u4DzwiC9TD8rDzKDDbgd9pjeOuUZRR0Bd?= =?us-ascii?q?6r4zo/7am2hkPM8pjFPW76L85iutjB6OMBuZmIF+5UTaN8s0fAm4hUXXqqXHDT?= =?us-ascii?q?EdStPZj/d5EsbcDoCna9SlG/hSg1QNnsM9a2NKeIhx3oRYFPsISAxj8sKcq9Gi?= =?us-ascii?q?sZGxdqqOEJ/Lh8ahEbY5onfR7osBwzN6i4IAeCzNquRWesKTxNQvlQy+W6eqZb?= =?us-ascii?q?zy02bu+10HEgVI01z/Gr8U4RQ5EHlgreyuinZ4lfVyjzB3Ncdh7Tqio+kmhuKv?= =?us-ascii?q?w9wvwjwB/St1kTLSyLfvRzaGNYp9E8GU+SIXJuB2o7XV+djZDM4giw37AS5CZd?= =?us-ascii?q?kNFU0fVZv3TkuJ/Qfi6sUrSxqZrJqyogccQmo6ppPIz/I8uGsZTeniDfTJjQqQ?= =?us-ascii?q?CKTS+6FvpAlddLOi5YRudHmX09M8wcpYVB8VYxVts5J7FXEqYsorGqZiZ6AiEK?= =?us-ascii?q?yC8YV4WA3DsEguimwLbVjRaQf44kMBAdvpVCn8ERUyhobSMCvKWjTZnZl3eYSm?= =?us-ascii?q?gXJwce9R9D6xwGloJrZO/q/ZTIQ4FWyz5Nuf10SCvKGoNv91vhRWGcmUL4R+m5?= =?us-ascii?q?k+y1wQJSy+rh0tYGWB5+DUhdw/hZlk4zJb5qNaYfpY/KvSWOdU/gu2Lt0uSmLk?= =?us-ascii?q?FLycLIb134EJbFtW3kXy0G/30URJNAyHHYFZQWiAp3cL8lqkhWLo26fUjz/CAr?= =?us-ascii?q?x4NsH7akT8+r3EoloWwARyi0D9pLE/tmv07PWD15f5Crr43oO49PTWBN45CdpF?= =?us-ascii?q?JZkUp3Py6/15VcN9lH4iQQUzhXvTWdoNyyRdVf1s90FZADPsxytGv6GKNAPJiR?= =?us-ascii?q?omM5uqbzynDH5z88sE22xDKpG6+3V+hZ5XERGh01J2SCrUkiF/Es/X3I8lDKqV?= =?us-ascii?q?955PtbBqKVgkVvvjl9GpFOBjBG1XChLlRzQ3lGs/lUKKvPacxcRuM+ZRmxNBwi?= =?us-ascii?q?DfQmxVCG/VlonXflZCx/rgVb9zrBUAk0VCkVh7btlicdqsy8OD8VVYxHYis7Yy?= =?us-ascii?q?fCMQKbljhdvAxDZEFyR5AZHtFF9qkB0otO48rCT1ygKSIeURxjNwI40OZfmlVZ?= =?us-ascii?q?vEWeZy/dERKidezTvR1vYceRsMmpIez2/AddkIzntvw4+r4CR32hlwytR8zer4?= =?us-ascii?q?/iud2LsEuOaLn3M/embX/HUjfMkQi6ha04AJnS4yjTLA1bJoFmyXojZJjsEnLL?= =?us-ascii?q?MQhDJ60APUZbU751acleqOBAe8BkYLoJ+bNqBh+fRhPgApavo+NCLlnOXjnRMj?= =?us-ascii?q?uO8vSnoY3N6bzSV/LgataLx3bdTKJ9Jo165iXjG7f2zY9e/VL72vVq9kxkUlXJ?= =?us-ascii?q?Lj6OrM//KQMR+MmtaFbtsocvHTzIHJd6iGDtyV1Yd8oLXy2q94wVx4hX6HnsVe?= =?us-ascii?q?510FX/veNJ+rZ47ok35qxmxt2vJafOM/hat1FoAgSMDAVw6potGHR/R3xWYuIJ?= =?us-ascii?q?MvfeY7kWjcD0pODrDKEX7BqV+/JHZtfZO07BndSwBS+GRRxCgggBtSYQLhGA2P?= =?us-ascii?q?6dh690VcGlqPDh2kI2/1ixNAMJzKx26Ief/aqIufXXYAfPwrgCRqjqXNn8rrA2?= =?us-ascii?q?t0OV//0km6YEenZpbA2/DOgdSskdy3/8zaAw0y0jDd7MEqn9+P5HS3I5hCjvm4?= =?us-ascii?q?58H1URHvMbA6aL8Z5ZnmcilOzTLscWfbxammaTCR6kFacPxmOt6ySNO2RqnxfO?= =?us-ascii?q?3AvqTWO09l/2ojdyQTHQwNf7jkpVSr63CF9QXyWzP094vimPPA31u9Xpoqk18F?= =?us-ascii?q?s5Mmr/tNKKjmehPq1YH9HnLtyGPSY0vE4XjIE2RtG324AUA8C9INAK8HF6dPTe?= =?us-ascii?q?9Ximkypco6dDm4re492a+vTNEnmmlK2WsbKNxCpXynIgp1Ew9sigNu3S592NW/?= =?us-ascii?q?mo0WIRQjx+uwvHWh65sL3br1YaOUyRykjLg5AKPstE3XYkykHm+fIjT8wp+AVZ?= =?us-ascii?q?DIbAaOsIpSrvNzvs3Vaff9U3WzGY0ztWAl31Fl14F7In2G7qvcLJknDQ+0YzRo?= =?us-ascii?q?RrckzqihN2A58/KUI351gd2jADHhQVaRCHELGoAlzoIpceWkgHdxuHx6S6e6cw?= =?us-ascii?q?3UBo2bOg+O7TYvJ6B6oRN/ZSlBSCnF5FFZIKqaceWq5ze0dB9K7LoQjvE4znX+?= =?us-ascii?q?PjlXcwLvC1TN5V/t0et3s4+Am/XwCg6ZBB77kFlJ+IarRIYZ/WvMBz901n/yIA?= =?us-ascii?q?djRRgBhjiBO0SeIcpOHm4tXAtZqn9OavW7g3R+UW8Rg0CH5yj53uj1A/udvXzf?= =?us-ascii?q?tTSpXJiYTj9wBAO3+KuYfA3BZmNeUDMJmrc6h893oZOycSPXUOPcCZa/Mk+S9i?= =?us-ascii?q?LC3T50BeAsMLfd4XJ8vNmRtai0LzWrFT99bbGkeCBIduc8Al9Hb4yDco/pQiSO?= =?us-ascii?q?ng9SW2JZfF715XJf9Diz9slN3arugP3fXSEDQX4WWeaxVt2iON0YWNBOrw/eSC?= =?us-ascii?q?z9HUTVAGEjctU4hDIDqC+AqnRve6lZjySgOb8NPzj44+dEOeQXyxhqcFvrxPEe?= =?us-ascii?q?FekCX72CZRFoTvi/KSqdqs53NdtkdbH4Zr8R3FBKJfM41nORTiiMarQlJzBi3h?= =?us-ascii?q?d8zPaxUuueWWxuYQ4+pkLEvxf5UbIg8ex7L893VVUhNkSKTqsVaBQeIReNxmRe?= =?us-ascii?q?vLrn9P84JvNbMPPFiGqZzurzdItE45AA8zZ78ttTxWbE/OkxNJW6zsor4PlhMc?= =?us-ascii?q?UcJluU9LAW+wN3wx5zzbVaRSi6mdD+cV/SuXTqwPVUVoLyx/Tgix2JpwYbuone?= =?us-ascii?q?pIvnlAnixjvPggyyZmSwekuS3wu6IN3iot+LS/tDUHpXxFQfuRnjzNCVVC1vsK?= =?us-ascii?q?i7kTC2rs6Fy7enkDb5Dy7KNhJcv+6Ykr+24/bgk7fy0aQeSgDDn9j6yUDYyUq9?= =?us-ascii?q?JQnQODtsrIY7+yKygSK7s8xAnsR3h4yAfemghn/HEMQjW6498uPJ+9Nto9xiq0?= =?us-ascii?q?BWjbc04B4qFOsMvxs14HVvc5aVNlwGV+z8eGRywNRMrUG2Y2jwgpcntEcJNd6R?= =?us-ascii?q?AAE6knnzeIsrNA/g4KfDfeCp6l9ZXIncfUxXk9Ss9nxmPIpqKfgJMny3llm85p?= =?us-ascii?q?4S6Pv3QSbPbUU8h2Anj8zo1f0/DxZ+2xsuAbT4tr0LahX+EMMsmt/Wu7w5trVV?= =?us-ascii?q?WjxrsAA1q1KukDyanHUy29U22XRfyLc3SQnzY+KkPy6h2oLlo5achUq089NvDP?= =?us-ascii?q?hoVblw3nULN7Wj+cpVnFw2w/KekabR45uJ+7ewwWS+4cf+qcJeguwf0mD1sMa3?= =?us-ascii?q?7JHTdoBOKttF6tnZR7O29+7kngZuTt6A/mOsOIGhYYCY7asoJx+fuiS2KOJH9g?= =?us-ascii?q?zQB9PE5v+ufDDVQ+qOlcc4qLktjUndt71/IKd/Z3PiEnvN4chJ5j45GO0MiWaR?= =?us-ascii?q?HR0oryJdbNr/iEAv3fyl8nen1bUrUFYgP6+YE6MsQ/W7LNAbtTpQ4cCrQiQJw9?= =?us-ascii?q?K2fx87l5LAZycg7SZ7S0hdLnpuCRaZtXoH/W6Ew/LCHGtx0F1PO0URRxb4q2iH?= =?us-ascii?q?XqPJAwWjVBosV2BRR4GotPB9gNrxGjA56ThKG7l8Gx9F1ntOMQtqrwEP/K3syj?= =?us-ascii?q?34ptR5ha+VCLPDHJCalzhURliv69gu3O05n2DcPid8gJVO18Qm7Ccb/JAJmwKi?= =?us-ascii?q?iJOsLnYE5G8ric0L1jXhWWfiD5ULKMtDe4O/V8/UU71ot4cfLdzDMz67Hb2cPy?= =?us-ascii?q?aH9AqyairH6JMZ5f40LQBezaQR1YU/2F8HxqHacPd4v76P8OMcA+wNib+wRz7C?= =?us-ascii?q?hC0MuCI6iktEDMwVl2dZfaLEv1wSY2R5MGIBOlMUsjmWXZsGjSAWxALsi4Lslg?= =?us-ascii?q?mNiUDgT350lwhW4ieHVMGm/pRdeNI2gUxdiyZAqQ9AJEF9wDhfK4eVYktq2uTu?= =?us-ascii?q?llIpJFmeG0u7gcidZpLzvARNNGPyHRMLB2IiBRAfvRq1QyZB4LraQ1UJ8vZZeS?= =?us-ascii?q?OEMHLFuAySTqwAvG0E30ccGs1amQLCYS83VH1K7F0SNXqgm4o/mZhMrjXKrebJ?= =?us-ascii?q?HsU/7YKDAlWS2CRTQuDUap/k+pu+Eas/qcIGcfpE0UYy2VBAAcuqBvrcbfDnXN?= =?us-ascii?q?lu17ZpIHn/OaVD7qSC1+iqUyAj1EtV2DQ/YZEgnWdXDhinJGuAO+Pv9M4W7lb7?= =?us-ascii?q?qAy6pQQeMZHotMcvyfQ9vfYv1eOTYoljMHN+a4ft3cqas5013SQWseCanI+0WU?= =?us-ascii?q?TFSKTfyE2zLrQYIVspA2uiUy+dLQmTR4Hr/VP7aZuz6u8om4jDuXue3eSmkheU?= =?us-ascii?q?o1j/weAGOZ2hlPNHkEC80JuEHqWqOAaFxD22kzieJvxRAMfB9+UmNq0nJMh/a9?= =?us-ascii?q?G9BZRUQSjGywXP0MdEp3Ay8o/U+W/g3yZsQNucLWR29Z7LsMU4sdLOIz5YnRIq?= =?us-ascii?q?QQxegm3DN8rCw9qSWdAEtXjhiZ/KrIAKJ82rpC6HEj//F4W0GAXzLSf2vcx4q4?= =?us-ascii?q?Fc1P3yZuoHHj18rSpOxtMqVVp51hClcQHS12Pszd/SxGUWzs2guyuBC7HDCFLT?= =?us-ascii?q?Ic/jkEOCIFduFvz+BnrhnEbNDB5l2Mt/FplEz+EguPC7ypyLRXG8rp0kO+ciAN?= =?us-ascii?q?fjK1RL5srfMYstcZZqcufsCfBFfaNUCqCAOTvCQF717rpbOwFuJPnnVYlb8jfo?= =?us-ascii?q?K6F7IWBMXUiWkri01Dw4ACmCjIWt4=3D?= X-IPAS-Result: =?us-ascii?q?A2ETBQC2cG1Y/wHyM5BdHQEFAQsBGAEFAQsBgw0BAQEBAR+?= =?us-ascii?q?Ba45Jqncoh11TAQEBAQEBAQECAQJgKIIzGoIjAjcUIA4DCQIXKQgIAwEtFR8LB?= =?us-ascii?q?RgEiE8EAbIbJgKDaIZMhkWIeREBaIUXBY8Pi3qBeo86ikmGHZJAWGggUYVkcYY?= =?us-ascii?q?Egi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 04 Jan 2017 22:02:59 +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 v04M2fEk022105; Wed, 4 Jan 2017 17:02:51 -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 v04M2dWK004843 for ; Wed, 4 Jan 2017 17:02:39 -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 v04M2dHC022103 for ; Wed, 4 Jan 2017 17:02:39 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AUAADXb21YhyIeaIFdHQEFAQsBgzgBAQEBAYIKjkmmaYQxh2JTAQIBAQEBAQITAQEBCgsJCh2HaYhwBAGfc5ImhBCGTIZFiXOFFwWPD4t6gXqPOpBmkkCBX4NrAQsBgj1xiDIBAQE X-IPAS-Result: A1AUAADXb21YhyIeaIFdHQEFAQsBgzgBAQEBAYIKjkmmaYQxh2JTAQIBAQEBAQITAQEBCgsJCh2HaYhwBAGfc5ImhBCGTIZFiXOFFwWPD4t6gXqPOpBmkkCBX4NrAQsBgj1xiDIBAQE X-IronPort-AV: E=Sophos;i="5.33,317,1477972800"; d="scan'208";a="5895955" Received: from emsm-gh1-uea11.corp.nsa.gov (HELO emsm-gh1-uea11.nsa.gov) ([10.208.41.37]) by goalie.tycho.ncsc.mil with ESMTP; 04 Jan 2017 17:02:39 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3A7YWNWhLEkXMPhFGU0tmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgRIvXxwZ3uMQTl6Ol3ixeRBMOAuq4C0red6v28EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6ybL9oMRm7rQrdutQWjIZtN6081gbHrnxUdu?= =?us-ascii?q?pM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTY?= =?us-ascii?q?QguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhS?= =?us-ascii?q?EaPDA77W7XkNR9gqJFrhy8qRJxwInabZqJOPZiZK7RYckXSXZdUstXSidPApm8?= =?us-ascii?q?b4wKD+cZJehYrpXyp1wKrRSkHgmnGeDhyjhPhn/txq0xzuMsEQfH3AM8GNIOtG?= =?us-ascii?q?7brM7vOKcTVuC1y7LIzS7YYvNT1jr855LEchc7ofGDRL99d9fax0o3Fw7dk1mc?= =?us-ascii?q?t4joMymI2ugRvGWX9eRtWf61h2MppAx9ujuiyto2hoTIh48Z0E3I+TtlzIovO9?= =?us-ascii?q?G0VEx2bNi5G5VKrS6aLZF5QsY6TmFopik6zroGtIa+fCkF1Zgr3Qbfa/uDc4mI?= =?us-ascii?q?/hLsSvqeITd+hHJkYbK/mgi9/VKnyu3mWcm4yFdKrixbndnQrn0BygLf58ydRv?= =?us-ascii?q?dg4kus1iyD2g7P5u1eL005mrLXK5s7zb4xkpoTv17DHijzmEjukaGYalgq9vSw?= =?us-ascii?q?5ur6ZrvoqYWcOpd2hQ/jKqkun8OyAOsiPggJRWib9vyx1Lvi/ULlR7VKiuc5kr?= =?us-ascii?q?LDvJDbIsQbobW5AxRO34k47Ba/EjGm38gGknkcNl5FfR2KjofzN1HJOvD4Au+z?= =?us-ascii?q?g06wnzdz2/DGIrrhD43WLnfdlLfhfLB961NTyQco0dBe545bCrEGIP7pXE/xr8?= =?us-ascii?q?bXAgU2Mwyz3ea0QOl6g5gTXWOJH7+xLLLZsVjO4PkmZeaLetw7ojH4ft4k7Pnq?= =?us-ascii?q?hGRxuFgaZrLhiZ0WY3e8F+8gIkKeemHEh4sRV2AQsVxtH6TRlFSeXGsLND6JVK?= =?us-ascii?q?Um62RjBQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GDAAB1cG1YhyIeaIFdHQEFAQsBGAEFA?= =?us-ascii?q?QsBgw0BAQEBAYIKjkmmaYQxh2JTAQEBAQEBAQECAQIQAQEBCgsJCh0wgjMYhG6?= =?us-ascii?q?IcAQBn3WSJoQQhkyGRYlzhRcFjw+LeoF6jzqQZpJAgWCDawELAYI9cYgyAQEB?= X-IPAS-Result: =?us-ascii?q?A0GDAAB1cG1YhyIeaIFdHQEFAQsBGAEFAQsBgw0BAQEBAYI?= =?us-ascii?q?KjkmmaYQxh2JTAQEBAQEBAQECAQIQAQEBCgsJCh0wgjMYhG6IcAQBn3WSJoQQh?= =?us-ascii?q?kyGRYlzhRcFjw+LeoF6jzqQZpJAgWCDawELAYI9cYgyAQEB?= X-IronPort-AV: E=Sophos;i="5.33,317,1477958400"; d="scan'208";a="2020025" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jan 2017 22:02:38 +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 6AEF3564CF3 for ; Wed, 4 Jan 2017 23:02:37 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH 1/1] libsepol: make capability index an unsigned int Date: Wed, 4 Jan 2017 23:02:29 +0100 Message-Id: <20170104220229.26497-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.11.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Wed Jan 4 23:02:37 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 sepol_polcap_getname() is called with a negative capnum, it dereferences polcap_names[capnum] which produces a segmentation fault most of the time. For information, here is a gdb session when hll/pp loads a policy module which has been mutated by American Fuzzy Lop: Program received signal SIGSEGV, Segmentation fault. sepol_polcap_getname (capnum=capnum@entry=-4259840) at polcaps.c:34 34 return polcap_names[capnum]; => 0x00007ffff7a8da07 : 48 8b 04 f8 mov (%rax,%rdi,8),%rax (gdb) bt #0 sepol_polcap_getname (capnum=capnum@entry=-4259840) at polcaps.c:34 #1 0x00007ffff7a7c440 in polcaps_to_cil (pdb=0x6042e0) at module_to_cil.c:2492 #2 sepol_module_policydb_to_cil (fp=fp@entry=0x7ffff79c75e0 <_IO_2_1_stdout_>, pdb=0x6042e0, linked=linked@entry=0) at module_to_cil.c:4039 #3 0x00007ffff7a7e695 in sepol_module_package_to_cil (fp=fp@entry=0x7ffff79c75e0 <_IO_2_1_stdout_>, mod_pkg=0x604280) at module_to_cil.c:4087 #4 0x0000000000401acc in main (argc=, argv=) at pp.c:150 Signed-off-by: Nicolas Iooss --- libsepol/include/sepol/policydb/polcaps.h | 2 +- libsepol/src/polcaps.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libsepol/include/sepol/policydb/polcaps.h b/libsepol/include/sepol/policydb/polcaps.h index c9e40f62048d..623818ab10f5 100644 --- a/libsepol/include/sepol/policydb/polcaps.h +++ b/libsepol/include/sepol/policydb/polcaps.h @@ -19,7 +19,7 @@ enum { extern int sepol_polcap_getnum(const char *name); /* Convert a capability number to name. */ -extern const char *sepol_polcap_getname(int capnum); +extern const char *sepol_polcap_getname(unsigned int capnum); #ifdef __cplusplus } diff --git a/libsepol/src/polcaps.c b/libsepol/src/polcaps.c index 3924cb83f29c..248d2f525185 100644 --- a/libsepol/src/polcaps.c +++ b/libsepol/src/polcaps.c @@ -26,7 +26,7 @@ int sepol_polcap_getnum(const char *name) return -1; } -const char *sepol_polcap_getname(int capnum) +const char *sepol_polcap_getname(unsigned int capnum) { if (capnum > POLICYDB_CAPABILITY_MAX) return NULL;