From patchwork Tue Feb 28 04:05:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Roberts X-Patchwork-Id: 9594619 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 E30C9601D7 for ; Tue, 28 Feb 2017 04:09:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D6C36284EF for ; Tue, 28 Feb 2017 04:09:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CAD1C28506; Tue, 28 Feb 2017 04:09: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=-3.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (smtp.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 CAB41284EF for ; Tue, 28 Feb 2017 04:09:20 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.35,217,1484006400"; d="scan'208,217";a="3522190" IronPort-PHdr: =?us-ascii?q?9a23=3ASjcb/RGCIXN8qhlSDnVTcZ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ79pM67bnLW6fgltlLVR4KTs6sC0LuL9fq/EjNZqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLdyIRmsswnctMYajIl/Jq0s1hbHv3xEdv?= =?us-ascii?q?hMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTD?= =?us-ascii?q?QhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlT?= =?us-ascii?q?wKPCAl/m7JlsNwjbpboBO/qBx5347Ue5yeOP5ncq/AYd8WWW9NU8BfWCxbBoO3?= =?us-ascii?q?cpUBAewPM+1Fq4XxvloDoR64CAKxBu3g1yVIi2f00q000+ovHwLI0hE+EdIWsn?= =?us-ascii?q?nYsdv4O7sMXuCu16TIyCnPYulM1Dvh9ITFcBYsquyMU7JqdsrRzFEiGAPEjlWU?= =?us-ascii?q?rYzlPima1uEQuGaH6OpvTvygi3Q7qwFqvzOiwdwjiojNhoIR0FzL6T91wJwyJd?= =?us-ascii?q?KjVkF7e8KkEIBLuiGVMot5WMIiQ2VytCkmzb0GvIe2cS4Xw5ok3x7Sc+GLfoeH?= =?us-ascii?q?7x75VOudPC10iGxqdb6hnRq+7FCsxvPgWsSwylpHrSpInsPSunwQ1BHf8MmKR/?= =?us-ascii?q?l780y8wziAzRrT5ftBIU0skKrbLIMuzaAom5oItETDAjf2mELrjK+Kbkkk+van?= =?us-ascii?q?6+DgYrj+up+TLZV0igDjMqQ1gMC/HeQ5PRQOX2ic4+i80qHs/VblT7lQi/02k6?= =?us-ascii?q?3ZvIjbJcQduKG5HxdY3pss5huwFTur0MkUkWMZIF9KZh6LlZXlN0nLIP/iDPe/?= =?us-ascii?q?h1qskC1sx/DDJrDhGYvCLnzCkLfnYLZ85FdQxxE0zdBC4ZJbFq8OIOnoV0/ttN?= =?us-ascii?q?3XEh85Mwuuz+bhE9VyzJkSWW2IAq+HKK/Sq0OH5vozI+mQY48YoDT9K/8j5/H0?= =?us-ascii?q?kX85mUUSfa+y0JsVb3C4GPFmLF+CYXrwnNgBC3wKshA5TOzwh12ISSRTaGqqX6?= =?us-ascii?q?Ig+jE7D5qrDYXBRo+3nLOB3zy7HppQZmBHFFCBCnnod4GZW/YDcy2SP8lhkiAZ?= =?us-ascii?q?VbS7TI8hzx6uvhfgy7V7NurU5jEYtZX72dht+eLcjg899Tp1D8SB1GGAVGB0kX?= =?us-ascii?q?0WSDAoxqx/plZ9ylib26hin/NYDcBT5+9OUgoiKJHcyOp6C9bvVQ3feteJSU2r?= =?us-ascii?q?Tc+4DjErSdI92dgOY1xyG9+6lBDMwzKqA6MJl7yMHJE7777c0GLrJ8tm13nG06?= =?us-ascii?q?whgEU8TctUKW2qnKh/+BbPB4TRiUWWi76qdbgA3C7K7GqDzGyOvF1GXw50T6rF?= =?us-ascii?q?WG4QZlfMrdX5/U7CSKeuBqohMgtE08GCK69KZcbujVRJXvvjP87eY22pkWeqGR?= =?us-ascii?q?mI3q+MbJbte2gF3CTcCU8EkwYI8HaDMQgyHyaho2TEADxoD13veUDs8ehgqHyl?= =?us-ascii?q?VEM0yR+Fb1F53bqv5hEVneCcS+8U3r8cpighsy97HEy839LNENeAvxBufL9dYd?= =?us-ascii?q?Mm+FdH0XjWuBBjMZC6KKBinFEeeRxtv0zyzxV3FplAkc8yoXIkzQpyLaeY301b?= =?us-ascii?q?dz6D05D/JKDYKm7o/B+1c67WwFbe0NSI9agT9PQ0sVLjvBumFkA66XVoz8FV02?= =?us-ascii?q?eA5pXNFAcSX4jxXVwx9xdmprHaeTIw54bM1X1tKKW0qTHD28kzCOsi0BagcM9V?= =?us-ascii?q?MLmYGw/qD80aG8+uJfQpm1ezbRIEO/1S+bU3P8y8dPuG37OrMPxnnDK8gmRN+J?= =?us-ascii?q?p93V6U9ypgVu7I2I4IzOuF0QudVjfzkk2hv9vtlo9YYDEeBG2/yTLrBIRJfK19?= =?us-ascii?q?YZ4LCXuyI82w3thxm4TiW3pG+164G1MH2MipdAGJb1Ph3A1fy0IXoWCmmSSi1T?= =?us-ascii?q?B0lS8mrraH1izU3+vibAYHOnJMRGR6jVfjP4y0j9QdXEWzawgpiQel5UH/x6dB?= =?us-ascii?q?vqh/KHPTQUhQdSjsM25iSrewtqaFY8NX85Movz9XUOOnYVCGUbP9uB0a0yTtHm?= =?us-ascii?q?tb3j87cSumupPnkBxmkGidNmp8rGLFecFswhfS/NLdSuRV3joaWiZ4kyLXC0Oi?= =?us-ascii?q?P9a359WbjIrDsuWkW2KmTJ1TfjHhzZmcuyuj+W1qHRq/kuivmtL6DAc60DX019?= =?us-ascii?q?1xWCrUqxb8Z5Xk2L6hMeJ7ZEVoAkHz69ZiEIFkjoQwnI0Q2WQdhpiN+3oHkGPz?= =?us-ascii?q?MdFF1qLld3cCXyAEw8TS4AT/301jNH2JzZrjVnqB2sthe8W6YmQO1yIj7sBFFL?= =?us-ascii?q?uU7LtenSdvvlW4rQXRYf5ynjoGzfsu6XgajPsTuAoq1CmdBaoSHUZANyz2ixuI?= =?us-ascii?q?98y+rLlQZGu3dbiw1VF+ncy4ALGZvA5cXHf5epE/HS5/9ch/K0rM0Hz16oHlZN?= =?us-ascii?q?bQdsgfthuKnBfcl+JVMo4+luIWhSp7PmLwpWcly+k/jRxqw566ppSIK2Jj/a+i?= =?us-ascii?q?GR5YKyH6Z9gJ9jHql6Zekd6c35qzEZV5BjULQJzoQOqwED0IqPTnMxyCHycmpn?= =?us-ascii?q?iAHrrfGROf6EBgr3/UFpCnK3eXJH4Fwtl4QhmSOlBfihgOXDomhp45ChyqxMv5?= =?us-ascii?q?fUd6+D8R4EX4pwBPyu12MRn/SWHfqxm0ajsuT5ifNhVW5BlY50jJKcye8v5zHy?= =?us-ascii?q?ZA8525tgONN2ibaBpQDW4TXEyEG07sPqO16Nnd6OiXGPC+L+DUbbWVruxeSu2I?= =?us-ascii?q?yo6x3Yto+DaMLMqPMWd4A/09xEVDQWhzG97FlDUXVywXiyXNYtaFpBe65yJ6td?= =?us-ascii?q?6/8PL2VwLv/4ePDaVdMcl38RCsnaiDL/KQhDp+KTtAzpMD32LIyLwE0VEOiiFu?= =?us-ascii?q?azmsHa0OtSHXSqLcgKhXDwQUaylrLstH87o83hVROc7ckt711b55jvorBFpeUF?= =?us-ascii?q?zhnc+pZcIULGGhKFPHBEGLNLGYKjHRxcH4f7+8Q6VKjOpIrx2wpSqbE0j7MzSN?= =?us-ascii?q?jTbpUQyvMeZJjCyAMhxRppyychF3CWf5VNLmcBq7MN1pgjIq3b04nHTKNXQTMT?= =?us-ascii?q?JkaUNCsqWQ7T9EgvV4A2FO83xlIvOflimE6enXMIwasfxxAiR7j+ha+mg1y6NJ?= =?us-ascii?q?7CFYQ/x4gDHSocNzrFy9nemPzzVmXABIqjlVmIKBpV9iNrnB9plcRXbE+woA7X?= =?us-ascii?q?+KBxUEvddlD8fgu6RXytnPj6/8MitN89fO8csbHcjUJ9qNMGA9PhrxBD7UEAwF?= =?us-ascii?q?QCalNWHFmUNSjeqS+WeTrpgmrZjsg4EDRaVHW1wwDP8aDV5lHNMaKpdtQjwkia?= =?us-ascii?q?KbjNIP5XemqhnRXt9VvojfVv+JD/XvKSyZjaJYZxsGwLP4K54cNovn1ExjcFZ6?= =?us-ascii?q?mJ7GG03KXdBCuidhdBM7oF1R8HhiSW0+w1nqZRiq7H8XFP60hQI2ihBkbeQ26j?= =?us-ascii?q?jj/007JkHUqys0kUkxn8jlgD+KfTHtLKawR5xWCzHuu0k/KJz7Xx11bQq0nUB+?= =?us-ascii?q?MzfEXb1RhaN6dW93kA/cpYdPGflEQKJfYR8QyvaXZ/Mz3FtBtCqo3k5H6vHDCZ?= =?us-ascii?q?d4kwsqa5GspWpa2w1/dN41ObDQJK1Rw1dKiaKBpDGo2f4qzQ8ZP0YC7mWSeCsS?= =?us-ascii?q?t0wJMrkpPC2o/+N25QyFgTtDd3AGV+A2rfJy6kM9J+OAwjr8075EL0C9LfafL6?= =?us-ascii?q?SYumfek86HWUkw1kQWmElG5rV5zcAjc0+IWE8117uRCw4FNczcJgFJd8BS7mTc?= =?us-ascii?q?fT6SseXRxpJ4J4O9Gf7yQu+Kr6sUgUWkHB01H4sW6MQBBZqs0EDCIcfhMrEF1Q?= =?us-ascii?q?0n5B73K1WdEPRJZBWLnS8do86h1594w5NSJisBDmV9Kii4/bfXphU3j/qEUtc2?= =?us-ascii?q?em0aUZUEN34sXs21hTJZtWxaDDaryuIZ1BSC7zjkqyvNFjb8cdtja+qPZR53Et?= =?us-ascii?q?624y8/86+4iF7M7JrRO3z6Nc5jut/T6eIWvZCHBO1ITbNlqUfTh5FYR2C2U27I?= =?us-ascii?q?CdO6OoPwZJc2Ytz7EHa1SEK/hikuT8jrP9atM7KIjhvySYZQrYmb2iosNdWkGj?= =?us-ascii?q?ECHBdwpOEC5KVmaQ0FfZU7fQbitx4iOKynPAeYztKuTn6pKTtRVflQ0+O6Zr1Q?= =?us-ascii?q?zyc3Ye+6zmYgQos9z+mt/k4HXIsKgQ3Gxfa/e4leVjD+GmdDdAXLpCo5kXVhN+?= =?us-ascii?q?kpz+gjxxPItEUTPCqQdOx1cmBEuc8zBU+KK3VsFmU4X0OcjZbE4gO0wr8d4y5d?= =?us-ascii?q?n9FS0e1ZrXTzpYHfbyy2WKyqqJTVtCwgYcIgo6JvLYzpOtGGu4/GnjzDUJnQtR?= =?us-ascii?q?WIUC2gF/tagNdQJj5YQPlTlGEqPswGoZZO5VA3VsggO7xFELMsqayyaTp4ES4S?= =?us-ascii?q?yjcUV5+B3DwHhee8x7valxeLfZs/MRwFsI9NjcAHXy5wfCweuLepV5/KmG+cVm?= =?us-ascii?q?gLPAAT4BxD5AIajIBwePzl7ZHJTJ9LxT9Wpe50UivVGZlp8Vv7Vn+ZgULiRPWn?= =?us-ascii?q?jeOpwRpYzOjw3dkDRB5/FU9dyv5MmUssKbF4N7cfsZbPsj6Ic0P6u2Ttx/G9KV?= =?us-ascii?q?ZKyM3bbVv4AJPLtWrhSCEc/2MbRZNXwnHFCZsSixZ5aLospFhUO4+pZED+6ic+?= =?us-ascii?q?yIt0Abm3S9qrx00/onYcRyamCd1BC/tpsFjPQj1qf4irqIn5O5VVWmJQ4pudq1?= =?us-ascii?q?ZFn0VtNC65zYFcJdlU7DARRjZCvTKTscCuR81E3M95E4UDIsxju3vnHqNLJoSR?= =?us-ascii?q?qWUsurPz0n/Z5yw8sFCiyTqvGa+3Vf5W8nYCFQUuI2SerkgvAPU28mfO7F/Crl?= =?us-ascii?q?B08/1cBriVgkV7uCx9EYxWBjZVyXClKEx+TGNcvOVAL6TaaNdRQ+UoZRC1JRwx?= =?us-ascii?q?C/om302P/UF7mXf5YiNytgtG+yDTRQY0TywVjq3rmTIAtsGtISUaRI5QbTU9cy?= =?us-ascii?q?fFLBqWmC5NsBlDa0FqWpUZAtdf9LEYxoZU/9TNRliyJi0fWxxiLA042+JFlUFf?= =?us-ascii?q?qEWYZTzdDQ2wePbXtR13ed2erNSnLfT++AdHhJjqsOU/96UEXH2phxGiQcrZr4?= =?us-ascii?q?/nrd2Kt02OdKjiP+27e3/BQyDGjQqsirc8E5nK4y/TPRJBJJlg1HokZ4LtCW3Q?= =?us-ascii?q?MBRHJqIbJlZbWrtgZdVAvO9ae9dueLwV9q91GhKHWhTvFZSzrPlBK1beXijeIz?= =?us-ascii?q?mE8uOku47T66LSSfT4bMyW23nHW753Pot96TTjG7fly5Ve9VDy2vhw7U51VEbJ?= =?us-ascii?q?MziZrNv/IgME+tOielHlvp0zEjPcGI1wn2b1xkFca8oXRDWn8JYfyJxH83v/VP?= =?us-ascii?q?x30lPtv+1I67lr95Q476pvyciqOafYMe5avlN/AhiIGgVq8Y0gD3NxR29NfuMc?= =?us-ascii?q?KurdcKoCgM/yrOD3ErAY5weO++xFc9fHIV/OmtWnADGGVRNEhBsBqSIdLgaEzf?= =?us-ascii?q?6KhbJ7Sca/qujlwU8t51++LgAYw7xz+YiE/beHq/HNYxvX07cERrDgRtnvobQ0?= =?us-ascii?q?p0OS+fokmaYWemxufw2oCvUSVtIGy2f7yqAq0DgsHN/dELLm5P5DTWg2njb6l5?= =?us-ascii?q?B6BVUWFeseHaCX8oRGgmc4h+vZO8UKcqBYhGmACwOrH6QfyX6v9yuXOnNqgg/P?= =?us-ascii?q?0xH3RWO88kP2oTV/QSvWwNfpilBVWaWvBUdOQyqpPld1sDaVMwrssNr4p7g17F?= =?us-ascii?q?0sPWP+r9+NknWuOK9MH8LjPtOcOTc7qEgRjJIvWtylwZobFsalINcN7HF+aePT?= =?us-ascii?q?62GxnC9bpKdHnI7e7duL+vjMGHmgkqmaq6mMxD9Ey3g3p1c/6su6OvHJ/d2KTO?= =?us-ascii?q?yi13wNQCdnpwvBQxm1p6TZr18OP0yL3l3LmIsXMd5HxnQ4ylvp5O44QNI07gle?= =?us-ascii?q?EJjPZ+8arzDpJDT02UqfY84wViSG3DtXA1P1EV18GKci3WL9p9/GmmnL9F0pXI?= =?us-ascii?q?ZwcVbrhRttD4U3MUgt8kQYwjIfEQgRbhCWFLeoBUD+IIsFU0gDbA6L3Lm8eqc5?= =?us-ascii?q?x0182Kiv5PPJbexhG6UNKutdjhSQk1RBHZIWq6IeSqpme1BB7K7XuhTiC4//Uv?= =?us-ascii?q?jjknowM+G1Qs9E/s0Csnsi4xywRxy+5pdf4bcbj4qIdq1fYZTWusBz8Vtn7yYV?= =?us-ascii?q?diNRmBh/kw+5UecEqeDn+djbtZql5/2gVKkzWuoX8AI0CH5mj5vqh1Ajo8/Y2P?= =?us-ascii?q?tASoHPjoT/6g9NKWaQuInGyxl8NfYOK4WzcbZ77XoHOTIRJ30QMtqNcPQ8+DVi?= =?us-ascii?q?MCvJ6FxNHMwMfskUPMzTlgBIkkfpQq1c9tLHGl+EDId+b8Io72vyyD0u9JszTO?= =?us-ascii?q?bh5yGsJZDe6VFNMOlPjCNym9LevOIV2+bdCDAL4XmFbBh42iKCypiXBPnq4eqB?= =?us-ascii?q?08rUWE0aHiEoT4hRPj2C+RaoRuCtjpXmThuU6tPvgJI5bE+fXX2xnL8Ls6lWE+?= =?us-ascii?q?5Aizn73iBEGYDog/KYqMaj6GxKuVJZColz8AfFGKJFPpphIxj4kdOrRkdkDCvl?= =?us-ascii?q?ZM7UbgYuuPaRxuoU++VxLVf+apMbIhMKzLL683lVQhJ1SLHoulaZXOQRZMZpSf?= =?us-ascii?q?7ftnBa855gJLMPPFmTo5zqtDRIpEo1AAA3cr8wqCJVdk3UkA1SQab0t6YKihEA?= =?us-ascii?q?Xt5hpU9MBWWwNXoi5zrdS6tViLOeCPoL/TiIU6MOUkpoMiJiQxyvw5VhYaGpne?= =?us-ascii?q?1dvmNAgCx9vOAg0yZ6SxukpS3su6UN1Cov+L6irjUOp2BFTuWFnifMCFVD0OoF?= =?us-ascii?q?jacGBHb/8lywen8DY5Xu4LN/P8Tv6ZEh42gjYRUkZyAGUvqvCyfsj6OPBYyDt8?= =?us-ascii?q?lciwCJuMXPa7+zMCcTO685yR39XXh80hLRkAxu8GQVXjWq9MUkK5mlOcY52iqo?= =?us-ascii?q?HnDWdFkQ7aNSq8v9rEMFQuQwZ1NgxmVjz8eGSzYCRMzKAWk1iBYrZX9DcJJZ5h?= =?us-ascii?q?8QD7MojSqQvqla4gEUZy/ZEoai+onQm8fEw2UyTdduxmLLu6KEh5Iq0Ht+m9N3?= =?us-ascii?q?7y6Do2oSd+3GU8B2Bnj8y4Zfxfb4Z/qzruANUJFmx6i5UP8eLsmj/nO72JR0Wk?= =?us-ascii?q?C/wLQTBF65MPIeybfaVCelUneUWeORc2iDhzw5KFL95QG0Ll0rb8dHt009PfXM?= =?us-ascii?q?hp5Skw3sSr11ST+WpVDF0GwvK+UaeBwquI2/YQwFUPYRZ/SAJegp2PA+B18Mb3?= =?us-ascii?q?jHHCRoD++2tUWgnJN8O3Vm4EX1ff7h8gb4P9uOAhMEC5LVroZt+fymQWKMIX1g?= =?us-ascii?q?zB1yPUls8OffE1UxtvNCfJuKmNjQhsh70fQbePt3Ni09oNETkJp56YaIyMeKbQ?= =?us-ascii?q?3RzpHqKNHJo/iYBubSz1grem5GUboWfwf16588PtEnR73ZBaFZsggEBagmXJwh?= =?us-ascii?q?MH/89KR1LANwcQ7RY6+5gsvwqeKIYZtUoWHZ7lQqICfapRID1uS+TRZnYJCym3?= =?us-ascii?q?XyPJcwSypaoNJzDBtmAJBCG9gErwqgH56UhL+7hMGs9E9gvO8Kq6XwAOjQ1Nul?= =?us-ascii?q?x4VxQ4Ra5UuTMTbfGqZrhkVljvysjfrb05jxCMbiedYaW+hhRm7KdKXKHoKlKj?= =?us-ascii?q?KBIsj8YVJJ86aA0LJlVRWcfC74X7KctC2lKPpr/142yol5fOrP1jwi8avX2Nzo?= =?us-ascii?q?Z2FUvi2jt2KGNIND7FzWAuzTRxVUSf6b/2t+Ba0XaZH79PwSMdwj3Nec/xNz4y?= =?us-ascii?q?pc38efJaiusFPM0FphdZ3HNEvpxzo5WY4SLRS7MEssh3LZq3vEDXRYL8ikMtVt?= =?us-ascii?q?gM2OAxzs/UZxn2YtanRGGmryStebIXIb1N6mZA2W6AJLCM4On/Wpdk48t62yT/?= =?us-ascii?q?RoO5pCleulqLUHkchmKzvRS8hCJS7dN7x2MSRLDuXJulcoZgULs6U6WosvYpiO?= =?us-ascii?q?OkwHOl+aySzu1QvCzVH0d9u02aaMOikZ7nVHz7PD0ThLvAS5p/eZgsv9X7DdbZ?= =?us-ascii?q?H2WuPSMSU/WjGdXzQyHl6j+U24tPocoPqYPWAfr0gWYi2ICw4TobtgoMPNDm/V?= =?us-ascii?q?he1jfJoKhO2VWyDwVC10jqwyCThXtUqUWfoMCRHWb2P9gGpboAGiKeVD8mn/b7?= =?us-ascii?q?2Z2KVVX/cbApVIcvKDWNvYeO1eKy0uljoHJOa2Z8fcoKoh0lLUUWsZFLHF9F+b?= =?us-ascii?q?TE6RWPyc3TPrXZ4OsogyoCUo/8zfni5tH6TPJbafqCak8pSkgyaApe3eSm4tbl?= =?us-ascii?q?QugOIMBWmO3BhNJWIfBtELpk7tWK+AZkdL1HIvk+5u3QEDeBhrWH10znJWhOq9?= =?us-ascii?q?GtFeSVMMjmOuR/sGbFRsATM140CF/wPyYdsauc/PWWBS7L0MRpQBLKpg1Y/MJa?= =?us-ascii?q?FFxf8o2C5h8hc3tySbEkMYig+M7af4ALN3xroE43Ixuf5xQBKzRGb5c2PAzoO9?= =?us-ascii?q?Q+NIwjx16STi1sHTuul2crpdoJpiKFJWEWRxPN+Lrh5bVmSh5wq2uxeyGXykJz?= =?us-ascii?q?gU+ioQbXgPd+JxieQ9qhHCe8zd8mufsqsgrA2gDgPdWen844BCFsy8jVbwUiJM?= =?us-ascii?q?azj+Usku9Ps=3D?= X-IPAS-Result: =?us-ascii?q?A2E5AgB797RY/wHyM5BeGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgyWBElgHg1SKe6B3hnY8JgGIIQdXAQEBAQEBAQECAQJfKIIzB?= =?us-ascii?q?AIDGQEECD0NLwEBAQEBAQEBAQEfAislAQEZBgECIB0BDQ4SCwECAQIJAQEFAwI?= =?us-ascii?q?LAjEEAgIDAR0BAQ4DAQUBCxEGCAsFGASJOgEDFZJskRY/jAOCBAUBHCYCgmEFg?= =?us-ascii?q?2wKGScNVYMTAQEBBwEBAQEcAgYSiymBT4ECgVURAYMigl8BBJBQixQ6jgaEIYp?= =?us-ascii?q?ihjaKSocgFB6BFVh5CCEUH1MXhCmCLlQBh3lHgWcBAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 28 Feb 2017 04:09:19 +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 v1S45o5R025471; Mon, 27 Feb 2017 23:06:37 -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 v1S45er0023515 for ; Mon, 27 Feb 2017 23:05:40 -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 v1S45abE025468 for ; Mon, 27 Feb 2017 23:05:36 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DLAwCO9rRYhkPaVdFeHAEBBAEBCgEBg3IBb1gHg1SrcoMdhByGIgKCHQdXAQIBAQEBAQITAQEBCAsLCh2FIAMDIx0BDQ4SCwEDDAYDAgs3AgIhAQEOAwEFAQsRBggLHQSJOgEDFZJskRY/jAOCBAUBHIMJBYNsChknDVWDEwEBAQEBAQEDAQEBAQEBGgIGEospgU+BAoFVEQGDIoJfAQSQUIsUOo4GhCGRGIpKhyAUHoEVgVAIIRQfUxeEKSCCDh81AYd5gi4BAQE X-IPAS-Result: A1DLAwCO9rRYhkPaVdFeHAEBBAEBCgEBg3IBb1gHg1SrcoMdhByGIgKCHQdXAQIBAQEBAQITAQEBCAsLCh2FIAMDIx0BDQ4SCwEDDAYDAgs3AgIhAQEOAwEFAQsRBggLHQSJOgEDFZJskRY/jAOCBAUBHIMJBYNsChknDVWDEwEBAQEBAQEDAQEBAQEBGgIGEospgU+BAoFVEQGDIoJfAQSQUIsUOo4GhCGRGIpKhyAUHoEVgVAIIRQfUxeEKSCCDh81AYd5gi4BAQE X-IronPort-AV: E=Sophos; i="5.35,217,1484024400"; d="scan'208,217"; a="5960612" 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; 27 Feb 2017 23:05:35 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3ANrimPx28k5sfZDEcsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?seITKfad9pjvdHbS+e9qxAeQG96KtrQe1KGJ6ujJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMhDexe61+IRe5oQjTq8UdnJdvJLs2xhbVuHVDZv?= =?us-ascii?q?5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnM?= =?us-ascii?q?URGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LpwRRT2lC?= =?us-ascii?q?kIKSI28GDPisxxkq1bpg6hpwdiyILQeY2ZKeZycr/Ycd4cS2VBRMJRXDFfDI26?= =?us-ascii?q?YYUEEu4NMf9ZooX4oVYFsBmwChS2BO73yDBIiH/406M53eo8Dw/JwBctEMgSvH?= =?us-ascii?q?nOttj5KLseXOKzwaLVzTvDdfRW2TLl5YfIcxAhpfWMXbNqfsrU1EIhCwTFgU6O?= =?us-ascii?q?poz/IzOVzfkGvm+A4OphUeKvj3QrpB1rrji1wccjkZfGhpgJylDf7ih5z4M1Ks?= =?us-ascii?q?e5SE5/e9KrDJxQtySDOoZwX8gsQHlotT4kxrEavZO3ZisHxZQ9yxLBdvCKcJKE?= =?us-ascii?q?7xPhWeuXPDx2nmhqeKiliBa36UWgyvPzVs2z0FtSqypKiNjMtnQU2xzU68iLVu?= =?us-ascii?q?Jx/kmg1DuNzQzT5eZEIUc7larfNZEt2KI/lp0WsUjbHy/2nlv5jLOOe0k65uSl?= =?us-ascii?q?7/7rb7bmq5OGKYN4lwLzPr4vl8G9Geg4NxIBX2mf+eSyzr3j+kj5Ta1Rgf03lq?= =?us-ascii?q?nZtIrWKtgBqq6jBA9ayZgs6wyjDze9y9kYknwHI0hEeBKDlYTmJ1bOIPXgAfel?= =?us-ascii?q?n1usiCtrx+zBPrD5GZXCMHzDkLbnfbZg5E9R0xYzzNBD6JJUDbENOvTzWlTru9?= =?us-ascii?q?DCAR85NBK0kK7aDs5g3NYbUGOLHqjLC67WsFmV9qcrLuCSaacJqT39LL4j/Peo?= =?us-ascii?q?gngnymMaKI+o1pwTYWvwP/NhOF7RNXztidAFGHxMvw05V/fCjQGSFzlJaCDhcb?= =?us-ascii?q?g742QECYaiDI7GDrqqirGbwDzzSpdXYmQAARaWFn3lbZmfc/gJYSOWZMRml2pX?= =?us-ascii?q?BvCaV4Y92ET250fBwL19I7+Ro3VGuA=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GcAAAH9rRYhkPaVdFeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBg0cBb1gHg1SrcoMdg1lDhiICgh0HVwEBAQEBAQEBAgECEAEBAQg?= =?us-ascii?q?LCwodL4IzBAIDGQEECD0NLwEBAQEBAQEBAQEfAislAQEZAwMjHQENDhILAQMMB?= =?us-ascii?q?gMCCzcCAiEBAQ4DAQUBCxEGCAsdBIk6AQMVkmuRFj+MA4IEBQEcgwkFg2wKGSc?= =?us-ascii?q?NVYMTAQEBAQEBAQMBAQEBAQEaAgYSiymBT4ECgVURAYMigl8FkFCLFDqOBoQhk?= =?us-ascii?q?RiKSocgFB6BFYFRCCEUH1MXhCkggg4fNQGHeUeBZwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0GcAAAH9rRYhkPaVdFeHAEBBAEBCgEBFwEBBAEBCgEBg0c?= =?us-ascii?q?Bb1gHg1SrcoMdg1lDhiICgh0HVwEBAQEBAQEBAgECEAEBAQgLCwodL4IzBAIDG?= =?us-ascii?q?QEECD0NLwEBAQEBAQEBAQEfAislAQEZAwMjHQENDhILAQMMBgMCCzcCAiEBAQ4?= =?us-ascii?q?DAQUBCxEGCAsdBIk6AQMVkmuRFj+MA4IEBQEcgwkFg2wKGScNVYMTAQEBAQEBA?= =?us-ascii?q?QMBAQEBAQEaAgYSiymBT4ECgVURAYMigl8FkFCLFDqOBoQhkRiKSocgFB6BFYF?= =?us-ascii?q?RCCEUH1MXhCkggg4fNQGHeUeBZwEBAQ?= X-IronPort-AV: E=Sophos; i="5.35,217,1484006400"; d="scan'208,217"; a="3522177" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mail-oi0-f67.google.com ([209.85.218.67]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/AES128-GCM-SHA256; 28 Feb 2017 04:05:34 +0000 Received: by mail-oi0-f67.google.com with SMTP id f192so48736oic.3 for ; Mon, 27 Feb 2017 20:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=L19ygSVJdIUDunAbSTZWjmVlHfWE18HQ/FmVhdfVt+w=; b=b5zh7yscl5XcS37eGLRC9JxSUehPgXSa05nFvNNYeqTGEDbZR7SryFflF0YcYuYbWz a8vjwLS11zXq7lZ75owoicUBoxAG1uMrRXsQoh557MmOwPJEf+OmQBYJD7Y94dDdzcNs wDWuMUtEm69GJYHtE7ZQsaNS6QpQJbQpEMfhe7XMi1MR4A/hK1DpEmxs/QXwAkVUlafb z3b4sirIe5HqVBz+BXUsi7m6WVTXU8VGMteDXTy9JYdhJ7GvXlzIkQcjv8nrXtvD/MHf RAetouhA1vfqrHyrIHEimzD+zd2K7cpBS9fte2Q4NfS5lv2GLu1Fj5yhJWwOlTT/2UeA fCIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=L19ygSVJdIUDunAbSTZWjmVlHfWE18HQ/FmVhdfVt+w=; b=PlNsdPkDYnS1JymWDWO97lXGuNdtNpztwbIqn6VT2n47qrUWzPW6UbZtKjTrDS24Kx FyF+t4I3My3xIkrWUzxdb8q0Q24lf8f0Bz/74VNlyqG+iUpzjS2+v//6OmMFV77DBvW2 Cp+RiwOGu9t1CPh1+O/ZpqR+dpDCSQFnppEFT48i8teEFo9qEH7jtvroj4W6A6cpmZJA zY/V2iAHaIqcvXlwFC1ot3xQKC4ewwYA6DUjKRvVwwoBZPcl9QgelanuOrvxnyKIA+zF 0D2Z8RxAHqhEQgjZngJL151oaH3fO9fy8KOV0tFV4FvWY+5okM87EsDljW8NatVXucDY VF1Q== X-Gm-Message-State: AMke39kwGPyjy9dHTfsfaSUxf7wIzfCZGYR4OyxuZ3wmjglMuXmHhS/TwscoZ2+kkcEwjXdffnIGI2Qf/ppuSg== X-Received: by 10.202.49.144 with SMTP id x138mr141376oix.118.1488254733953; Mon, 27 Feb 2017 20:05:33 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.35.83 with HTTP; Mon, 27 Feb 2017 20:05:33 -0800 (PST) Received: by 10.157.35.83 with HTTP; Mon, 27 Feb 2017 20:05:33 -0800 (PST) In-Reply-To: References: <20170227203935.23674-1-nicolas.iooss@m4x.org> <20170227203935.23674-3-nicolas.iooss@m4x.org> From: William Roberts Date: Mon, 27 Feb 2017 20:05:33 -0800 Message-ID: Subject: Re: [PATCH 3/6] libsemanage: never call memcpy with a NULL value To: Nicolas Iooss 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: selinux@tycho.nsa.gov Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP On Feb 27, 2017 2:16 PM, "William Roberts" wrote: On Feb 27, 2017 12:42, "Nicolas Iooss" wrote: clang's static analyzer reports "Argument with 'nonnull' attribute passed null" in append_str(), because argument t may be NULL but is used in a call to memcpy(). Make append_str() do nothing when called with t=NULL. Signed-off-by: Nicolas Iooss --- libsemanage/src/semanage_store.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) I guess since s and t lengths come from strlen() and the architectures we worry about running code on, overflowing would be pretty impossible here. if (new_s == NULL) { return NULL; } -- 2.11.1 diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_sto re.c index f468faba4b64..47ec93185e06 100644 --- a/libsemanage/src/semanage_store.c +++ b/libsemanage/src/semanage_store.c @@ -1194,8 +1194,14 @@ static char *append(char *s, char c) static char *append_str(char *s, const char *t) { size_t s_len = (s == NULL ? 0 : strlen(s)); - size_t t_len = (t == NULL ? 0 : strlen(t)); - char *new_s = realloc(s, s_len + t_len + 1); + size_t t_len; + char *new_s; + + if (t == NULL) { + return s; + } + t_len = strlen(t); + new_s = realloc(s, s_len + t_len + 1); Overflow possibility here?