From patchwork Mon Jun 5 15:44:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Haines X-Patchwork-Id: 9766395 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 878BC6034B for ; Mon, 5 Jun 2017 15:49:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6E5311FFB2 for ; Mon, 5 Jun 2017 15:49:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6038F205AD; Mon, 5 Jun 2017 15:49:52 +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.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,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 723461FFB2 for ; Mon, 5 Jun 2017 15:49:49 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.39,281,1493683200"; d="scan'208";a="6360513" IronPort-PHdr: =?us-ascii?q?9a23=3AS9DiPRYSg6GEHAzx2NW0Fif/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZoc2/bR7h7PlgxGXEQZ/co6odzbGH7Oa9ASdYut6oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52Lhi6twXcutUZjYd+JKs61wfErGZPd+?= =?us-ascii?q?lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLe?= =?us-ascii?q?TQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgz?= =?us-ascii?q?oJOD4j9GHcl9J+gqRVrhm8oxBz2pPYbJ2QOPd4Y6jTf84VRXBZU8hRSSJPH42y?= =?us-ascii?q?YYgIAeoZP+tUsofwqEUVrRalGQWgGPnixiNSi3PqwaE31fkqHwHc3AwnGtIDqG?= =?us-ascii?q?jarNTpO6cSS++11rTHxijBYfxM2Df97pbHcgs8qvyLR7JwcNbeyUk1GAPfk1qf?= =?us-ascii?q?sZDqMCuV1usXsmib6fRvVfm0hmE8twFxoz6vxtsyhYnTgIIa1EzE+T9lz4YyIN?= =?us-ascii?q?21UUh2asOnHptIryyWKoR7T8w4T2xopSo20KMKtJGlcCQQ1Zgr3x3SZ+Gdf4SV?= =?us-ascii?q?7B/vSvydLDh3iX5/Zb6zmxK//E69wePmTMa0ykxFri9dn9nJsXACygLc59CcSv?= =?us-ascii?q?t44kehwTGP1x3P6u1cIUA7i67bK5k5z74sjJUTq0XDHjLtmEnskK+Xdlkr+uiv?= =?us-ascii?q?6+j9ZLXpuoScOJNuhgH7M6QuntSzAeU+MgcQQ2iW4fmw2bLs8EHjQLhGk+c6nr?= =?us-ascii?q?fWvZzEP8gXu7a1AwpP3YYi7xa/AS2m0NMdnXQfN1JKZhaHj4nvO1HTL/H0FOyw?= =?us-ascii?q?g1OxkDdt2//JIKbhD47RLnnDjLjhfbF951RayAoo199T/Z1UCrYfIP7rQE/+qM?= =?us-ascii?q?TYDgMlMwyz2+vnCtJ91oUEVmKTAq+WKqXSvESK5uIoJemMYZUauC3hK/c7/f7u?= =?us-ascii?q?lmU1mVgHfammxZEXcmy3Hux6I0WFZnrhmtUBEWUQsQUiT+zqk1qCUThSZ3asRK?= =?us-ascii?q?886DU7CJ+pDIjYW4CthqCB3DqhEp1RfGBGBUiGEW30eIWcR/cMdCWSL9d5kjMa?= =?us-ascii?q?TreuVYkh1RCytA/90LdnL/Tb9TMGup7509h1/eLTnwko9TNoF8Sdz32NT2Zsk2?= =?us-ascii?q?wVQD822qZ/rlFjxVeH0Kh1mOZXGsJJ5/NOSAs6MoTcz+NiAdDoRg3BZsuJSEqh?= =?us-ascii?q?Qti+HD4xUsg+w8UVbklhHNWiiwzM0DCxA78JjbCLAoI78r7E1XjrO8l902rG1L?= =?us-ascii?q?Umj1Q+Q8tPM3GmibB79wfNAo7GjVmZl7yqdKkH2y7N7HmMzWyLvE5CUQ5wVb7K?= =?us-ascii?q?XXcQZ0fMqtT5/EzCRae0Cbs7KgtB1dKCKqxSZ9zpjFRGQ/HjNc/bY2K1gmuwBB?= =?us-ascii?q?CIyqmKbIXwYWUd3yTdCFYanAwJ+3aJKxQ+DD+7o23CFDxuCU7vY0T0/OZls3y3?= =?us-ascii?q?SUs0zwCRb019zLq54AUViuKARP8JxbILpiMhqzRyHFag0NPbEMaPpgp7fKVBet?= =?us-ascii?q?Mx+llG2njFtwxmOZygKbpuhlkEcwR4p0nuzQl4Cp1ckcg2q3Mn1BR9KbqC31Nb?= =?us-ascii?q?djOYxov9OqXNJWno/RCvcLbW2lXE39mK5KgD8vM4q0/svAuxDEot721n08VJ03?= =?us-ascii?q?ub/pjLAgsSUZb0Ukkp7Rh3vL/abTcg6IPTz31jK7G0siXF29IrGuQq1gqgc81Y?= =?us-ascii?q?MKOeGw/4C9caCNS2KOw2h1ipaQoJPO5I9KEuOcOpa/qG2LWwMeZlhDKmjH1L4J?= =?us-ascii?q?tz00KX7SZ8TfTI35kdyfGCwgSHTyv8jEumss3vmoBLfzISHm2iySX/B45efK5y?= =?us-ascii?q?fYEWCWu0JM233Np+jYb3W3FE7F6jG08G2MixdBWIclP9xwxQ2loNoXG8gyS30z?= =?us-ascii?q?l0nysurqqF0yzE2/7iewYfOm5XWGliik/hLpSugNAeQkeodBQplRui5Uvh3KhU?= =?us-ascii?q?uKV/IHfVQUdUfij5NXtuUq2uubqee8RP8o8nsT1LUOSgZlCXUqX9oxUA0yPkBG?= =?us-ascii?q?te2Cs2dyqsupX+kR16jXiSLHBpoHrfZ85w2Q/V5MbASv5JwjoGWC54hCHZB1em?= =?us-ascii?q?O9mp4cubl43Ysu2lSWKuSIdTfjL2zYOFrie74ndqARKnlfCphtLnCRQ60TP819?= =?us-ascii?q?RySSXHsQvzYojx2KS+Ku9oYk5oBFrg5MVgAYF+jpE8hJcO1ngGnp+V52YIkX/v?= =?us-ascii?q?MdVH3qLzdGQNRT8XzN7J5wjlwldvIW6Jx4L+UHWdzdBsZ927YmMQwC099cdKBL?= =?us-ascii?q?2T7Lxekit/ukC4oh7JYfhhgjcdzuMj6Hobg+ESpAoh1z6dDa4WHUlZOyzsihuJ?= =?us-ascii?q?4sulrKVPZWavd7mw21Zlndy7CrGNvB1cUm7jepg+BS9w8tl/MFXU3X3p7YHkfN?= =?us-ascii?q?3QYswJthKIlBfBgfNYKIkslvUWniprI2X9vWcqy+QjlxxhwYm6vJSbK2Vq5K+5?= =?us-ascii?q?GgRXNiDxZ88J4D7hl71RnsGS34CzGZVhHC4GXJ70QfKuFzIdqe7rNwCQHz0gsn?= =?us-ascii?q?2bA6bQHReD6Ed6qHLCC5OrOG+RJHkC1thiRweSJEpEgAASQjo6goQ1FgewxMzu?= =?us-ascii?q?aE15/Cwe5kbkqhtQzeJlLwH/XX3CpAesdDg0UIKQLBxK7g5c/UfYKtGe7vltEC?= =?us-ascii?q?FC5Z2ttheNKmuGZwRSEW4GREKEB1f5Prmh+9bM6e6YCfSiL/HWe7WBtfReV+uU?= =?us-ascii?q?xZKoyoZm4TCMOdiUM3l8Cf00x0pDUWp/G8vHhzUFUzYXmD7Vb86HuBe8/TV6rt?= =?us-ascii?q?il//T2XALi/peAC7pOMdRv4hy2j72MN+iKiCZ+MzZY2YsGxWXUx7gHwF4SlyZu?= =?us-ascii?q?eiGuEbUAsS7CUrndmqpQDx4VZSN8KtdI77483glKPM7UlMn51rhmgf4pE11FT0?= =?us-ascii?q?Dumtm1ZcwWJGGwLF3HC1yNNLSaIj3Lxtr6Ya2iRrJNi+VUrQe/uS6BE0/kPDSM?= =?us-ascii?q?iSXmVwy1PeFLliGbMwRUuJuhfRZ1FWjjUNXmZwWhMNBqkDI72rI0hnbFNGIGNz?= =?us-ascii?q?hzbV9NpKWK7SxEmvV/B3BB7n19IOmegSqY4fPUKpMMvvtvBSR1l/lX724mxLtQ?= =?us-ascii?q?9i1EQ+Z1mCTKpN50v16mivWPyiZgUBdWpDZLnpyEslh5OarD8JlARXHE/AkW4G?= =?us-ascii?q?qKFxsKosFpCtr1u6Bf0tLPjr78KC9e89LI+ssRH87UKNidP3o5KRrkAzDUDAof?= =?us-ascii?q?TT6wKWHfiU1dkPeI+X2Tspc6q4LjmJ4URr9cTlw1GesQCl55E9waPJd3QjQknK?= =?us-ascii?q?aGg84T+3WxthbRRN9AsZDZTf+SGu/gKDWEjblefRQE27f4LZkVNoLhwUxuc0V6?= =?us-ascii?q?nIPJG0vQWtBBuCthYREooE9V6nhxUnUz2175agOq+HITE/+0nhoyigRgeuQg7y?= =?us-ascii?q?3j7EktJlrNvicwl1Mxmdr9izCLbDHxNLuwXZ1RCyfsrEcxM5z7QwFzbQCpgENr?= =?us-ascii?q?KizLR7NLgLtmb2xrjxXcuZRXE/5GUaJEeAMQxe2QZ/gwy1tcpT+oxVFZ6ubeDp?= =?us-ascii?q?tijBUlcZipr31a2gJjaMU6JavfJaZTyVhQnK2OtDey1u8t2A8eO1oN8GSKdS4U?= =?us-ascii?q?v0wIM6MqJzCv/u1t9wOCnSBMeHILV/U0ofJn7V8yO+OFzy38ybFDMVyxO/aZL6?= =?us-ascii?q?yHp2jKjdSITU8o1kMUi0lF+qB70cE9fEWOU0Ai17iRFxMSNcreMw5VadFS9HvS?= =?us-ascii?q?fSqUt+XC3451NZ2nFu/0Ve+OqLoUgkW8EQYzAYsM9doOEYO20E7ELcfqN6UKyR?= =?us-ascii?q?Q35Av2I1WFAuxJeAiVnzYHuc2/yoF43ZVFLDEHHWp9KTm35qrQpgIynfWMRsk2?= =?us-ascii?q?YnYHUYsfLX85Qte6mzRev3VOFzm4zP4WyBWY7z/9uiTRDCPwb9x9a/eIfRlsEs?= =?us-ascii?q?25+S0j86iqjl7a6pHeJ2bgNdt8vN/O6OQaqo2IC/NSULlxqUDcm5NXR3aySW7A?= =?us-ascii?q?Dca1J4Tsa4krddH0EWi1Uli+izIzUsfwM82gIbSPgQHtWYlbqpKb3Cw5Oc+7CD?= =?us-ascii?q?4eBw96p/sf66JkeQ0Df507bAb1uAsiMqy/JwGY0smzT2u2NztZUeNfzeS7ZrxQ?= =?us-ascii?q?ySogdOm6x2U8Tpsi1em47VYNRI0WjhHZ3fujZJNeUCjpFXxbZwXPpTE0l2dmNu?= =?us-ascii?q?Yq3ugz2hXIvkcAMzqTbuxmdHREv80gBVOVOXh2Fms4R1qbjYrf4g6t36sf8DZc?= =?us-ascii?q?n9dUy+JKq2LyvpnBbzKwQKars4naszI8bdg6pK18KYPjItGcu5PYgjzSV5jQsg?= =?us-ascii?q?qLUS68C/pamsZfICNeQPlUh24lI9YKuYxf5kotTs0+PaBACLEwprC2bjppFTQd?= =?us-ascii?q?zSsYV4ycwjMNmuK82rvclheXdpQtKgcJv45DgtQHVS56ey0epLK5W4XQiWCEVn?= =?us-ascii?q?ABIB0P4gRU+AIAiohwc/j+74XWSp9B0CRZrO9qUiTVDJlo7EH0SnuWgFTiT/Wh?= =?us-ascii?q?ieOp1xpIzP3wytkbRAJ/CU9FyuZMkEsoKa14K6kXvo7OqT+GbVr0sn/3xua6I1?= =?us-ascii?q?dc0tHbd1r9DIXZr2X8STEc9WcSRYBR1HHVDY4SnBZhaKY3uFVMJ5irdVr85zM+?= =?us-ascii?q?24tkBKW3Vcevx1YhrHYJWT2qE8ZfBO56sFLbQjplY4qkqJ/9IZVdXndQ+IGBq1?= =?us-ascii?q?deiEhtKTS2yYBbK85W+TMMQCJPri+DvNSsTM1D2Ml2D5AIItd+tHf9GL9EOJaL?= =?us-ascii?q?rH0sv7zj0HnZ9C4gsF2i3jW8B7e4T/5F/20ZAggoKX6SpVUvD+st92fS80rCsl?= =?us-ascii?q?Nv8udaGLeAk1t+rCx6HpBUCTZDzWqlIEhrTHlar+VaL7zYc9RbQ/k2fxCvIRI/?= =?us-ascii?q?Ffki30yH5kx0mHD5YytptgRE5y/dRQ40VTIOgrfsnz0epdurOTgAS5JHdT8hdT?= =?us-ascii?q?vKKxqHmSBLuxZSc1tlW4oEAtZD4b0b3pBZ/svDSUatNSEKRwZuNgQm3vpDjURD?= =?us-ascii?q?qlmXeTjBDQq0cvbCqgF3fcCUrMOyMPT14AJHhZj9vOA+6aoDW2WsmRexTtDGs4?= =?us-ascii?q?/8qtqKu1OOdKjiKe2ze3vBQyXXgB+tm7gkF4HK8DbXMAVFMZl2030kYYLuCWTT?= =?us-ascii?q?JxRJO7obJ1ZHVaB9cdhGoOdaaNF/dakU56BtHQyIRgnzGIOxsfZKNFDTSirCLy?= =?us-ascii?q?+Z6OywvZrT7aDBSejnfsGD3HjHTL5rMpp49DX2Fazn3pNZ+krzxvhi7Fh6SUTc?= =?us-ascii?q?PyCHstvhOhsB5NO+eUv6op0pATTWDY9qkHXz205Ad9AYQzGx/ZQcz5NZ9mj/Rf?= =?us-ascii?q?xk3Uj0reJd6aNo6Y8p7LB10c20P7vdKexGsU97BRiZHh1q9o4xAGdlWm9RfvQc?= =?us-ascii?q?KOzWfaQEl8Dht/74F6oL6B2P4eNZbcHLJ0bbmsmwEjucUwBLnB8dqT4GKQuRz+?= =?us-ascii?q?KFm7VqRsm7uOf0wV8t41yiLh4c1r9t+4aE+q2MpODJcxvd178EWrLlRsnrtLQj?= =?us-ascii?q?p1uS5eE4lL4JYmF1ZheoEOwZVsED2mfg0bolwjg3HsPFAb3g5OVDWG4jkTL4hZ?= =?us-ascii?q?9xBVMWFe0IHbCT54RRgn84m/DFNt0Raq1CmHyAFQSjEr8ZzX6k8TWXLXJgghHT?= =?us-ascii?q?1xHwXWKz40P3rSBiRyvM1M3vkk1PVrm4HU1SRTamOVdksDOTOwrlrNj3tr4z7E?= =?us-ascii?q?E4KGzks8+Cm3W6NbNLBcL/IsecIS4uqFIRkpIxWsSl2ZoHFtqlPNcR7HZ+Y+PR?= =?us-ascii?q?62O2ki9Bp6NHiJTb4syO5/rYA2Kvj6yApLWL3jxYzWI4vV4n4NC6Kv7O/8GKQ+?= =?us-ascii?q?iv12sJSSd/vxDMXx+zqrzetVwUOEqL0EnRmIMQJdFZwWM41lz66+g/XdIz7htR?= =?us-ascii?q?GpzHZ/MYqjD5ICH0zkqHY9IrSime1CNaHlfyEVl+BKg813z/sdnMlXfR4VIoQJ?= =?us-ascii?q?d/d1DphBxwFYU4Klkt5EIRwiUdDQgHcQqbA62wBUT5MYsEUlAOaRCc3Li/eqo6?= =?us-ascii?q?xkNzza2y6+/Ud+xzHbINNuxajg6MgldUBo4WvbcZQLJmdF9X7LTXqRT6C4j7Q/?= =?us-ascii?q?jmkmI9NeavTcBE688ZuGUt4h2kShq785hD8awUiJ+Wea5fe5TMut5z71t/7z4V?= =?us-ascii?q?aiNNmAR/jw++Ue0EpuDj493bvYGt6umwVKciWf8X9xkyB2RxlZfwhk4soc3P3e?= =?us-ascii?q?dGVoLVkZj/8BxKI3OSuYbb0gNzJvASJI+wZ7Zv6WkHKDYCKH4UOtqWcfY86Td3?= =?us-ascii?q?MDrP/1xCHt8MZdQAMcXWmABUkUPoV6tR9sraBl+YE518d90s72fs1D819oYzXf?= =?us-ascii?q?j65z+rP5Df6EtNMOlZgCVrjtLCq/AfweDOBygP/XmZdx91zzuay5aXF/b/4eWM?= =?us-ascii?q?yd/TV1McHS46SpxdKySG+QymQOq1iZroXxiM6sDpnJIxaEKQR3K2nKQfsaZAC+?= =?us-ascii?q?1AhTvh3jhYCI/1g+iZs9226GtYrldHCpp87QXZGKVDOZV2IQj4ltO1SUh4HCT/?= =?us-ascii?q?ft/bewEzt+qXyecM4vl+OFHlZYABOBIE1qj26XxLQQtyULT2pEqWXfoNZNt6T/?= =?us-ascii?q?PJtn9V5ph6K6ARIFidpIfnrjNJqFAqHgApaKU/riFBdkXUmg1aRbr0sqYaigQA?= =?us-ascii?q?Sd55pVNMGWWoNWIx+TXHU7hVjK6WCPAS6TWcUKgOU0RuMiNjTBK4w5FudKWznf?= =?us-ascii?q?FHqGxKhCV9r+Y20zZ+XhuzpTXsp74R2TIn4Ly4sjQBtmBCTuWaiSjIEk9PzPUN?= =?us-ascii?q?jacbEHbi8kexYHwMYYr9+rVnIt7g9YY56XQlfRojZzEGXfinCyzogKOHHpePsM?= =?us-ascii?q?lFiBCQt8vAa76zLS4PNrUy0h/jSH193RLYnBl26mcLRS+g7NA8LoWnJckl3jao?= =?us-ascii?q?GXTcdFsU4KNJt8vxtVgRQOQqaVNhxHhj3dWGRy0MQszPAGU1jgk/ZGVacZJD9w?= =?us-ascii?q?UVF601jTaJpKVG+B8bYCvMGIS/5obQhdvI2WU6Tdpyx2LWuLeKhpUx3X1hhtN7?= =?us-ascii?q?8y+OuHMJd+DCVM9sGHfz3J9FyePif/WtrvwHSIx+xbSjTvACPMej+W+t1ZRkQE?= =?us-ascii?q?ClwKoRH0ajPO8F2LjbTz+vSXeEVuSTb2iMgzE5P1b95RmsKV02ZtlFr0s5MubZ?= =?us-ascii?q?nZ5ckAvhUbJoSSmKo1/U0nAjO/sAdw0qoIenZxAKTOkJauieJegvwOU+CFwIb3?= =?us-ascii?q?/IASt5FfS7sVusnIhnIXVv/1/2YeP38gDpKNGSAAULEZbGrp5t/vy3Xn6BOX5l?= =?us-ascii?q?zBBpIEl09vvQF1cvue9YaZqRm8bfh8hj2+4fa/htKTE9usIUmo977ImU0cSKcR?= =?us-ascii?q?LWzpvpJ9HauPuYA/rZz0s0fGFWSLwZbh3p548iJN42R6XTHadFvRQbHaU1W4Iu?= =?us-ascii?q?N2Ht9KxvNwNzdgnRZKiogsn0uO2Ee4FYp3jM7lI/NC3coQEMyuSoTQxnaJCnn3?= =?us-ascii?q?vyL440RjJAt91iFABrHYpOG8MFqgqoHYSUmKWlhNOr/EN6oeAKu7LqCv/WzNS5?= =?us-ascii?q?w5lxX59C6E2FJDbRHqhrjVh7gemph/fA04XxCdn8dt8eU+h7WGHFYKfcHoqjMj?= =?us-ascii?q?KOJt78e0le/r6b1LJ2TA6cZDj9X6Wcry2kKPRk7lknyoxiYuXc0iYh77fF19vu?= =?us-ascii?q?f2tbvDusrWaVNJtD61zHHejeXxNSSfqY/2dpBKkXbYrv9OcSKtwv29mc7BN17D?= =?us-ascii?q?RFyseFJLKhrkDU0EJhaZ3bNFfp2zo+WYQSOxSwL08sgW7fqnTADnVQKceqKdVt?= =?us-ascii?q?gNmLFBzi+VFxlns2a25CBGXoX9GRNnYf282leQ2K+xhHD9EZn+64YUQ4rLG9Sf?= =?us-ascii?q?F0OpVZnuWnrLAHnsx1JCHPRchaOSbQIaRoPjpQCOXAulwoYh8Cs7goVYY5f5+O?= =?us-ascii?q?IFkIME2Y0yP90RPC0VHod9yrzKuJIjwZ8nZAz73eyjVMug+5ueqZgs3kTbDZY5?= =?us-ascii?q?H2XOLIPCojSD6aWSw4EVy19le8p/oEoP2YLH8Qol8OeS2SEg8Tqb5rrdXLEG/T?= =?us-ascii?q?nfdsfIYLhPCHQSzwTjN3lLYqDCZRqU+MW+YDFRXRb3L5gmpcvQuiJuVW/XLkdL?= =?us-ascii?q?2V3axVVPYTAoRSc/2VWdzYeepRJz0wjDUWJP68f8HAr7Y+yl/IVmUZE6zU+1Cf?= =?us-ascii?q?T0ObWeKcyCzxXYUUvok0vSwo9sjWniBpD6Sbd4qY8ian74qQlC+FvajbUW43bg?= =?us-ascii?q?o+h+dRLnOGxUx6KWoEAssZ8GHkQ6iNfA4YznMiiet01ygHTwR6U3tjyVVcgPe7?= =?us-ascii?q?BsBDT1MIymipRatVPxhMEDos8BrSsUXJatsatJWWHjdT?= X-IPAS-Result: =?us-ascii?q?A2EUAQBjjTBZ/wHyM5BdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgyyBb45/qEc5K4h5VwEBAQEBAQEBAgECaCiCMyQORiYyAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBGgIISAEBIAIkGQE4AQIDCQIFEjEIAwFsBYoMAQMVBK9tOiY?= =?us-ascii?q?CgmIFgQKETIMaBAiEUYlngWB9hSYFnimTHoITiRyGVQKJBotRWIEKMCEjhRFBg?= =?us-ascii?q?g91hzCCPwEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 05 Jun 2017 15:49: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 v55FjD1B029620; Mon, 5 Jun 2017 11:46:11 -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 v55Fj39V148924 for ; Mon, 5 Jun 2017 11:45:03 -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 v55Fj24U029618 for ; Mon, 5 Jun 2017 11:45:02 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1ACAQCaezVZh9MAFEFdHAEFAQsBhUiOf6kcDoYWg1oBAgEBAQEBAhMBAQEIDQkIKIV1GQE4ARWBO4oRAQMVBK5+OoMKBYEChE2CNyYECIRRiWeBYX2CCQyDEgWeM5MgghOPdAKJCYtWgWEwISOFEQFfgXF1hzeCPwEBAQ X-IPAS-Result: A1ACAQCaezVZh9MAFEFdHAEFAQsBhUiOf6kcDoYWg1oBAgEBAQEBAhMBAQEIDQkIKIV1GQE4ARWBO4oRAQMVBK5+OoMKBYEChE2CNyYECIRRiWeBYX2CCQyDEgWeM5MgghOPdAKJCYtWgWEwISOFEQFfgXF1hzeCPwEBAQ X-IronPort-AV: E=Sophos;i="5.39,300,1493697600"; d="scan'208";a="6078593" 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; 05 Jun 2017 11:44:55 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3ARsYOJBMySCwaG/IqFjQl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LfT8rarrMEGX3/hxlliBBdydsKMbzbeO+Pi7EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6/bL9oLBi6sQrdutUYjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVRnlgz?= =?us-ascii?q?oFOTEk6mHaksx+grxGrhyvpBJxxJXZbJ2JOPdkYq/QZ88WSXZHU81MVyJBGIS8?= =?us-ascii?q?b44XAuQdPOZXs4n9qEEUrRSjGAKiBvngyj5OhnDoxq0xzuMsERvH3AM8H9IBqm?= =?us-ascii?q?7Uo8jtO6gOSe+1zLPHzTTFb/xIwjfw85PHcgwgofGKQbJ/b9DRyU8xGAPZlFmf?= =?us-ascii?q?tYvlPzaM2+kLrmOV7PJgWPquhmMnsQ19vCSjyt0whoXTmI4Z103I+T16zYooP9?= =?us-ascii?q?G0VUB2bcC+HJZfuCyWLZZ6Tt8mTmxupS000KcJuYShcygP0JknxwDQa/iAc4WQ?= =?us-ascii?q?+BLjW+GRISpkhH55dr+znQ298VS6xu34Ucm01lZHojBZndnUqn8N0xvT6tWaRf?= =?us-ascii?q?dn4kih3iyD1x3Q6u1cIEA0k7TUK4I5z7Mxlpcfq1rPEjPslEnqlqOaaFgo9vWw?= =?us-ascii?q?5+TieLrmp5ucN4FuigH5N6Qjgta/AeUkPQgORWeb4/mz26X/8kLhQLVFlPw2kq?= =?us-ascii?q?/Hv5DBPskUvbK5Aw5T0oY/9Rm/FTGm38oEnXUdMF1FfxeHg5DzO17SOPD4Eeu/?= =?us-ascii?q?g1O0nTdw2f/GOrzhApPQLnnMi7rhYbZ85FJcyAo019xf4YlUBasbLPL8XU/xqo?= =?us-ascii?q?+QMhhsKwWpx87/Ach5k4YZXniCRKSeNfD8q1iNs9guKOmFfoNdmD/8LfU+r6r0?= =?us-ascii?q?jHQ5kEURSqKe3ZIWbn2jNv56IkOFbGDqj8tHGmAP6FltBNf2gUGPBGYAL025WL?= =?us-ascii?q?gxs2k2?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ELAQBjjTBZh9MAFEFdHAYMGQEFAQsBh?= =?us-ascii?q?RyOf6hHQw6GFoNNAQEBAQEBAQECAQIQAQEBCA0JCCgvgjMiEEYmMgEBAQEBAQE?= =?us-ascii?q?BAQEBAQEBARoCCEhIGQE4ARWBO4oRAQMVBK9tOoMKBYEChEyCdCYECIRRiWeBY?= =?us-ascii?q?H2CCQyDEQWeKZMeghOPcQKJBotRgWIwISOFEQFfgXB1hzCCPwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0ELAQBjjTBZh9MAFEFdHAYMGQEFAQsBhRyOf6hHQw6GFoN?= =?us-ascii?q?NAQEBAQEBAQECAQIQAQEBCA0JCCgvgjMiEEYmMgEBAQEBAQEBAQEBAQEBARoCC?= =?us-ascii?q?EhIGQE4ARWBO4oRAQMVBK9tOoMKBYEChEyCdCYECIRRiWeBYH2CCQyDEQWeKZM?= =?us-ascii?q?eghOPcQKJBotRgWIwISOFEQFfgXB1hzCCPwEBAQ?= X-IronPort-AV: E=Sophos;i="5.39,281,1493683200"; d="scan'208";a="7759127" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from rgout0305.bt.lon5.cpcloud.co.uk (HELO rgout03.bt.lon5.cpcloud.co.uk) ([65.20.0.211]) by emsm-gh1-uea10.nsa.gov with ESMTP; 05 Jun 2017 15:44:52 +0000 X-OWM-Source-IP: 81.132.44.109 (GB) X-OWM-Env-Sender: richard_c_haines@btinternet.com Received: from localhost.localdomain (81.132.44.109) by rgout03.bt.lon5.cpcloud.co.uk (9.0.019.13-1) (authenticated as richard_c_haines@btinternet.com) id 58A82A5C0C14AAEF; Mon, 5 Jun 2017 16:44:48 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btinternet.com; s=btcpcloud; t=1496677493; bh=3nwd7d9hTQi5VrwNTH5jz01bb7hmHM9T97T64lw7imA=; h=From:To:Cc:Subject:Date:Message-Id:X-Mailer; b=cFdCKLlJaUv8BSGpY4XSL0xwGrONLa8ypqYOYz50vvoxNSykC4GUfg8XEobE5QLSKjm+vJqmkBrBnvl8bBr454MQorJnNnZCiI3n7/edD8pnOVoR8quRTvkq+wOesPvkXpxGkFQFmF3Nt17uKvcNPftWafVKpFZzw5/JgE84H2k= From: Richard Haines To: paul@paul-moore.com Subject: [PATCH] net/ipv6: Fix CALIPSO causing GPF with datagram support Date: Mon, 5 Jun 2017 16:44:40 +0100 Message-Id: <20170605154440.2434-1-richard_c_haines@btinternet.com> X-Mailer: git-send-email 2.9.4 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: netdev@vger.kernel.org, linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP When using CALIPSO with IPPROTO_UDP it is possible to trigger a GPF as the IP header may have moved. Also update the payload length after adding the CALIPSO option. Signed-off-by: Richard Haines Acked-by: Paul Moore Signed-off-by: Huw Davies --- net/ipv6/calipso.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/ipv6/calipso.c b/net/ipv6/calipso.c index 37ac9de..8d772fe 100644 --- a/net/ipv6/calipso.c +++ b/net/ipv6/calipso.c @@ -1319,7 +1319,7 @@ static int calipso_skbuff_setattr(struct sk_buff *skb, struct ipv6hdr *ip6_hdr; struct ipv6_opt_hdr *hop; unsigned char buf[CALIPSO_MAX_BUFFER]; - int len_delta, new_end, pad; + int len_delta, new_end, pad, payload; unsigned int start, end; ip6_hdr = ipv6_hdr(skb); @@ -1346,6 +1346,8 @@ static int calipso_skbuff_setattr(struct sk_buff *skb, if (ret_val < 0) return ret_val; + ip6_hdr = ipv6_hdr(skb); /* Reset as skb_cow() may have moved it */ + if (len_delta) { if (len_delta > 0) skb_push(skb, len_delta); @@ -1355,6 +1357,8 @@ static int calipso_skbuff_setattr(struct sk_buff *skb, sizeof(*ip6_hdr) + start); skb_reset_network_header(skb); ip6_hdr = ipv6_hdr(skb); + payload = ntohs(ip6_hdr->payload_len); + ip6_hdr->payload_len = htons(payload + len_delta); } hop = (struct ipv6_opt_hdr *)(ip6_hdr + 1);