From patchwork Mon Jul 10 07:57:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 9832841 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 1FCCD60363 for ; Mon, 10 Jul 2017 12:23:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 11CC826AE3 for ; Mon, 10 Jul 2017 12:23:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0516A274D0; Mon, 10 Jul 2017 12:23:38 +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=unavailable version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (emsm-gh1-uea11.nsa.gov [8.44.101.9]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 608D926AE3 for ; Mon, 10 Jul 2017 12:23:37 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.40,340,1496102400"; d="scan'208";a="7430936" IronPort-PHdr: =?us-ascii?q?9a23=3AuTfurh/w9DQ9+f9uRHKM819IXTAuvvDOBiVQ1KB5?= =?us-ascii?q?0uMWIJqq85mqBkHD//Il1AaPBtSLragawLeO+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZPebgFLiTanf79/LRq6oAXNusILnYZsN6E9xwfTrHBVYe?= =?us-ascii?q?pW32RoJVySnxb4+Mi9+YNo/jpTtfw86cNOSL32cKskQ7NWCjQmKH0169bwtRbf?= =?us-ascii?q?VwuP52ATXXsQnxFVHgXK9hD6XpP2sivnqupw3TSRMMPqQbwoXzmp8rxmQwH0hi?= =?us-ascii?q?gZKzE58XnXis1ug6JdvBKhvAF0z4rNbI2IKPZyYqbRcNUUSmpbWsZaSjJPDIWy?= =?us-ascii?q?YYASC+YNJPtUo5X4q1YIsBCwBxSjBPn3xzFImHH4wKM03ecmHw7E0gwgB9ADvG?= =?us-ascii?q?naodrrL6cfSvy5wLXSwDnfdf5axSvx5Y7VeR4hu/GMWrdwfNLUx0YxCQzFlUib?= =?us-ascii?q?pJLiPzOS1eQGrm+W7+l+Wu2xkG4otwZxoj+sxso3lobJhpgVylfB9SV43YY1IM?= =?us-ascii?q?e0SElhYd6rCZZdsTyROYhuQs46Xm1ltyk3xqcGtJKmZiQG1psqywDFZ/Caa4SE?= =?us-ascii?q?/xDuWeiLLTtlhX9od6iziwuv/US+0OHwS8e53VhMoyFYiNfDrGoN2AbW6sWfT/?= =?us-ascii?q?t9+Vqu1iiX2gDI7+FEPVg0la3GK5492rIwloQcsUDEHiLuhEX5lrWWdkQ5+uiz?= =?us-ascii?q?8ejnfrXnqYOcN49zkA3+NLghmtejDugiNwgOXmyb9fy91L3l40L5XK1HguA5n6?= =?us-ascii?q?TWqpzXJdkXqrSnDwJazIov8QuzAy+j0NsCnHkHKFxFeAiAj4jsI1zOO+73DfO+?= =?us-ascii?q?g1SqjTdqyOnKMabmApXQKHjMjKnufa1m5k5AyAs80dBf55VOBrEHO/L8QFX9tN?= =?us-ascii?q?PfDh8nKwC02froCM1h1oMCXmKCGq2ZMKTUsVCS+uIvI/ODZIkOtTb/LPgl4fvu?= =?us-ascii?q?gmUimV8BY6apx4AXZGq/HvR8LEWTeWDsjcsZEWcWogo+S/TniF+AUTFJe3myXL?= =?us-ascii?q?k85jY9CIKnE4fOXY6tgLic3Ca0BZJWe2ZGCkyREXvycIWEQfgMYjqIIsB9ijwE?= =?us-ascii?q?SaShS4g52BG2qgD10KRoLuzV+i0EspLuz9l16PPNmh4s7zB0CN6d026VRWFugm?= =?us-ascii?q?wIXyM23Lx4oUFl11iD1q54g/pFGtNN4/NJUxw3OoTCwOxgDND+QAXBfs2GSFy+?= =?us-ascii?q?WNWpHSkxTs4tw98Je0tyBsmigQrZ3yexH7AVkLmLC4Au/aLHw3j9PcB9xGja1K?= =?us-ascii?q?M5lVkpXtNPNXG6hq547wXTBojJk1mHmKaua6sc2TDC9HuZzWuOp0xYVxZwXrvD?= =?us-ascii?q?XXAafETWrND56VjFT76hE7gnNRFBycGaIKtQdtLplUlGROvkONnGY2OwmmCwBR?= =?us-ascii?q?CTy7OJaIrmYmQd3CPHBEgCiQ8T53WGNQkgBii/uW7eCiJhFU73aUP27eZ+sG+7?= =?us-ascii?q?TlMzzwySdEJuzL25+hoUhfyHV/MTxagIuDw/pDpoBlq9xMzZC96BpwpnYaVdbs?= =?us-ascii?q?gw70tH1GLDqgx9JYasLq54iV4CaAR3uEXu2w9wCoVansggtGkqwxZqKaKEzFNB?= =?us-ascii?q?cCuV0o7oOrLNMGny/QuvZrXO2l7EytaW+7wP6Ow8q1r5oA6mCFAu83J909lay3?= =?us-ascii?q?Gc/InFDBIOUZLtVUY67xZ7p7DeYik4+YzUz2ZhMaeqvTDf3NIpHvEqyg66f9dY?= =?us-ascii?q?MqOLChP9E9EAC8ipMuwqlECjbggYM+BK6K40I8SmeuOI2K6xJulgmi6pjWVc4I?= =?us-ascii?q?1m10KM7yt8RvfT35cL2PGUxAyHVy3zjF25qMD4hZhEZS0OHmq40SXkB5ReZq51?= =?us-ascii?q?fYYWEmquINe4xtZ5h57wQXJY80SjB1we0s+zZRWSd0D93RFX1UkPu3OohDG4zz?= =?us-ascii?q?1qnDEztaeQxjDBw+H4eBoAIG5LS3FojU3wLoisk9AaQE+oYhA1mxS/4Ub12bNb?= =?us-ascii?q?pLh/LmnUWkpIZDT5L2B8Xau2qrqCYtRA5IkusSpJTOS2eUqaRaLloxsGzyPjGH?= =?us-ascii?q?NTxComeD63oZj5kBl6iW2HIHZ1snXZZdl6xQ3D69zEWf5Rwj0GSTFjiTnZHFi8?= =?us-ascii?q?OMKp/cmPmpfYtOC+UGygVphJfint14+AsjW05XFyCx2lg/+zgsHnERQ90SLj2d?= =?us-ascii?q?hlTyHIrAribYnxzKS3KvxncVdyBFDn9sp6H5tykowqhJEfwXIanIma/WIbkWfv?= =?us-ascii?q?NtVWwb7+Y2cQSj4K2dHV5BPo11FkLnKM2432TG6dwtd7a9m8fGwWxjo379pWB6?= =?us-ascii?q?eM8LxEgSx1r0KmrQLQffd9gjAdyeE05HEGg+EJvwwtziqGD7AWHElYOzbjlw6P?= =?us-ascii?q?79ykq6VXfmmve6Cq1EVihdChEK2CogZEVXb9e5ciBjNw4txkMF3S1H3z64fkeM?= =?us-ascii?q?TfbN8IrR2UixbAj+5UKJ0tjfoGnyxnNnzhvXc90e40kQRu3Y2mvIiAM2ht5qW5?= =?us-ascii?q?AhpcNjLrfcMc5jbtjKhFk8aNwoCgAo5hFi8MXJvyQvKiCCgSuuj/NwaSDD08rW?= =?us-ascii?q?+WGaLFEg+C7EdqtWjAH4qwOHGQIHkZ0dJiRB+GKUxanAwUWjI6kYIjGgCs2sPh?= =?us-ascii?q?bF9z5ioN6V7gthtM1uVoOgH8UmjBogeocSw5SJuBIxpQ9QFC4VnaMdCE4uJ0BS?= =?us-ascii?q?FY8YWrrBaRJWyDewRIEWYJV1ScB1/5I7mu4cfP8/CCCeq4M/vBf6+OpPdDV/eT?= =?us-ascii?q?252vyJBm8yyXNsWII3liFeE01VRNXXB+AcTZlCsARzYRly3Tc86RvA289TFvrs?= =?us-ascii?q?Cj7PTrXxri5ZWJC7RPKthv5Ra2jrqDN+KKgiZ2NypY3IsWxXDU0LgfwEISiyZ2?= =?us-ascii?q?ejm1C7sAqCrNQbnMla9WEx4aazp/NMVS4KI6xAVNPtTbitzt3L5ikvE1E0tFVU?= =?us-ascii?q?DmmsyxZswLI2W9O03cCUaOM7SGKzPLzN/rYaOgSb1Qi+BUuAOqtTadDUDjIiyJ?= =?us-ascii?q?lyP1WBC3LeFMkCabMQRQuI6ndBZtFW/jTNf9Zx21LtB4kDo2wacuiXPSL24cNj?= =?us-ascii?q?p8fF1Rob2M9y9Yhe9/G2NZ5Hp/MeaEgzqZ7/XfKpsOq/tnGCp1m/hf4Hsgz7tV?= =?us-ascii?q?6yFFSedvlyTOq95iuVamkvOAyjB/ShpBti5LhJ6XvUVlIajZ+INAVmjZ8xIW92?= =?us-ascii?q?qQDQgKp9x+CtD0oa9f1t3PmLj0KDdY/NLe5dEcCNTMKMKbLHohNgLkGDjODAQf?= =?us-ascii?q?VT6rLXrSh0JckPGI7X2VspY6qpnqmJUUTL9USF01GekeCkh/G9wCOph3VCs+kb?= =?us-ascii?q?GHlM4I+Wa+rB7JScpHpZDISOidAfr1KDmDk7lJfAAIzqn7LYQOLI30wVZual1n?= =?us-ascii?q?nITMAUXQR8lBojFmbg83oERN92JyTmst1EL5cgmt+mMcFeaonh4qjQtzeeIt9D?= =?us-ascii?q?bo41czOFXKvzA9n1MvltX/hjCdajnxLL2/XYtOESr7q1AxMo/nQwZydQC9hk1k?= =?us-ascii?q?NDjDR7JXlLZvaH5khxTduZRVH/5QV6pEYAUfxfuPffUnzUxcqjm7xU9A/ebKE5?= =?us-ascii?q?RimxE0cZGytH9A3BpjY8AzJazVPqVJz1xQibmJvi6nzOwxxxUeJ0kV+mOIZCEI?= =?us-ascii?q?oFAINqUhJyew4uxs7gmClyFZeGgLVvslvPRq+VgnO+SH0S3g0KVOJVy2N+yaM6?= =?us-ascii?q?yWoXPAldKSTlM2yEwIi1FP/aJq3sc7b0qUS0cvwaOXFxsXL8XCLRpYb8lV9HjI?= =?us-ascii?q?YSaBq+PNwYl2P4W8DOzoS/GBtLoMiEK+AAkpB5gM7tgGHpS0ykHXM9znI6Afxh?= =?us-ascii?q?U3+AvrJE6IA+9IeBKRjTgHpM+/zIdt3YZDJjARG2N9Pjur5rzPvA8lnOKDXMsq?= =?us-ascii?q?YncdRoYLK2g5WNO7myFEpHRNFyO40vgDyAiF4T78vTrfAyXhb9p5ZfeUeRNtBM?= =?us-ascii?q?uw+Toh76i8kUTX/YnGJ2HmKdRivcfC6ecdp5adFfxUS7h8s0DHlolXQXyqTnTD?= =?us-ascii?q?EdmvJ5j/c4Msd8D7Cm6mUlyjjDI4V9zxM8ipLqiJhwHoWIlVvZKH0zAkMM+yCi?= =?us-ascii?q?sRGwxsp+0Z4qJzexEDaYIhYRH0rwQ+K7C/IACA39qzX2mtLDxWT/9DzemnfLFX?= =?us-ascii?q?0TQjbvW7yHohSZE6yfO78UgTS5EWlhve3+qsZ5FCUSjvHXxQYwbPpTA5lmd7MO?= =?us-ascii?q?Yy3uc/zQjHsVkbKzCEaPZlaGpasNEgHVmSO2l5CnIkR1+AiorO+hKs37EX/yta?= =?us-ascii?q?g9ZU0e1EvWPjsZ/eYDOjQrekpY/TsyU+cdgsu7dxPpD7IsuaqJPemSTSTJbKsg?= =?us-ascii?q?KfVi66C+FXmtlXICNWRvlIhWElNtIHuYpH9Uo+SN0+K6ZJCKYyurCgcSBkAjIK?= =?us-ascii?q?zS8FS4OA2yQPjf2427vbihifbowtMBkEsZVEhdsdVTR5bzgFq6+iTYrWkXaISm?= =?us-ascii?q?YWIAsJ6wRD+h4AnJdqfu/5+IrIUINMyzlOrv1vTCTLEIJl+EHmRWGIn1f4Uu6h?= =?us-ascii?q?nPaz3QNS1v7s1cMbWBFnA0hH2+lWjlcoKK1wK6QIpI7KtD6Iel/6vGLqzOumP0?= =?us-ascii?q?Ffx9TJeVPiEIfLsnHxXTEb+X0RWYBA0mrfFYgInwp/dqkruE1GIJq6dUbm+zwk?= =?us-ascii?q?24NpEqGkWsCp3VkqsW0LSDutE9pFD+FmsUzYWCd5Y5+1tJrlO49eQmhK+J2Ss1?= =?us-ascii?q?1ZilliMzalyZpALMFA+iQMUyJVoTWap9S/U9FD2dVsAJ8SPNh/v3b9GKVLOJiV?= =?us-ascii?q?on02tbzvymPX+z8mqle6wS+/G6mmQOJF52ceABkmJ3yCqkkzCOsh6mnT/krRvV?= =?us-ascii?q?B0/udbA7mPgl9yoDtmH5BBGChG2m6/I1R0VnlGvP1QKL7JfMxEX/kyeRivNgQm?= =?us-ascii?q?Ff4h20yG51t0nHn+Yyx2uAtX4CXdXw4zVSkOnLjihSceqsa8OT8BSpJIazohYz?= =?us-ascii?q?3CKwKBliBdpAxfZF1yW5AFHtZF/KkW0pFO/srfT0agMyIFUQdjNgI50PpfiVVM?= =?us-ascii?q?vF+eeS/DEQqibezPvQFvfceNsM6pK+z0/BtAioPiq+0467kPR3i9lgG3R9DRsZ?= =?us-ascii?q?P8vMWQtkSSbKf4L/G8YXjZQTjMlx+wn60rD53X8CXILQVUNYF6yWI6bpjlF2HL?= =?us-ascii?q?Jw5KJ6UBJ0pUTap6c8lJovhGZ894f6YE4a1tBhWZSR70BYOgsuJGIUjJRTTCMS?= =?us-ascii?q?qO7/azoYTN4rzBUeLgfNCDx27bQ6JrOZd38SL0G7n23oNC+Ef6x/lg+1hmRljB?= =?us-ascii?q?NiCOsM7uJhgX5MW4cEvtoIEpFyvMAJhsiHrt2l1Ad80PTi2w7psX1ZNZ52zsSe?= =?us-ascii?q?9j1kjzt/NS+Kd65YYr5LBm1Nm7Kb3UKftErU9tGgKUCRly9pUxHGh/QHhcYvcK?= =?us-ascii?q?KPfNZ6sWkNzupvvsF6wQ9R2V4fBWZsXBJ0HdgMmwEDWcRQZDnAcbpj4QNhGc2O?= =?us-ascii?q?Kdm69oVcalovD02l4341egMBEJ0atg5ZqA+qqUvu/YdQXRzbkDWqjuWMzzsq4g?= =?us-ascii?q?u0SI5f0rjLQOYHB6YxW7EOgBUc4Q3mLgwrouzSIoDczDA67g9+RZWH8imDLvhY?= =?us-ascii?q?x9H04KFfwOBbqE455SnmEmlOzFLtcWaLxNmn6TFR64Fb8P0Xyr5DGNIGlimRHO?= =?us-ascii?q?1wv/QX2o4V/zsC94RTfMz9b/nUpUTLa3A1xSUzCuOU9ivzOFJBDou8bvuaQp8E?= =?us-ascii?q?E2NXTptNCXm2unNrNXBcr/K8GCLiQvuFIYlpsxRseo2YwBH9qyPssR+mlkbvTC?= =?us-ascii?q?82OrjzNBo6BfiorR/8GV+/HXHX2+gK2fsLiC2S5XxWM5vV4l7NCsLPbO58eFQ/?= =?us-ascii?q?6wzWYeUz9/uxfdXx6ysrHbqVQUNFeK0EfNnYwGJNBZ3X821kH8/ucjW84z9B9D?= =?us-ascii?q?Fonce/MCuCrzNyXuzVaYedI3WTGU0yFLEVLtDVl4BK881Xr1vMLOk3fQ51IoSZ?= =?us-ascii?q?drekzihBx4FYM4Jlwx6FkZxSoDCwsNaQuBALGuG0vlMZMOVVIfZhSfwLi6ZqA3?= =?us-ascii?q?0FV3wrO04e/ebfdxB6QTOflAiQ6OhkJUGooMsa0ZQrJzZUNS9LLNqgjlEYjnUO?= =?us-ascii?q?DslWAsOv2tXsBa7ccZumM54gmlWRqv85hD4KgAiJ2Tba5Le4bMs9pz70h5/j4D?= =?us-ascii?q?bCpNjwZjjxmhS+ATuPjj4sTHsJqv8uuuVqctR+AM+hgxGWt/j4X/gEoiodHR2O?= =?us-ascii?q?dQUIvVhprj8ApVOX6FpJ7a0wVgKeoJM4+rfbdh+G8dKCcCPH8OJsSZa+Ui7CBx?= =?us-ascii?q?KjnT4EZCAswUb9MCIMXNgRxUilHuWLxL7cXbG0SYColpeMAq7mr31Cg1/oEhUu?= =?us-ascii?q?bk8zK5OZff4ExTMPxZkSVsjtXCpPIPzvbIDygX+3aZYQBvwiye05mNF+rw/eKU?= =?us-ascii?q?xdHMTVwGAjI5U4dTJTqF4wynRfO5lI73XQOQ68/zho8+dU2LS3yphqsFrrpDEe?= =?us-ascii?q?5OiyX8xDheFZr5h/GLvNq27mtYqFlHHJx07R3fF6VVJo97Ngjglsm3Wkh8ATPy?= =?us-ascii?q?eN3OdhUwvOqZ3OEM7PtlOkTjZI8bLRMEy67g5npOVARuUqP2skyfXe0PeNtsUO?= =?us-ascii?q?nEoWxN6YJ8N68PO0CQpJPwoTdStl82HA8pZaQ0rjxbaknBgg1VVLzpuL4bkAcc?= =?us-ascii?q?V8B2uVNUE2KqJG0+/ybHVbhSjKSJB/wa7DOTTrAJU0VvNS9+WA262JFve7uvgP?= =?us-ascii?q?BGvXhLnidjr/gw0z1pXgGwuSvyqKIRwTgg4q23tC0duXxZSeWTiyHICVRfw/QN?= =?us-ascii?q?iacTEW3i5Ua9YHkEa4vy+6JnKN/l9YQu7HUzexIjfzcJXe64ESH/k7uIApCTsN?= =?us-ascii?q?JbnBONt9nBbaSoLSQLK7ozxhTtR3l70gjDkxdl62QLQjC6498iOoqxI8ElxjCn?= =?us-ascii?q?GWLDblYD/rtJsNfttV4MVOY2a1RhwGVl0sSdWiINRMjPG3sogQklaGVEdolD6R?= =?us-ascii?q?wbF6QznDaIv7dG8RsQYDjJE4Sp4I/QktnU2XMlV9dl2nrWprGZhpMtyHBlms10?= =?us-ascii?q?4TSIuHkJc+zYTtJjAnn01odE0+D+YO+tsu8fQot81LuhSOMCMtWk+Wau2pVlRE?= =?us-ascii?q?GlxroaH1eiPu4M3LHbXDm5SWGCX+SEbXSMlS4jMkHu/RmoMkE3aMBSok8yNuvC?= =?us-ascii?q?gZBdmBPlUbNwXSiQvljbzGoiMewGbQ42vpmoexASRu4Le+ecPfQuwOE5CFYUbX?= =?us-ascii?q?/JHSt3C/exsV6pnYh7J2tv7F7/YeTs7gDmKsWdFgMDEY7AoZ574ea6SX6ZOX98?= =?us-ascii?q?0B1yO1F59/veF1Q0reJcb5eRksTTh9tl1e4JbfFtPjMhutQLgIJs9ZGU0NuWcR?= =?us-ascii?q?HW1pvyINDVovubA/3Y1EkqeHtVUrkeYQPz+Yo6OMQ1W7vNErtFpR4cH7Q1QIQ9?= =?us-ascii?q?N2ft86F5NBh8fRDXZLSomcTqveaLZpxIp3/K8FI/MjrTtwcEyvyuQgxxd4qqiG?= =?us-ascii?q?nqIJAsWjJBqMVgChV4E4tLGsMAtxSoDoWVmaG6jt+x/l11u/UOsaXuEPzK0865?= =?us-ascii?q?34ppVZhA+UOLJCrRBLVsgkl9gOWymu3A0pjtBsz8Yt4EUel7QnLfarDYBIm/LS?= =?us-ascii?q?iOOs3kcU5c77GcyK55UgmWZC3hWKqGsDOrOe584UU/0IN4Z/bTzD0x4LHHwtv9?= =?us-ascii?q?eX9Uqj2lrXGXKJtV9EbKCvDGXxJIVfqF935oHakWbYvy6ecPPsUuwNyd4wlo8D?= =?us-ascii?q?RCy9CII6m7oU/K3UJ3b5XbLFHm2ywhQ4kFPAy/MVcwgW/esnndGmpTLsylKclr?= =?us-ascii?q?ndaUARvh6UZtmWEteGFBAHTnRc+LNmUA2MKxeheK9ARVANYHhOG3ZEE4ure1Se?= =?us-ascii?q?lyNZVPgf+qu6kfkdZ1NyHPQ9BXPyTKI7BqPjpRD+PPpF8zbx4asrg1XJk6ZZyP?= =?us-ascii?q?IEMBLUeBxjn+zQzY0U37b9aszrqGID4K8nVbyLLIyTpMqBO6ufaemcLuS63ZbJ?= =?us-ascii?q?fqXP7SNyolSz6aRTQuEUqz/1erpeYEtuKCIWgDulAUfj6SCAkLq6Bgt9ffFXXT?= =?us-ascii?q?mex9c50On/2aRSTwRzdjlKozGyZHr0aMTOQfFQPOdX/unHJcuBC+Jv9L5X/lbb?= =?us-ascii?q?iYxq1PW+wMA4tMaeaUQ93CdvBbOTgoly8VOOGmf93Tt7w5yE7HTXMFE6nU812T?= =?us-ascii?q?VFWWQvKZxz33XIgYvJM5ujQ29dLKny92EqPIP7CFqz6o7IG4kHXQheqLcmgrfl?= =?us-ascii?q?d9vOUYHmCFzAIIfH0DEc8cvE32aqqBYVtckXwulORi0gMNfwI1VWdhhC54hvG4?= =?us-ascii?q?T+5UREVcp2SpQ7VSb116Fzg3+kyi6Q3oZtkBpMWVQHVRoOhfAbEBJeUlvdGEcJ?= =?us-ascii?q?Abx+wkiXc/+XQ3?= X-IPAS-Result: =?us-ascii?q?A2EgAgAzcWNZ/wHyM5BdGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgy+BeI58kWuXGCqJIFcBAQEBAQEBAQIBAmgogjMkAQ1GWAEBAQEBASMCD?= =?us-ascii?q?V4DAwECJBkBASUSAQIDCQEBFycKCAMBMAEFARwGEwWKKp4XP4sfglc6JAKCYQE?= =?us-ascii?q?BBYgxKggSgxaBMoIagWGCcIsSkV2NRpQMixMohmWTeDOBFViBCjEhCCgIhU0PH?= =?us-ascii?q?IIHVohmAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 10 Jul 2017 12:23:36 +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 v6ACNZtV019687; Mon, 10 Jul 2017 08:23:35 -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 v6A7viKf291321 for ; Mon, 10 Jul 2017 03:57:44 -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 v6A7vfKL011190 for ; Mon, 10 Jul 2017 03:57:43 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1BuAABGMmNZf7XAVdFdHAEBBAEBCgEBh?= =?us-ascii?q?VKOCXORa5UQghGGHAKDUD8YAQIBAQEBAQEBEwEBCQsLCCaFSgMDJxkBASUSAQ8?= =?us-ascii?q?/EjQBBQEcBhOKL54YP4sfglc6gwcBAQWILwEBAQEBAQQCAR0ICQEIgxaBMoIag?= =?us-ascii?q?WGCcIsSkV2NRpQMixOHDZN4M4EVH4FCMSEIKAiFTQ8cggdWiGYBAQE?= X-IPAS-Result: =?us-ascii?q?A1BuAABGMmNZf7XAVdFdHAEBBAEBCgEBhVKOCXORa5UQghG?= =?us-ascii?q?GHAKDUD8YAQIBAQEBAQEBEwEBCQsLCCaFSgMDJxkBASUSAQ8/EjQBBQEcBhOKL?= =?us-ascii?q?54YP4sfglc6gwcBAQWILwEBAQEBAQQCAR0ICQEIgxaBMoIagWGCcIsSkV2NRpQ?= =?us-ascii?q?MixOHDZN4M4EVH4FCMSEIKAiFTQ8cggdWiGYBAQE?= X-IronPort-AV: E=Sophos;i="5.40,339,1496116800"; d="scan'208";a="14715" 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; 10 Jul 2017 03:57:43 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AC3+34x1im3hXPYQhsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?seIWKvad9pjvdHbS+e9qxAeQG96Ku7Qe1qGG7OjJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMhzexe61+IRW5oQjStMQdnJdvJLs2xhbVuHVDZv?= =?us-ascii?q?5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnM?= =?us-ascii?q?URGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LpwRRT2lC?= =?us-ascii?q?kIKSI28GDPisxxkq1bpg6hpwdiyILQeY2ZKeZycr/Ycd4cWGFPXNteVzZZD428?= =?us-ascii?q?cYUBEuQPM+VfoYb/qVsDtgeyCRW2Ce/z0DJEmmP60Ksn2OohCwHG2wkgEsoLvn?= =?us-ascii?q?vKstr1L7oZXP6yzKnPzjXIcvRb2TTj54fWaRAuvfaMXbVzccfK1UYvFxnFjlKV?= =?us-ascii?q?qYzkIjOV0/4Bs2+B7+pvTO+ijXMspQJpojW32Msglo3EipgWx13E7yl13YI4Kc?= =?us-ascii?q?OiREJmYtOoDYNcuzyYOoZ4WM8uXmBltSkgxrEbpJK3YjIGxIkpyhPRbfGMbpKG?= =?us-ascii?q?7Qj5VOmLJDd1nHJld6y7hxa16UWgz/fzVsiw0FpTtipFnMXAumkD1xDO6cWLV+?= =?us-ascii?q?Fx/kim2TaI2ADT7v9LLVoomqrcLp4t2r8wlpwNvkTfBiL6hln6gauMekgn+uWk?= =?us-ascii?q?8fnrb7H4qpOGKoN5iRzyPrwrmsOlAOQ4NgYOX3Kc+eS5zLDj/lP2T6tRjvIqla?= =?us-ascii?q?nZt5PaKN8Hqa65GQ9V1YMj6xeiDzejytgYmmMHLF1ddBKdk4fpI03OIOz/Dfqn?= =?us-ascii?q?mFSjjjNrx/HAPr38DZTANWTDkbf9crZ97E5Q0gwzzctF6J5OBbEBJ+zzCQfNs4?= =?us-ascii?q?n8DxkkKESIxPz5AdFxzctKRWWVHKadPLj6tV6O+/JqLe6RYoMcpDf6Lb4i/fG4?= =?us-ascii?q?3lEjnlpIXqSkxtM8b3e7VqBlLkiCan3rgf8KEX0NuwsjSartklLUAm0bXGq7Q6?= =?us-ascii?q?9pvmJzM4mhF4qWA9n12LE=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FmAQAIM2NZf7XAVdFdHQEFAQsBGAEFA?= =?us-ascii?q?QsBhSeOfJFrlyGGHAKDUVcBAQEBAQEBAQIBAhABAQkLCwgmMYIzJAENRlgBAQE?= =?us-ascii?q?BAQEjAg1eAwMnGQEBJRIBDz8SNAEFARwGE4ovnho/ix+CVzqDBwEBBYgvAQEBA?= =?us-ascii?q?QEBBAIBHQgJAQiDFoEyghqBYYJwh3QMgxKRXY1GlAyLE4cNk3gzgRWBYjEhCCg?= =?us-ascii?q?IhU0PHIIHVohmAQEB?= X-IPAS-Result: =?us-ascii?q?A0FmAQAIM2NZf7XAVdFdHQEFAQsBGAEFAQsBhSeOfJFrlyG?= =?us-ascii?q?GHAKDUVcBAQEBAQEBAQIBAhABAQkLCwgmMYIzJAENRlgBAQEBAQEjAg1eAwMnG?= =?us-ascii?q?QEBJRIBDz8SNAEFARwGE4ovnho/ix+CVzqDBwEBBYgvAQEBAQEBBAIBHQgJAQi?= =?us-ascii?q?DFoEyghqBYYJwh3QMgxKRXY1GlAyLE4cNk3gzgRWBYjEhCCgIhU0PHIIHVohmA?= =?us-ascii?q?QEB?= X-IronPort-AV: E=Sophos;i="5.40,339,1496102400"; d="scan'208";a="7424996" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mail-pf0-f181.google.com ([209.85.192.181]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/AES128-GCM-SHA256; 10 Jul 2017 07:57:40 +0000 Received: by mail-pf0-f181.google.com with SMTP id q86so45938477pfl.3 for ; Mon, 10 Jul 2017 00:57:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DIX/1c82+5+e5J36pQysBgXIXw3f+z494cg2SPZiVac=; b=WCPDgwt/o30k03CvRqw33BVnwFXouAY6wpODLEeKomNcgkAk22QKFwaL1chVXgCiNj BIBlXu1YfyJMpjaz+1hIp1z5kH7kvtbG63jBTBWZgetQv9xY9GkLkUMo0U5WezgDP+sU KWv1G20UqAxXhtbK/sdU4KoY5rOxP8Q3I7UvI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DIX/1c82+5+e5J36pQysBgXIXw3f+z494cg2SPZiVac=; b=pwvj6xj6iafuhSgogOu0w189lMuXmwGBUa9xy1hgOLjqEil3p9UxjEGNxZRzCp9ZAD X8BiPvRwnwnOce9t+mmCNsplQTa8htDCXXHJg35bnvd7EC5w56+xEhRi+eIYv4xE9EJE Qk7wE14g/SUQ3s7dyngnC1zDb7G053iqIfPPoNsm9t6fRQtOMtUXW9QQ7QR5X2iPBbgZ 6sHHnOELuoZYTOEKVph8LenzBxl+DZFWl3YtYwvwA2ctU3sxzQBtxE0LxvVHyX/2udbT 1hwxhi1kN/2Tp+oyVqard0Fh4H4aXjLLyD6PcT4KfHnAziU9MolwPSkD4QjvZqJSBGo2 ygRg== X-Gm-Message-State: AIVw1127Wb1JddEhKS0ggafYgZQeY7mD9yILqxFI7pWN1AvyYYoKI/YX 20kaEg3Byj2tlXYP X-Received: by 10.99.109.69 with SMTP id i66mr13508014pgc.187.1499673459849; Mon, 10 Jul 2017 00:57:39 -0700 (PDT) Received: from www.outflux.net (173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133]) by smtp.gmail.com with ESMTPSA id n19sm22847843pfa.64.2017.07.10.00.57.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Jul 2017 00:57:37 -0700 (PDT) From: Kees Cook To: Linus Torvalds Subject: [PATCH v2 1/8] exec: Correct comments about "point of no return" Date: Mon, 10 Jul 2017 00:57:24 -0700 Message-Id: <1499673451-66160-2-git-send-email-keescook@chromium.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499673451-66160-1-git-send-email-keescook@chromium.org> References: <1499673451-66160-1-git-send-email-keescook@chromium.org> X-Mailman-Approved-At: Mon, 10 Jul 2017 08:20:01 -0400 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: Nicolas Pitre , "Jason A. Donenfeld" , Andy Lutomirski , Tetsuo Handa , Michal Hocko , David Howells , selinux@tycho.nsa.gov, Ingo Molnar , Hugh Dickins , Greg Ungerer , Stephen Smalley , Vivek Goyal , Rik van Riel , Kees Cook , linux-fsdevel@vger.kernel.org, Alexander Viro , James Morris , =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= , John Johansen , Ben Hutchings , Oleg Nesterov , linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP In commit 221af7f87b97 ("Split 'flush_old_exec' into two functions"), the comment about the point of no return should have stayed in flush_old_exec() since it refers to "bprm->mm = NULL;" line, but prior changes in commits c89681ed7d0e ("remove steal_locks()"), and fd8328be874f ("sanitize handling of shared descriptor tables in failing execve()") made it look like it meant the current->sas_ss_sp line instead. The comment is referring to the fact that once bprm->mm is NULL, all failures from a binfmt load_binary hook (e.g. load_elf_binary), will get SEGV raised against current. Move this comment and expand the explanation a bit, putting it above the assignment this time. This also removes an erroneous commet about when credentials are being installed. That has its own dedicated function, install_exec_creds(), which carries a similar (and correct) comment, so remove the bogus comment where installation is not actually happening. Signed-off-by: Kees Cook --- fs/exec.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index 904199086490..7842ae661e34 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1285,7 +1285,14 @@ int flush_old_exec(struct linux_binprm * bprm) if (retval) goto out; - bprm->mm = NULL; /* We're using it now */ + /* + * After clearing bprm->mm (to mark that current is using the + * prepared mm now), we are at the point of no return. If + * anything from here on returns an error, the check in + * search_binary_handler() will kill current (since the mm has + * been replaced). + */ + bprm->mm = NULL; set_fs(USER_DS); current->flags &= ~(PF_RANDOMIZE | PF_FORKNOEXEC | PF_KTHREAD | @@ -1332,7 +1339,6 @@ void setup_new_exec(struct linux_binprm * bprm) { arch_pick_mmap_layout(current->mm); - /* This is the point of no return */ current->sas_ss_sp = current->sas_ss_size = 0; if (uid_eq(current_euid(), current_uid()) && gid_eq(current_egid(), current_gid())) @@ -1350,7 +1356,6 @@ void setup_new_exec(struct linux_binprm * bprm) */ current->mm->task_size = TASK_SIZE; - /* install the new credentials */ if (!uid_eq(bprm->cred->uid, current_euid()) || !gid_eq(bprm->cred->gid, current_egid())) { current->pdeath_signal = 0;