From patchwork Mon Apr 10 15:11:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Smalley X-Patchwork-Id: 9672803 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 5B9DD600CB for ; Mon, 10 Apr 2017 15:09:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59EEA27D29 for ; Mon, 10 Apr 2017 15:09:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4D4882846B; Mon, 10 Apr 2017 15:09: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=-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 8B41927D29 for ; Mon, 10 Apr 2017 15:09:00 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.37,182,1488844800"; d="scan'208";a="4753599" IronPort-PHdr: =?us-ascii?q?9a23=3AmdGjNhBhD2rZwkbinNamUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPr6pM6wAkXT6L1XgUPTWs2DsrQf2rSQ6vqrCTFIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbJ/IA+roQnPucUbgotvIbstxxXUpXdFZ/?= =?us-ascii?q?5Yzn5yK1KJmBb86Maw/Jp9/ClVpvks6c1OX7jkcqohVbBXAygoPG4z5M3wqBnM?= =?us-ascii?q?VhCP6WcGUmUXiRVHHQ7I5wznU5jrsyv6su192DSGPcDzULs5Vyiu47ttRRT1hi?= =?us-ascii?q?gHLTo5+3zJhMJ2gqxQvRatqwVhz4LIZY2YMud1cKHActMAXWdPXthfWTFPDI2/?= =?us-ascii?q?aIUPF+gMMftWoobyu1QAogWxBRK3CePzyDJFnGP60Lcm3+g/FwzNwQwuH8gJsH?= =?us-ascii?q?TRtNj7KbsSXv6tzKnI0zrDae5d1yr46IfSdhAhpe+DXLJtesfW0kkgChjFg06M?= =?us-ascii?q?qY3lIzyV1uMNv3Kd7+p7T+2jkWEnqwZvojW2wMonl4rHhpoNx1zZ+ih0z5w5KN?= =?us-ascii?q?2lREJhf9KpH4VcuzuHO4ZwX8gsWXtnuDwgxb0DoZO7eS8Kx4k5yBPHcPyHdpSI?= =?us-ascii?q?4grkVOaMPTd0nHJld6y7hxa16UWg1vfzVtO10FZXtSpJiMXMt3AR2BzT7ciLUP?= =?us-ascii?q?198Vu62TmTzQzT7+BEIUQsmaraLZ4u3KIwm4IOvUnMESL6gkX7gLKMekk69eWk?= =?us-ascii?q?9f7rbqj+qp+ZLYB0iwX+Mqo0msy4BOQ1KhMOUHaf+eS90r3j4EL4TKxRgf0xj6?= =?us-ascii?q?nZtozVKtoApqOiHw9U0pos6xa4Dzu81tQYhmMIIEhKeBKAkYjlI0vOL+zgDfej?= =?us-ascii?q?n1Ssly9mx/LBPr3nGJrNMnjDn63nfbtm6U5czwwzzdVF6JJPFrEOPujzWlTruN?= =?us-ascii?q?zfFB85PBS+w/z7B9VlyoMeRWWPD7ebMKPQq1CH+uEvI/KLZI8TuTb9NeMo5/Dq?= =?us-ascii?q?jX8kll4SZrSp3Z0LaHClBPhmJF+ZYXX0iNcbDWgKphY+TPDtiFCaST5ceW29UL?= =?us-ascii?q?w65jE6FIKmCpzORoGzj7Ofwii3BJpWZnpJClqUC3fna52EW+sQaCKVOsJujzsE?= =?us-ascii?q?Vb6nS4A8yx6usA76xqF9IeXK4C0Ysojv1N9v5+3cjRsy7yB7D9yB02GRSGF5hn?= =?us-ascii?q?4HRyMs06BlukFy1lCD0a1kjPNCDtxT++lFUgEkOp7A1+Z6Ecz9WhrdfteVT1ar?= =?us-ascii?q?WtSmATctTt0vx98BfUN9FMu+jhDZ3yunGLgVl6SVC5wy96LTxXnxJ8JmxHbB26?= =?us-ascii?q?gtlV4mQtFANWe+nK5w6xDTB5LVk0Wej6urdaUd3CnL9GqYyGqOuFhUUA92Uanf?= =?us-ascii?q?W3AQfFHWrdf45kPcUbCiE7InPRVdycSaMKtFdsXpjUlaRPfkINnRfXqxlH2qBR?= =?us-ascii?q?aJ3bOBd5LqdH8H3CXcE0gEiwQT8myaOgcgHCuhpHjeDDN2H1L1f0zs6fV+qG+8?= =?us-ascii?q?TkIswQCKbklh17+r9R4PnvGcRe0c0a8DuCc7sTp0BEy939XUC9WeuwVhYL9QYd?= =?us-ascii?q?Qn4FdIzWjZrRByPoS8L6B+gV4Tawp3v1n02BVxFopAkNMqoWgvzApqKKKUyUhB?= =?us-ascii?q?dj2D3ZzqPb3XMGby9gi1a6HKwlHezMqW+qAX5fQ7sVrjvwapFlc5/nVkydZV0H?= =?us-ascii?q?yc5ojQAAoVS5LxXV499wJmqLHCfik9+4TU2GV2PqapqD/C2swmBPE+xxm6Y9hf?= =?us-ascii?q?NbmIFAjoE80VH8KuMvAlm0C1bhIYO+Bf7LI7MNmid/SYw66rIOZhnDW9gGRc/I?= =?us-ascii?q?9901yD9yxgSu7JxZkJ2feY0RWbVz3klleurtj3mZxYZTEVBme/0ibkBJRWZq1p?= =?us-ascii?q?YYYGEnyuI8uwxtRwgp7iQXhY+ESlB1wYxM+jYQCSYEDl3Q1MyUQXpmSqmCWiwD?= =?us-ascii?q?xwjzEmsLCf3DfVzuT8ahUHIHVERHRnjVv2Joi0ld8aVlCybwc1jBul+Vr6x69D?= =?us-ascii?q?qaRjMmbcXEZIcDLyL2x5TqSwsb+CbNJV55MzrSVbSuK8bk6GSrTluRsVzzvjH3?= =?us-ascii?q?dCxDA8bzyqvJT5nxh+iG2DN3Z+t2DWdt9qxRfY/tDcQuRR3jUeTililTbXHkS8?= =?us-ascii?q?P8Wu/diMiZfDs/yxV36mVp1JayXk0YOAtCy95W1lGhC/m/Gzmtv9Hggg1i/3zd?= =?us-ascii?q?5qVT/HrBzkeInky7y6Mf57fklvHFL878t6Gppikocpn5Efx3wahpST/Xoanmb+?= =?us-ascii?q?Ks5b2br/bHoLRD4E38XV7BLj2EJ9MnKD35j5WWmFwst9e9m6ZXsb2jg678BODK?= =?us-ascii?q?eb8qZEkjdyolu2tg/ReuV9kSsGyfc0734ame4JshI3ziqBGrASAVVYPSv0mhSQ?= =?us-ascii?q?9d++saFXaHy1frSqz0V+mtShDK2FogFaQ3v5f4suHSl37spjKl7M1mP86p38ct?= =?us-ascii?q?nKcd0TrgGUkwvHj+VNK5I+iPwKhTF8NGL+o3IlzfU7jRpw0pGmpoSHLH9t/K2h?= =?us-ascii?q?CB5CKjL1f98T+i3qjatGhsaZxZ2vHpF/FTUTRpToS+6oHywItfn8KgaOCyMzqm?= =?us-ascii?q?2AGbbFBg+f71pmr2jTHJ+1OXGXI2MZzdp8SxWHIkxQnhwUVi0gnpElDgCq2NDh?= =?us-ascii?q?cEBh6zAP4F73twBByvxuNxbiUmfTvgGoZSkoSJKHNhpZ8hlC51vJMcyZ9u9zBz?= =?us-ascii?q?tX/oClrAGWNmObZhhIDGEQVkyKHV/jOKOi5d7a8+iXHuC+NefBYa2SqexCUPeF?= =?us-ascii?q?3ZGv04ti/zmSLciPO35iD/M12kVdQXB5B8TZmzIKSyMJjS7NadCUpAuk8C1tss?= =?us-ascii?q?+/6OjrWB7o5YaXBbtdK9Nv+wyxgaeGLOOQijh2Jitf1pMW33DI0KIf3FkQiy5w?= =?us-ascii?q?azatDa4MtSnXTKLfgqVXFQIUaztvNMtU6KIxxhRCOcjBhd7uy7F4iOQ6B01CVV?= =?us-ascii?q?z7lcGjfdYKLH2lNFPbGEaLM6yLJSfWzM7qeq68RrhQjepOux22pzmbD1fpPi6f?= =?us-ascii?q?mDnxSxCvLeZMgTmBPBBEtoCxaBNtBnLnTNLhahy2K8V4giEzwbEugXPKL2EcOy?= =?us-ascii?q?Bmc0xRtr2Q8T9YgvJnFmxP9HpqM/SLmz2D4OneNpYWtuBrDz9umO1G5XQ20bxV?= =?us-ascii?q?7DtLRPZtgivdssZuo026kumI0jdnVgBOpSxThIKTpkhiN6TZ9oNbWXbY8hIN7G?= =?us-ascii?q?OQBA4Mp9R5C93goaRQxsLIlKLpJzdI68jU8tcEB8jINMKHN2IsPgHyFzLTCAsF?= =?us-ascii?q?TCWrNX3Eh0BHi/Gd6GGaooIhqpfynJoOS7lbVEE6F/4BFktkHMYCIIpsXj8+n7?= =?us-ascii?q?+UltII5WG5rBnXXslauYrHVv2KC/X1NDmZlaVEZwcPwb7gNosTN4L720tkalRh?= =?us-ascii?q?gYvFBVHfXdFXrS1ndAM0p19N8HdmRG0px03lch+t4GMUFfOshBE2hRFxYfoz+z?= =?us-ascii?q?r35Fc3PkTFpC01kEYrmNXlhSuecDn+LauqWoFWESX0vVArMpznWwZ1cRGynUt8?= =?us-ascii?q?OTfYQLJRiqFsdXpsiA7dp5RPH+VTTbdDYBAOxvGafOkn0VNZqiq730BH/vfFBY?= =?us-ascii?q?FklAQ0bZ6mt2hA1B57bN4pOazQI7JEzl5Oia2Uui+lzeMxwAgFJ0YR6mySfjUI?= =?us-ascii?q?uE8JNrU8ISqn4PBs4xSYmzRfYGgMS+YqovVy+0MnJeuA1Dzv3KRZKk+tN+ySNL?= =?us-ascii?q?iWu2nalcGVRVMw2FsIl1Nb8rl2y8sjdVSbV1w3xruLCxsJLdbCKR1Sb8dK6Xfc?= =?us-ascii?q?ZziOseTQzpJuJIiyDProTfWJtKcamUKrAhomH5kW7sQAApmt0FvULcH5I74Z0R?= =?us-ascii?q?8t/hjkJE2ZDPRVfxKGiCoIo9qhw5Bt0oldPCsSAXtmPCWs/LnXpRIqgOCZU9ss?= =?us-ascii?q?ZncaQ40EOWgsWMGjhy5ZuHdADTmw0u4DzgiN8SP8rDzKDDbgd9pjeOuUZRR0Bd?= =?us-ascii?q?Gy/jU/6ba5iVjW85XZPGz6OtJiusLV5eMdvZaHBOteTaNhvEfEh4lYW3uqXnbU?= =?us-ascii?q?EdGrI5jwao8sbcH7C3uhTlO/jDc1QNvrM9a2MqiEmwfoSphIsIODxjAsKde9Fi?= =?us-ascii?q?0CGxd3v+wM+b5zZQgEY5o9fR7kqh8zN7KhLweC09WvQmGtKT1MQ/lZ0+q6e6Rd?= =?us-ascii?q?zzAwYe+i1HsgUpY6wvG08U4XRJAFlBfexeqjZ4RFXijzHWRddBnVqSo/iWdhKv?= =?us-ascii?q?44wv0jzxPQrVkcLzeLefR1aGxFutE8Ak+SIXV2C2cjWlCcjIrC7RS30LwI+StS?= =?us-ascii?q?gcpU2/VfsHfipp/ffC6sWKuzpJXaqSovd94mo7FqPIziJcuHupXeniDfTJbOsw?= =?us-ascii?q?2FVjK6GORAmtRKJiJXXuVIk3k/OcMaoYpB9VYxVsAmKrNVDKksp6ylZiR8Ai4X?= =?us-ascii?q?zS4ZUYSA3DoYjeqnwLTalw2fcJI7PBwKrZVOmN0dXDBqYikGvq+sS53Wl3OYSm?= =?us-ascii?q?gMOAoc9hpD5AQbm4BqY+/l/pTHTIVXyzFMufJ1UjHHFp5y91v0UmuWm0T3SO29?= =?us-ascii?q?k+y12gJf1Ojs0t8aWBFjCUhdwOJWllAwJr9uNqcepJLHvDiTeEzmu2LtzfepK0?= =?us-ascii?q?NKyc3IbVH4CpTKtXbkWC0G5XIUXZNPyG3YFZkKiQp2crwrpFJXL429Zkb+/SYr?= =?us-ascii?q?x5p3ELm8VMCrwVklrXIHRyelE9pBF+9mv0jNWD1geZyrrovqO4lKSG9K5JKds0?= =?us-ascii?q?tZkFlqMyOhx5tQMd1C4j4NXDhKoDWSptiyRdZC2cBoEZADPM1zu3DnGKNLIJKR?= =?us-ascii?q?uWE5uqTzyn/F/DAxqE+6xDK3G6CiVeJY8WoeGgEnJ2mFr0kvCOws8nzM/V/RqF?= =?us-ascii?q?B0+PxbBqOOjUV3rzZxBJdOBixG1Xq9NVR8UGFGs/lGKKTSa8FTWeMyZQKpOxAk?= =?us-ascii?q?Fv4rxE2J/UB1nXfleCN+rA1a9D7BXwMsTykanq/tmSECqsGgITIaV5VIbTA6Yi?= =?us-ascii?q?fZNw6bnDtYsAxZa050R5ATGsxF9K0D3YtI4srCTl6hKSEfUxx4LA041edQmFVe?= =?us-ascii?q?v0qGYSDdFRSndfLRvR1tZ8uRq9SpLPvh9gddloznqPw497kER3C+mw2tRs7Rop?= =?us-ascii?q?ThudKUrUuBar34M/GibnDcVjTMiw6/has8BZnQ4yfTKBZbK4V9yXc8epfhB3LE?= =?us-ascii?q?MQhEKq4GKUdWTrx1adJDou9GfcBkY7oJ9bVrBh2ZWhPlAJavo+VeLlbPWTTeKD?= =?us-ascii?q?2M8vahro3O7bzSU/Tga9eIx3bAXaJ4IIl25iX8G7j3z4BS4Ez21elx9kliU1jJ?= =?us-ascii?q?LziBrMj9JgMM/MSiblDivoEzEjzLHJd9i2HtxkZdd8oNXyKl7pIYyI9D6HnqTe?= =?us-ascii?q?J0yE/zsPdd97N884k4/6hpyduoJafVMflarVVnDQaKCQp37ZgtHWx/R3xLYuAL?= =?us-ascii?q?NvfRfKMZjcTwpODrDaAX7weV++NBY9vdO07BgtW/Ci2bSRFcmQcOszoaLg+C2P?= =?us-ascii?q?6Zh697U9yqqPP/2k0z/1i+NQIJw6p15Yia4KaIovHYbwfJx7geRqfqXt/zrqgr?= =?us-ascii?q?u06K5/0rjqQOemtuYw2jCucdSNUQxmL9zaAu0SIsEt/MH7P69/5FTHI1hDXgm4?= =?us-ascii?q?pyH18OAPMbAaKL/ZhCnmc/g+HZNMcZcqZMmmaVEh6rD6ENxGW36ySNJmllmRbO?= =?us-ascii?q?3wv2QWyt8F/8tTV4TjfUz9f/jkpVUaG6BUhPXyqoPU94tC2APA/zudXqp6s690?= =?us-ascii?q?A2PXbitN6Xk2uhIrxXFdXlJNOAOSk0uE4XjJopS9yp3YAWAtu9INEU8H1kb/ve?= =?us-ascii?q?7W2rkzVbrKdcm4re+NyV9enLHXm9la2Vta+BxDdCyng3pVs/8MyvNunS592WRP?= =?us-ascii?q?Slz2MRTyB5uwvdUB66tKfWr1UVOUOR1kfEhpAKP99e3Xki1UHm//IvQNQt+wVC?= =?us-ascii?q?DozAfe8NpSjvODvoxlaSe9Y3VjKb0zZXBV/1H0d3F7U72GLqps3JjW3Q+1oqRo?= =?us-ascii?q?Zua0PnmQZ7D4IiKUIi8FIX2DYMERARaRCHC7GlHV/lIpEaVUcZZhSIwqO6d7ws?= =?us-ascii?q?3UJp3LOg/uDTYvJnB6YXMPZSkBKOlkBBGp0Kqa0eXK58e1hF+a7VpwjiDpPqX/?= =?us-ascii?q?34mnswK/K1WMFa8cYWt3c45AawWQag449Z77kHkJCIarJEYZ/UscB97kZo/yQA?= =?us-ascii?q?eTBWjRhkkRy5Tf4Tq/z57tjcqpqo5f6kVLwxSOUP6xg0G2N+goPrj1AiutHW2f?= =?us-ascii?q?1TSo/UiYTj6ABCOWOKuILB3hZgLuoBNpykc6x993UdICgePWgBMcCRa/km7C9n?= =?us-ascii?q?KC/T6EBaAsMQedMYO9LAmRhOhU31RL5T9sTaGliCC4dwbswo9HT4yDQ08Zs6T+?= =?us-ascii?q?bh5yS7JYjF4FFRI/xDjCttlNXYpOgW2/bSCzYY4WOfaxdrxiOO0Z6NC+z//e+U?= =?us-ascii?q?0tHbS0sGHjIqU4daPDeC5RanSfSxlJrzVAOb9NT+j48/dEKfR3yxgL4Ksr1WHu?= =?us-ascii?q?5alyX3xD5eGZ7ph/iNqdqj9HNXtkFbEIZ09RDFF79QPo9lNhTklsmmXUx8Birj?= =?us-ascii?q?eM7KdhohoveWxvwW7+V4KUT+eZcRIggYxLLi9XpVUgxuRab5vlmHW+IReNxmSP?= =?us-ascii?q?TDonBO941gL64PPF6ApJ3ltTpIrE45ABUpabAqtDBacFfBnBFNUabupLEAkhcc?= =?us-ascii?q?UcJ+uUJUH2KwOX4x5z3DVatPl6mdEv0V8jKUTqwVSEVlKSZ+Thy62Zl0fLuph/?= =?us-ascii?q?9HuHtcnixhuPgqzyBmRByktC3ju60Nwikg9KilujsOv3JFT+OekzrHCFhYw/QK?= =?us-ascii?q?iL0TC3D85lCmZ3kDdoTy6qF9Jcv87Ykh/2g/YRI7ci0EWuSgCyfwg7mUDYyPtN?= =?us-ascii?q?JcmQOCucTPbb+1NigSNbU9xAn9R3h8zAjRhhJo/3YKQjm66t8rOpm9M94/xiW0?= =?us-ascii?q?AWjbaEoM4qRRvcvwq14EVu02ZEhlwGV+z8eHRyoNRNfVF2YylAgkZn1OcIhf5h?= =?us-ascii?q?8CC6konjGIs7FE/g4KbjfUHICl95LenMjS33kyU8tqynjQpqKbmpMgyGdllM9s?= =?us-ascii?q?7i6SpHQScPTVU8BoAnj02IZQ1+j+Z/G2v+AcT4tmzrWhX+MYPsml52S2xI1gWl?= =?us-ascii?q?W5ybQGA1q5LOgDy6/ZUyelSWyYQeOLc2yNnzYlLEH//hyoLlwraMdQsUAxKOzC?= =?us-ascii?q?hoRTlwf5S7N7Wj2QpUPHzGwkKe4aawM2uIK8dgwWTe4ee+ucKvYqwPEkDlsDcW?= =?us-ascii?q?PJFzNsC+CqqV6tgJR7O3J47EX/YOTt8QPmMNyJFxkGC4HarZlx+fqkSWKHI3Ng?= =?us-ascii?q?ygN9PFVs/efFC1sxrvNcc4qWndXInNt0z+gFd+t2PC0mvt4TnZ5j6ZWK0MiUbB?= =?us-ascii?q?7d1JHyJcvaovKAGf3Q01wqen1GUroeeQ716Zs1Pto4W73LA7RUphUdBak/QJwk?= =?us-ascii?q?KWjx7qV0Ix1pfg7WfrS0jdHgpviXaZtMu3/W8lUwIT/Suh0b0Py0TBB0YI6xin?= =?us-ascii?q?X3IZAwWihBoMN3BhthBotPFNsKrxC7DJ6MhKG7l9ix9lt9u+8Or6X9EejK1NCj?= =?us-ascii?q?0IVqQ5ha5FCEPCrLBKZ1nEtplOKyjenc0pPpE8PtZcsEVPRnQm7CcrLGGoS/Kj?= =?us-ascii?q?STOsPzYkJG97+c0KllUhWKfy35XrCJtCujNPl+5kU70IN4dvLJzDMx97HbxMfy?= =?us-ascii?q?Z2ZDqye4s3GJMJpf7FrXBe3RWB5aRuaF8GZ7Eq0Nc4T07P0BPMchwNeC+Qlz6i?= =?us-ascii?q?pN0M+eLKi8oU/AwEV7dYjULEHxwSY2RZEKIAijMUsrmWLZr27SDmhcLsilL8lt?= =?us-ascii?q?h82YDgLs50l3h24tYm9BGmz1RdaeI2Qb3Ni+ZAKS/gJRE9kDh/K3eVI/tqCqS+?= =?us-ascii?q?lnIJZFmeKxu7gcjNZpLT3PRMhdPyHNI792PiZRAv/JpFc2fh4Oq6I1VZstZZiS?= =?us-ascii?q?PEMHN1+NySzowgTZy030dsKj1KKSLSYI9nVI1anF0TlRpwWjv/aWnNHjWqjDbJ?= =?us-ascii?q?7qRP7SLDYlVjaCSDQwFEap/k2ku+AFvPqDOmofpEobYieMBw4SvKxvqsLQDmDL?= =?us-ascii?q?k+15YJIKnOyaWzz3SCBgj6oyCCNLulyNTvcADgTWcWHugHBduA2jIf9M+2jpb7?= =?us-ascii?q?uGyapJQ+YWGJdDcuWFQ9vEfvBTPzUoljIfOOa4ZNDcqqg23U/GTWseCanH6EOR?= =?us-ascii?q?QFSQQvOC2zK4FbkS6pM5visu58L4gj58E6OOOa2W4TGp7N2WliGd7NbCW3Etbk?= =?us-ascii?q?p9u+cLBG2M0VEUM20fI80Es0HqBKibbgBD02x/2rEm4AMFZAkmCi4m6XZRhvvo?= =?us-ascii?q?X5cBRA=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2GMAwBtn+tY/wHyM5BdGwEBAQMBAQEJAQEBFwEBBAEBCgE?= =?us-ascii?q?Bgn8pgVoSjmyoLi2JZVcBAQEBAQEBAQIBAmgogjMigkgCJBMUIAsDAwkCFykIC?= =?us-ascii?q?AMBLRUfCwUYBIdkRYE4DapxOiYCikcmj2gRAWiFGQWPao0RkkwNinuGRkiTOFh?= =?us-ascii?q?9CBwJAhQIHg9BhFscgX9ZhzGCLgEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 10 Apr 2017 15:08:58 +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 v3AF7vBY014514; Mon, 10 Apr 2017 11:08:09 -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 v3AF7rdg078568 for ; Mon, 10 Apr 2017 11:07:53 -0400 Received: from moss-pluto.infosec.tycho.ncsc.mil (moss-pluto [192.168.25.131]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id v3AF7qq0014495; Mon, 10 Apr 2017 11:07:53 -0400 From: Stephen Smalley To: selinux@tycho.nsa.gov Subject: [PATCH 1/2] libsepol: do not seg fault on sepol_*_key_free(NULL) Date: Mon, 10 Apr 2017 11:11:47 -0400 Message-Id: <20170410151148.11958-1-sds@tycho.nsa.gov> X-Mailer: git-send-email 2.9.3 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: Cc: Stephen Smalley MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP sepol_*_key_free(NULL) should just be a no-op just like free(NULL). Fix several instances that did not handle this correctly and would seg fault if called with NULL. Test: setsebool -P zebra_write_config=1 while non-root Signed-off-by: Stephen Smalley --- libsepol/src/boolean_record.c | 2 ++ libsepol/src/iface_record.c | 2 ++ libsepol/src/user_record.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/libsepol/src/boolean_record.c b/libsepol/src/boolean_record.c index ebef7f1..a194704 100644 --- a/libsepol/src/boolean_record.c +++ b/libsepol/src/boolean_record.c @@ -67,6 +67,8 @@ int sepol_bool_key_extract(sepol_handle_t * handle, void sepol_bool_key_free(sepol_bool_key_t * key) { + if (!key) + return; free(key->name); free(key); } diff --git a/libsepol/src/iface_record.c b/libsepol/src/iface_record.c index c8b977c..6d56835 100644 --- a/libsepol/src/iface_record.c +++ b/libsepol/src/iface_record.c @@ -73,6 +73,8 @@ int sepol_iface_key_extract(sepol_handle_t * handle, void sepol_iface_key_free(sepol_iface_key_t * key) { + if (!key) + return; free(key->name); free(key); } diff --git a/libsepol/src/user_record.c b/libsepol/src/user_record.c index ed5b048..fa95f2d 100644 --- a/libsepol/src/user_record.c +++ b/libsepol/src/user_record.c @@ -76,6 +76,8 @@ int sepol_user_key_extract(sepol_handle_t * handle, void sepol_user_key_free(sepol_user_key_t * key) { + if (!key) + return; free(key->name); free(key); }