From patchwork Mon Jul 16 18:22:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Casey Schaufler X-Patchwork-Id: 10527547 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 1DEF26037E for ; Mon, 16 Jul 2018 18:41:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 000A428FA3 for ; Mon, 16 Jul 2018 18:41:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E82B228DE8; Mon, 16 Jul 2018 18:41:24 +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.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, NO_RDNS_DOTCOM_HELO, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from UCOL19PA10.eemsg.mail.mil (ucol19pa10.eemsg.mail.mil [214.24.24.83]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E57BE28DE8 for ; Mon, 16 Jul 2018 18:41:23 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.51,362,1526342400"; d="scan'208";a="555035101" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by UCOL19PA10.eemsg.mail.mil with ESMTP; 16 Jul 2018 18:41:18 +0000 X-IronPort-AV: E=Sophos;i="5.51,362,1526342400"; d="scan'208";a="15798611" IronPort-PHdr: =?us-ascii?q?9a23=3AMEVvMR+5TTaOY/9uRHKM819IXTAuvvDOBiVQ1K?= =?us-ascii?q?B62+wQIJqq85mqBkHD//Il1AaPAd2Fraocw8Pt8InYEVQa5piAtH1QOLdtbD?= =?us-ascii?q?Qizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBB?= =?us-ascii?q?r/KRB1JuPoEYLOksi7ze+/94HSbglSmDaxfa55IQmrownWqsQYm5ZpJLwryh?= =?us-ascii?q?vOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3?= =?us-ascii?q?o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDtU7s6RS?= =?us-ascii?q?qt4LtqSB/wiScIKTg58H3MisdtiK5XuQ+tqwBjz4LRZoyaOuB+fqfAdt0EQ2?= =?us-ascii?q?RPUNtaWyhYDo+hc4cDCuwMMuFaoIbnp1sOqhy+CRC1CO7zxDJFh2L60bQm3+?= =?us-ascii?q?g8DArK2BIsE84LvHnSsd77NrodUfqtwafWwzXNb/BY1znz54fHcB8vvOmMUL?= =?us-ascii?q?Btfcff1UYhGB3Kjk6LpIz5PT6YzPgBv3SV4uZ+U++klm4pqxt2ojiq3sohlJ?= =?us-ascii?q?PGhpkLxVHE6C533Zo6Jd2iR05mb96kFIVftzuHPIZxXswtWXpotzg6y7Adop?= =?us-ascii?q?60YCgKx446xx7Rb/yIbZKI7gv/W+mLOzt3mHVleLemihu07EOuyfX8W9Gp3F?= =?us-ascii?q?tFoSdJiNnBum0X2xDN5cWLVOFx8lq51TuO1Q3f8PxILEEwmKbBKpMswqQ8mo?= =?us-ascii?q?QNvUnMGCL9hV/4g7WMdko+/+il8+HnYrL7qZCCL4J0kQT+Mrg2msy4HOQ4Lh?= =?us-ascii?q?ACX2iF9uS4073u5VH5T69Qjv03j6nZq4rWJcUdpq63BA9VyZgs5AqlAze60N?= =?us-ascii?q?UXgXkHLFVfdBKBk4fpIE3BLOr9Dfe+h1SgiDZrx/bYMb39GpjBM3fOnbj7cb?= =?us-ascii?q?t99kJQ0hQ/wN9B655OF70NOPfzVVXwtNzcAB85KQu0w+P/BdVmyIweXWOPAq?= =?us-ascii?q?mEMKLdqFOH/eUvI/SKZIAJpjn9MOMo5+LujHAlmV8derOl3Z0MaH+iBPhmLE?= =?us-ascii?q?KZYWT0jtcbDWgKphY+TPDtiFCaUz5TYHCyULgg5jE7Eo2mC5zORoKqgLyH2S?= =?us-ascii?q?e0BIZWZnxYBVCWCnfkbYKEW+0DaCiKOM9ujiQEVaS9S48mzRyutg36xKB7Ie?= =?us-ascii?q?rX4S0YspTj1Nlr5+DImxEy8SF0DsuG3GGQSWF0gn4ISyUx3KBlrkx30k2D3r?= =?us-ascii?q?Rgg/xECdxT4OtEUwk7NZ7Yyux1FcryVxnPftiXVVmmRc+mDispTtIrxN8OYV?= =?us-ascii?q?hyFMm+jhzZ2CqqGbAVnaSRBJMo6qLcw2TxJ8FlxnfGyakhlUUpQstINW28na?= =?us-ascii?q?N/6gvTB5TTn0WfiamqabwW3DTR+2eb0WqOoEZYXRZtXqrZWHAfYU3Wrcjk6k?= =?us-ascii?q?7ZUb+hF64nMgpAyM6FLKtGcNvpgktaRP37ItTRf3qxm3usBRaP3r6DcZbqdH?= =?us-ascii?q?8H3CjGFEcElAUT8mqcOgglGietuWTeAyJyFVj3eUPj7fF+qG+nTk8z1wyKbF?= =?us-ascii?q?du17my+h4InvGcSOkc3rEDuCc8sTl0G0y9393OAdqauwVhZLlcYc864Fpfz2?= =?us-ascii?q?3WqhZ9Pp2+IKB4nVMRaRh4v0b02xVwEIVAntAgrGk2wwpqNaKYzFRBeiuC3Z?= =?us-ascii?q?/tJ7LaMWby/BWgaqLM3FHRzsqW8L8V6Psks1XjoB2pFk06/nV83dlVyXyc5o?= =?us-ascii?q?7WDAcJSpLxVEE39hZ/p77AZCkx/YXU2mNwMaOsqD/Nx8opBPc5yhanZ9pePr?= =?us-ascii?q?mLFAvuE8IEHciuM/cnm0a3YRIeJ+9S6as0M9mhd/uc166hJPxgky6+jWRb/I?= =?us-ascii?q?B91VqB9yx9Su7M25YK3eqY0xCdWDjillehtdr7mYdeZTEdBmC/0zTrBJZNZq?= =?us-ascii?q?1ueoYGEXmuI8yrydVigJ7tQWRU+0KjB1MB3s+pdgGfb1j83Q1Wz0sXu3unlT?= =?us-ascii?q?G/zzxunDEjtrCf0zDWw+T+aBoHPXZGRG1jjVf3PYi4lssaU1asbwgokhul+E?= =?us-ascii?q?n7yrNApKRnLmnTR0ZIcDTtL214VKu/qKaCadZV6Jw0qSVXTPi8YVeCR77npB?= =?us-ascii?q?sa1yfjEHVExD8ncDGrtI70nwdniG2BN3Z/tn3Zedt/xR3H/tzTWeZR3iYaRC?= =?us-ascii?q?l/kTTXBUazP9+y/diPlJfMrOa+V3mnVpJNbSnn14SAtDG05WdyGx2wg+izms?= =?us-ascii?q?H7EQg9ySL7z8NlVTjMrBnieonkzaK6Mf55cUlyH1L89tF6FZ9kkosrnp0Qwn?= =?us-ascii?q?8ahoiP/XUbj2jzP9Jb2bjxbHUTXzILxcDa4BT90k15Mn2J3575VmmawsZ5ed?= =?us-ascii?q?m6ZH4Z1zkj78BMFaiU7KZInS1rrVqktQjRe+Ryni8Byfsy734Xm/kJtxAwzi?= =?us-ascii?q?WZGb0dAUhYPTDslhiR4dCxtqNXaHyocbiq20p0hcqhA62aogFARHb5fY8vHS?= =?us-ascii?q?Fq4cV5LFLM13jz55rqeNbOcN0TsQeUnA3Yj+hPL5IxlOQFijZ7OW7nun0l0e?= =?us-ascii?q?E7hwR03Z6mpIiHN3lt/KWhDx5dLDL1Y8cT9S/xjaZChMmZxZuiHpN/FTUXR5?= =?us-ascii?q?vnUeinECoMuvj9MQaBDiE8oG+BGbXDBQ+f9Ftmr3XXHpClLXGYOmQWzc54Sx?= =?us-ascii?q?mbOExfhxsUUS4gkZElEwCm3svhcF125joJ/F73tgNMyv50Nxn4SmrfvBmnZS?= =?us-ascii?q?wqR5iZLRpW8gZC6lzUMcOA8O18ATtU/pq7rAyCMmabfRhHDXkVWkyYAFDuJq?= =?us-ascii?q?Kh6sLH/+icB+q+NOfOYa6UpexFSfiH2Yij0pB48DaIN8WPOGRiDvIg10VfXX?= =?us-ascii?q?F5AdnZmy4VRy0ZjS3Nc9WbpBC6+iFtqcC/6vvrUhr15YSTE7tSLclv+xeujK?= =?us-ascii?q?iYNu6QiyF5KTBD25wR23DH07kf00QUiy10cDmtC7sAvzbXTK3Mgq9XEwIbay?= =?us-ascii?q?RrOcRS4KIzxBdNNtDAh9Pyzr53kPg1C1JfWlzgnsGmfssKIm6nOFPAHkaLO6?= =?us-ascii?q?yMJSfXzMHvfaO8VbpQgf1Itx23vDaXCVXjPjOCljb3URCgKvtMjCaFMxxdo4?= =?us-ascii?q?yybhFtCW3/Q938cR27LMV7jTsozr0onnnKL3ITMSBgc0NRqb2d9SFYgvV/Gm?= =?us-ascii?q?xZ6XplKeiEmzqH4OTDL5YWsOdrAj5qmO5A53Q60bRV5jleRPNpgCvSssJuo1?= =?us-ascii?q?a+n+mMyjtnVARBpy1OhIKMs0ViN7vW9oVcWXbE+xIN6HufBw4Mp9R7Ft3lo7?= =?us-ascii?q?pQxcTXlKLvNDdC9MrZ8tUEB8fOMsKHMWEhPAHxGDHOFgsFTCWrNXnbh0NHjP?= =?us-ascii?q?6d6GeZrp8gqpjjgJAOUKNUVEQpFvMGDURoBNoCL4ltUTMgirObj8kI5WGirB?= =?us-ascii?q?bLQsVapZPHVvOIDfXpNjmZkaFOZwEUzrPgMYQTKor71lR4alZkh4TFBVDfXc?= =?us-ascii?q?pRrS1hdQI7u0RN8GJjQW001ULlchmt72ETFPKumB45lBd+a/w39Djw+1c3Ok?= =?us-ascii?q?bKpCwonUYsntXlhzaRfyPvI6e0XIFbEDD7uFYrMpP8WQp1aheynUN8PjfeW7?= =?us-ascii?q?1Rl6dgdXxsiALEpJRAA+BcTaxZbx8L3vyYfe8o0U5bqiSp3k9I+/fKCYZ4lA?= =?us-ascii?q?srbZ6tr2hM2wR9Y94pPabQPrZGzkBMhqKSuS+lzuQxwAgEJ0kT9mOTeSkItV?= =?us-ascii?q?cHNrkgOiqk5Ots6RaNmzFbYmgDS+Iqou529kM6I+mA1Dzv07pCKkC3KuyeIL?= =?us-ascii?q?iUtHTHlc6NXlw/zFgIl1Vf8bhwz8gjb1KeV1ozw7uJCxQJKc3CJBlJb8pT8X?= =?us-ascii?q?jTejqOseXNwJ9uIoq9F+DpQvWVu6oOhEKrAhopFZwW7ssdBpmszF3YLcD/Ib?= =?us-ascii?q?EfzRUt5RjkK0udA/RMeBOLljAHo8elw5JsxoZdJysSAWNkPSW5+7bbvAkqj+?= =?us-ascii?q?SfXN0ueHcVQpMENm4qWM29gyNWpGpPDD+s3+0D1QeC8SHzpj7LDDbmddpiZO?= =?us-ascii?q?2YZRR2CNG54T8/6bS5iUbL8pXCIGH3LdtiusLO6eMeo5aIFfZUQKJgvEjCgI?= =?us-ascii?q?ZYRmalU2jVHd6yPZjwZJEmbcboBXaiTly/lzU1Qt/rPNarL6iHnQHoRYFQsI?= =?us-ascii?q?mAxD4tLNKzGCsCFhl3vOwM+KV8ZQgfbJUheh7oqx4yN6qhLweEyt+uWXqiKS?= =?us-ascii?q?NKT/lDyuW3f6ZXwDA2bu+903QtVY06z/Ot/k4TWp4KihDexfCsZ4laUCjzFX?= =?us-ascii?q?xdexnBpSUjjWhhM/w+wuEhzxPUqVMcKSyEdPR1aGxYuNExHV2TLW9qBWo4Rl?= =?us-ascii?q?+ciIvD7RSv370J/itSgchb3vNfvHj5pJ/fbyqmWLa3ppXNryogcd8mrrV0MY?= =?us-ascii?q?P5OMuGt43RniDeTJnWvQ2ISyC7GOBcmtdMJCJYR+RIlnw+OcAcv4pO91YxXN?= =?us-ascii?q?8kJ7NTEKksuqyqaT18ACEI1y8ZSoWA0CYBguqn2rvalxaQcIg5PxAetpVNnM?= =?us-ascii?q?cdWTZsYiwCvK+jS5nWl2icR2gKJgcT8RpD5AYemY91YO/l/JDITZ9Xxj5Ru/?= =?us-ascii?q?J7TC3LFpxy+Fv6TmGZml/4Sfq7n+yuxwJSw+rm0sMHVx5nFUhd2+FWm1M0KL?= =?us-ascii?q?FwLqkdpZLKviONdUzhpm7tzvWpJEVJw83Oa1L4FJbFtXb7UiAE+30UQpFAxW?= =?us-ascii?q?rCGpsMiAp2drwrpElSL4+7YEr+4SIrx5hxFbmiSc+r30olrWoBRyqyD9pOFv?= =?us-ascii?q?xpsFPNVz1heJ2ktJLlO5BOTWBK452dt01VkENzPC6l0ZBcMd1C4iYQXDhTpj?= =?us-ascii?q?WQpMOySNZf2cBsEpAMPsxyu2z6GKNZIpiev2M5urrzyn/D4T88tE22xDKpG6?= =?us-ascii?q?+3V+hZ5XERGh01J2SCrUkiF/Aj8mnO/VzRsF144ulWC6OTgkV2pTZyAopBBi?= =?us-ascii?q?1V1Xy/KVR8UmVGuf1AKKvJa8xcX+UyZRi3NhwkC/EpwkyJ8ltonXriZyxysR?= =?us-ascii?q?Va9D7DUwYoUikan6nilScYqs65JT8QU4hIYik5byfZNwKbnjhavApFa050RZ?= =?us-ascii?q?8WH81I+6wf3YtI5MrNU1isKSACXBxmKA04zeBTlUlZsEWXYSrdFxande7Tsh?= =?us-ascii?q?1resectMypI+7j/AdAkYPntPo397sYSn2jhA2tRczer47gud2LrESOcrz4P/?= =?us-ascii?q?e7YX/bQzjGlQqwiqs8D5nW4yjTNxJWK5tgxnoib5jhE2nLMglYKK8AO0pUT6?= =?us-ascii?q?Z6ac5BouxAYc9rZroJ87d3Bh2bXhPvBJCvrP5eI1bVQTTTNCSB8uq6oY7J7L?= =?us-ascii?q?zdT+bgZtaWyHbcX6J3JIp65iXnG7f3y49R5FD62vB39kN1UVLGKTyOrMz9Jg?= =?us-ascii?q?MX48mvbk3ivpw1EjPRBJd/imHtyltBd8oQRC2q648YxYhc6Hv/RuN0yE/zsP?= =?us-ascii?q?dd97N884k4/6hpyduoJafVMflVrVVoAhyKCQVx6pUsAG9/SntKYuANKffeY6?= =?us-ascii?q?IZjdzvq+/tDaAX7gOa+/BBY9vdO07BgtW/Ci2bSRFcmAcBsjsaIwuH2v6Lha?= =?us-ascii?q?B7VMGlpfLj1UI1+Vi+KRwGw65x6oeY4KaIo/XXbxTJx7geRqfqXt/zrqgru0?= =?us-ascii?q?6K5/0klbsOd3dwYwK5EOkSSNQdxmbmzaAl1y4sFd3MH6748v5ZS305hi7gm4?= =?us-ascii?q?x6H1gOG/MVHKCE8p5CkWojgOzWKMEWfb5elWqVEh6kCLACw2ax6ySLOGllng?= =?us-ascii?q?3O0xboTGyo7V/2tiF5TjHOz9fijkpVTqO4BVpWXyeyJUB4ty6AMxTyu9rqo6?= =?us-ascii?q?Q161s2PXb+uNKKjmuhN6tdH9fjK9yEPSk0uFUXgYUpRtO1xYAUBdq9IdkW8H?= =?us-ascii?q?FkbfvS8nirnDFFo6dGgYre/86U9+7PHXa6k62Vt7WNxT5fyngivlEz8NOgOe?= =?us-ascii?q?/U592MXfuo03wdTyBluwvORxS1sKDUr0gIOUyX10fGgIMKMc9f3Xkk0UHm4+?= =?us-ascii?q?8vQMkt+wVaF4bAYe4CpD/oNTvw31mfedI2WTOE3ztRAF31DUFyGLIg12LooM?= =?us-ascii?q?LJiXDQ9kU0SYlybUPomQd6AJk/KUIp7FgXwzQMERIRaR+FEL6oBV7pLYweVU?= =?us-ascii?q?gMcR6HxqS1er8r3U1vxbOi/OrTbet6B6oROfZSkBWDnF1aGp0Mt60RXq58el?= =?us-ascii?q?Fa9K7NpQjiEJLrX/74mnosLfe1WNxV8dgFt3s+5QayXxWg5otY77YAkZyGa6?= =?us-ascii?q?FKb57NvMB68kdm6iUCdiNIgBdliRO2T/oQpOf54tjUqJCo8PqhVL4xR+UL8B?= =?us-ascii?q?g5H2Z+j5zwgFAlu93Yy+dcSonIiYvi8QFNIniKuJ3Z0xl9MucONYOrfKh6+H?= =?us-ascii?q?UDOiceJmgCPdyIZPkg+yVtKinc50ReAsMQYtMVJMvNmR5OhU3vQ7xT8tfbFU?= =?us-ascii?q?KZC4d0bMAk9W33yCo68ZEkSObv9Ce2JYzD71FKJ/5DjjtjlNzMpOgR2vfTBj?= =?us-ascii?q?IY4X+HZBhp2C+CzYeCC+ro9+WW1N7UT08GHjIxU4pFKzqC/QunR+Srm5XtVg?= =?us-ascii?q?OZ8dTzgJU4dEKRWnO9hqIFvbhQEeRYkCX0wiBeFpzph/KSq9es5nFXuUdBEI?= =?us-ascii?q?lv7B3FA75SPpBjORT5j8WrXUZ9BjDldMHTbBout/Kcxv0Q7OVmK0v+eYgbLw?= =?us-ascii?q?oBy7L76npVTQxuRaX0vlmDXuIRY91mR+3CrnxP74JvNbMPNkCHpJP2tjdItE?= =?us-ascii?q?w2AAgxZbArsDNacFXOkRZOW6bwv74AlhccUcBntkBRA26wP3g+5zXfX6RPkK?= =?us-ascii?q?aREOAV8imUTqEWS0VoNSd+TAmv2JRgfLupmf5Hv3hDniN6p/gqyCJpSwemuS?= =?us-ascii?q?3rvKINwjMg+Le3tDkbvnxFVOqemT/SCVpf1PQKkbscC3H65FyyfnYDaIry4K?= =?us-ascii?q?F5Ksn79Igh4nE/YRA9cC0cWeSvFTv8j6SSAoyAqNhcngKCuN3Sbb+vKigfLr?= =?us-ascii?q?o8yQr5R3h8zgfRgg1l8G4KQjW89t8rOp+xOcE/xiqnAWLbbkoD4rtVsMvtsl?= =?us-ascii?q?4GVOw2aVd/z2h4ysiHQjcCRNfTG2Y0kgckdX9Ef4xd5hMAEaknnCqItLFc/g?= =?us-ascii?q?4IeDfUDpil+o7IkMfM2Hk9S8pqx23Pqq2Bh5Mqy2Flm8hv4y6PonsScevYX9?= =?us-ascii?q?VrAnjp2YdV0fb+aOm1suAbVItmz6ysUPoYPca/+Wu22ZNqWki+y7QAHlq5Nv?= =?us-ascii?q?EMxrPaUyejVG2ZVv6Hc2+WnzY2KkTy/wWnLkUraMdWqE8wKunCiYRflw3mSr?= =?us-ascii?q?x5XTiQpVnHzGwjNuMaag02uIe7ewAQSu4eefScL/A0wPIiEFsMc2PJHSxuBu?= =?us-ascii?q?+tv16tmZR0NnRj7Ejhf+Ti7BrmMNqTGxkDF47WtJhx9uKmRjHJBXg16CZXdB?= =?us-ascii?q?1w9uHCBxEqu+RBaZeNjJ3VgNhm1eMtafhgK2s+t8QVl4Yl7pObhoPCVTL169?= =?us-ascii?q?6mIdDTv+jdAPDFyUkuUn9VX6BfYg7v4Yg+eNkjVOuXVYNQoBBUIK89WpFpY3?= =?us-ascii?q?/46aVcNApudkvUY7Ouj4/hoefdItNvu3LO7l82ZBzZshkHx+38GRd3dLi2ln?= =?us-ascii?q?7yJ9Y2XTsHoNpzXF8uJ6YHP8IGshrvV4WZnKC9ls+Z51Jxu+hMt7H5TP/Nyo?= =?us-ascii?q?L9l89KerFxxgmHPS3aGbJwqkBklfipxK+ZlJ7rBomqLeghfcNYB2LEcbTbBZ?= =?us-ascii?q?6XLjOVJtm6IxcA9KSThvYxcBKRYmjbWKqPsjapMr0w40I7zMp6e+rayicg6Z?= =?us-ascii?q?nQ0d31YWBQryPlpnmMYt8Xz1HHHqT1WBVXAa6G/Wt+FqoQbqP/9P0JNN0/xZ?= =?us-ascii?q?6b+QYlqHx+3deePq/pjkbK1kszIYrWKkT02iB8WoQQJhm7GUpphWjHpzLGCH?= =?us-ascii?q?dBNMHiL8Qrgs7DSlTP7kx8gikIYXRbG3GgEdWUPnIB2tmWYgSP+QMNCMwMyb?= =?us-ascii?q?2ZY0k944a7UuR5cq5Omey3urEKi549ICjUSdlyJCrQJaJ4OjdLS+7G4lMvZ0?= =?us-ascii?q?hX4PAORo4paM3Wcws8O0CaxHa3nFOYix/9asCs2aCVIS0f7nRAyfff3CNRox?= =?us-ascii?q?Wi46rC0ND7WryAPYn/BKSUPScgTT7cQD0zFQCs+FP33phMp+KWdEEYpF1ceS?= =?us-ascii?q?eOEEgLvKk6ptHLA377guZjdYAEgP2AHiv5DiZ/kflXZG5QrU7ZZf0FGEHNam?= =?us-ascii?q?P5xm9VuQisPPhJqHnsdLCJ7rFeW+ULDI9BaLiSSp3TfvUNQlVgjS0XbcC7ed?= =?us-ascii?q?CUtLMlyhTIQG8eRrHP70GbRVWKT+a03DXtXI5O59Zx4HRu8dXWhSptVaHBPr?= =?us-ascii?q?LZqCf3tJ+xjCGf/+bZUzpIAQQ5g+MHVXGI2wIIaHoFBNccpFz3T+aealxN2n?= =?us-ascii?q?MkhaMm2xIFdAlpFHw7+mxfnPG6XMZeTFM=3D?= X-IPAS-Result: =?us-ascii?q?A2C5BwB25Uxb/wHyM5BcGwEBAgMBAQoBAYNHgQlKEiiMX?= =?us-ascii?q?409gwCSeYFfKhSFBIJANxUBAgEBAQEBAQIBbBwMgjUkgl4DAwECJBMGAQEMI?= =?us-ascii?q?AsBAgMJAQFACAgDAS0UAREGAQcFBgIBAQEYBIJ/gWgDFQOeRIobgWkzgnEBA?= =?us-ascii?q?QWBAgEBX4I1A4MnCBeHVIMtgREngjyEdgESAYVVII0WLowaCYVYiUlqh1WFL?= =?us-ascii?q?Iw/hywiYXFNIxU7gmmCJReDRYocAVVPfIpggjkBAQ?= Received: from tarius.tycho.ncsc.mil (HELO tarius.infosec.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 16 Jul 2018 18:41:17 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus.infosec.tycho.ncsc.mil [192.168.25.40]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w6GIfGuR023587; Mon, 16 Jul 2018 14:41:16 -0400 Received: from tarius.infosec.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 w6GIMmKZ024338 for ; Mon, 16 Jul 2018 14:22:48 -0400 Received: from goalie.tycho.ncsc.mil (goalie.infosec.tycho.ncsc.mil [144.51.242.250]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w6GIMoYS020698 for ; Mon, 16 Jul 2018 14:22:58 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1CnBgCx4UxblywbGNZcHAEBAQQBAQoBA?= =?us-ascii?q?YNGgWUog3yIY4tdgWCDAJRfhHcCQoIfITgUAQIBAQEBAQECFAEBAQEBBhgGTIV?= =?us-ascii?q?DAwMjBBkBATcBDyUCJgICRRIGAQwGAgEBgxyBaAMVA549ihtuezOCcQEBBYECA?= =?us-ascii?q?QFfgjQDgycIF3SGYIEXghaBESeCPIgqgjUgjRYujBoJhViJSWqHVYUsjD+HLYF?= =?us-ascii?q?zTSMVgySCGQwOCYNFihwBVU+OFQEB?= X-IPAS-Result: =?us-ascii?q?A1CnBgCx4UxblywbGNZcHAEBAQQBAQoBAYNGgWUog3yIY4t?= =?us-ascii?q?dgWCDAJRfhHcCQoIfITgUAQIBAQEBAQECFAEBAQEBBhgGTIVDAwMjBBkBATcBD?= =?us-ascii?q?yUCJgICRRIGAQwGAgEBgxyBaAMVA549ihtuezOCcQEBBYECAQFfgjQDgycIF3S?= =?us-ascii?q?GYIEXghaBESeCPIgqgjUgjRYujBoJhViJSWqHVYUsjD+HLYFzTSMVgySCGQwOC?= =?us-ascii?q?YNFihwBVU+OFQEB?= X-IronPort-AV: E=Sophos;i="5.51,362,1526356800"; d="scan'208";a="324702" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.34]) by goalie.tycho.ncsc.mil with ESMTP; 16 Jul 2018 14:22:57 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3Ak3v2NRI/X7+NSIIiatmcpTZWNBhigK39O0sv0r?= =?us-ascii?q?FitYgXKP3/rarrMEGX3/hxlliBBdydt6oazbKO+4nbGkU4qa6bt34DdJEeHz?= =?us-ascii?q?Qksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPER?= =?us-ascii?q?vjKwV1Ov71GonPhMiryuy+4ZLebxlJiTanfb9+MAi9oBnMuMURnYZsMLs6xA?= =?us-ascii?q?HTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKH?= =?us-ascii?q?w65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0vRz?= =?us-ascii?q?+s87lkRwPpiCcfNj427mfXitBrjKlGpB6tvgFzz5LIbI2QMvdxeaHScskaRW?= =?us-ascii?q?pGWcZdTjVND5+yYoYOEuYNJPpUo5TgrFcKsxeyGQygCeXywTFKm3D2x7U33f?= =?us-ascii?q?k/HwHI3AIuHNwAv3rbo9r3KKgcXvu4zLXKwDjZc/9axTnw5YrOfxs8of+MR7?= =?us-ascii?q?Vwcc/JxEQxDQzFlUufqIz4ND2IyusNs3KU7/duVeKrlWEnsRx6rz+zycg2kY?= =?us-ascii?q?nGmIIUx0vf9SplwIY6P8C4SEB/YdG6Cptcrj2VOJFsTsw+RGFovT83x7sbsp?= =?us-ascii?q?C4ZCgH0IorywPQZvCdbYSF7QjvWPiTLDtii39od6qzihew/ES61+HxV8253E?= =?us-ascii?q?xLoydFiNXAqG4B2hPV58OaUPVy5F2h1iyK1w3L6uFLP0Q0la3DJpEv2LA+mI?= =?us-ascii?q?QevErdEyHshEj6kK+bel869ee27uTnebrmqoWZN4BuiwH+Nr4imsm+AeQ8Kg?= =?us-ascii?q?QOXm6b9vqg1LD740H1XbpHguconqTWqpzWO8YWqrS2DgJayooj7gywDzai0N?= =?us-ascii?q?QWh3kHK1dFdQqbgIfzIFHBPvD5AOykg1uwkDdk3e3GPrPlAprTNHjPiavucq?= =?us-ascii?q?xn50FAzwozyMhT54hIBbEZPPLzRkjxucTDDhAnNwy0wuDnCMhy144FRWKOAr?= =?us-ascii?q?OWMKPVsVOS4OIvOPODaJUauDb6Nfh2r8Lp2FsCvBdJeaivwItSc32zA+5nP1?= =?us-ascii?q?TcZH3gn9MMOXkFsxB4T+HwjlCGFzlJaCD2F4YfwhRzXIanC5rTA4OgmrqM2A?= =?us-ascii?q?+lEZBMIGNLEFaBFTHvbYrSH780YT+WaupmlSYJHey5QpIl/QmnqQu/zr1gNO?= =?us-ascii?q?eS8Sod49ar78R4/+3ek1kJ8DVwC8mMmzWWQ3pcgnIDRzhw2rt250N61AHHmZ?= =?us-ascii?q?NVy9hZE8FDr6dSXwM7M4PM5/BrAND1HATad5GGT0jwBp3sOhQYZfF0z94VaF?= =?us-ascii?q?tmAP2mjwvfxGzyWvkSjbPBTMgP14v3/D39Jt121m3d/K0glEU9BJMWc2q8if?= =?us-ascii?q?g7vyrUB4iBsUKZnqCxeKJUiCzK9GHFz22OtUdDXQhYWqzDWnYebULS69/+4x?= =?us-ascii?q?WGB5yjBK9vGQxGyobWKaZHcdbuilZuT/f5P9Hffmf3nH2/U1LA+r6Qd5ftM0?= =?us-ascii?q?UU2inUQBwcngYc4HeAcAszHCGsp0rfSThpC1+peErv7PN37nW2CE0smUXCTU?= =?us-ascii?q?Rk2qH93xkPn/2HA6cR27UeoiY6gzN9GVu8mdXMBIzTiRBmefB3aMgw8R983m?= =?us-ascii?q?LQqgJ5M4boe6trnVMPWx98v0rz2RF6EMBLmI4hq3Z8n1k6Er6RzF4UL2DQ5p?= =?us-ascii?q?v3ILCCbzmqpkr9YrPK2lzYzNed87sO7/J9sVj4oQW1DRB5rid6y9NZiiqE78?= =?us-ascii?q?2QSgcfVIn+FEM+9hw8orDeMWEm/42B83pqPOGvtyPancozDb4uww2tbv9EO6?= =?us-ascii?q?ONCQH2HtdfDMHoI+svyBCydhxRGudU+eYvOt++Mf6P2aqlJuFlyTmvlmlWyJ?= =?us-ascii?q?t20kuR+S5xUKvD1tAOxPTLlhCfWWLai1Gs+tvyhZgCZTwWGT+nzjP4AYdKeq?= =?us-ascii?q?BoVZ0MD2aleJXpg48gwZXqXWVd7himDlICnsCwIFyDZlz62ktb0kFE6XCkmC?= =?us-ascii?q?7t1zVviHlptauQ2iXS3v7vPAQKIG9FRWRuzB/sLIG4gspcXR2AfgEpkxzj7k?= =?us-ascii?q?H/yg=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AoBgBz4UxblywbGNZcHAEBAQQBAQo?= =?us-ascii?q?BAYNGgWUog3yIY4tdgWCDAJRfhHcCQoIfITgUAQIBAQEBAQECARMBAQEBAQY?= =?us-ascii?q?YBkwMgjUkgl4DAyMEGQEBNwEPJQImAgJFEgYBDAYCAQGDHIFoAxUDnj2KG25?= =?us-ascii?q?7M4JxAQEFgQIBAV+CNAODJwgXdIZggReCFoERJ4I8iCqCNSCNFi6MGgmFWIl?= =?us-ascii?q?JaodVhSyMP4ctgXNNIxWDJIIZDA4Jg0WKHAFVT44VAQE?= X-IPAS-Result: =?us-ascii?q?A0AoBgBz4UxblywbGNZcHAEBAQQBAQoBAYNGgWUog3yIY?= =?us-ascii?q?4tdgWCDAJRfhHcCQoIfITgUAQIBAQEBAQECARMBAQEBAQYYBkwMgjUkgl4DA?= =?us-ascii?q?yMEGQEBNwEPJQImAgJFEgYBDAYCAQGDHIFoAxUDnj2KG257M4JxAQEFgQIBA?= =?us-ascii?q?V+CNAODJwgXdIZggReCFoERJ4I8iCqCNSCNFi6MGgmFWIlJaodVhSyMP4ctg?= =?us-ascii?q?XNNIxWDJIIZDA4Jg0WKHAFVT44VAQE?= X-IronPort-AV: E=Sophos;i="5.51,362,1526342400"; d="scan'208";a="13850851" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from updc3cpa05.eemsg.mail.mil ([214.24.27.44]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 16 Jul 2018 18:22:57 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;1e9625d6-6ead-4be3-af5f-7eeb9d57d715 Received: from localhost.localdomain (localhost [127.0.0.1]) by UPDCF3IC10.oob.disa.mil (Postfix) with SMTP id 41TsGS3Y56z4KRKw for ; Mon, 16 Jul 2018 18:22:56 +0000 (UTC) Received: from UPBD19PA02.eemsg.mil (unknown [192.168.18.3]) by UPDCF3IC10.oob.disa.mil (Postfix) with ESMTP id 41TsGR2P7Sz4KRKg for ; Mon, 16 Jul 2018 18:22:55 +0000 (UTC) Authentication-Results: upbd19pa02.eemsg.mail.mil; spf=None smtp.pra=casey@schaufler-ca.com; spf=None smtp.mailfrom=casey@schaufler-ca.com; spf=None smtp.helo=postmaster@sonic306-26.consmr.mail.gq1.yahoo.com; dkim=pass (signature verified) header.i=@yahoo.com X-EEMSG-check-008: 307967772|UPBD19PA02_EEMSG_MP2.csd.disa.mil X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 98.137.68.89 X-EEMSG-check-002: true IronPort-PHdr: =?us-ascii?q?9a23=3AyRWKJhe4mneNHY6I24w7y71GlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxc24ZxyN2/xhgRfzUJnB7Loc0qyK6/6mATRIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSizexfbJ/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf?= =?us-ascii?q?5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbD?= =?us-ascii?q?VwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4rx1QxH0li?= =?us-ascii?q?gIKz858HnWisNuiqJbvAmhrAF7z4LNfY2ZKOZycqbbcNwdR2VORMZRVytGAo+l?= =?us-ascii?q?docCE+QMMOdFo4Xku1cCsAa1CQ2yCO/zzzNFgGL9068n3OQ7CQzIwRIuH9wOvn?= =?us-ascii?q?rXotv6OqgdXuKpw6fH1jjDc/Fb1C3h5ITUfB0so/eBVq9wf8rLzkkvEhvIg0uK?= =?us-ascii?q?poz+ITyU1vkGvXWH4OpgT+2vlmAnqwVvrTi128whjZXGiZgOyl/a9SR02501Ks?= =?us-ascii?q?G4SEFhfN6kHp9QuD+AN4dvXswtWXtktzo9yr0DoJO2ejUBxpc/xxPHb/GKcJKE?= =?us-ascii?q?7g/tWeuTOzt1hXFodKi8ihu26USty+/xWtOp3FtLqidJiNjBu3AX2xDN9MSKRf?= =?us-ascii?q?1w9Vq71zmVzQDc8ORELFg0laXFL54hxaY9loEUsUTFHy/5hEv7gLOXe0k95OSl?= =?us-ascii?q?6v7rbanhpp+aLI90jxv+Pr4rmsOlAOQ4NhICX2eC+eihzrHi/Vf2QLVNjv0xiK?= =?us-ascii?q?XWrJfaJcEDqq64BQ9azJoj5g67AjqlytgUgHcKIVBfdB+GjIXlIVLDLfTgAfe6?= =?us-ascii?q?mVuskTNrx/7cPr3mB5XANmTMn636fblj609R0xEzwsxf551OF7EBLvbzVVHrtN?= =?us-ascii?q?DBEhA2KRa4zPrgCNV4zo8eQ36AAreFMKPOtl+F/vkvLPeIZI8Uvjb9Nvck6uXy?= =?us-ascii?q?jX45hVAdfa6p0YERaHCjBPtqOUqZYX3ygoRJLWBfmjEbBLjuiVufQXtIan2vRa?= =?us-ascii?q?Mg93Q+D467CYrrWI+gmvqC0T29E5kQYXpJXBTENVTMUs3QX/YKdTLXIcJ7lDEA?= =?us-ascii?q?faauRpVn1hy0sgL+jb19IbyQshURqJar8d9y/eCbwQk76DhcF82A1ySISGZuky?= =?us-ascii?q?UDQDpgmOhEvUFlylqFmZN9ivhcGM0bs+hFSS8mJJXcyKp8ENm0VQXfKJPBc3vu?= =?us-ascii?q?ZtSgHCF5Gsk8x94IflZVB8SpjheF2TGjRbASierPTNYP14v3/D39Jt121m3d/K?= =?us-ascii?q?0glEU9BJMWc2q8ieQ3ozP2LqXq1kmYjK23br802C/W6HzFlTPIu1tXBko4c6LF?= =?us-ascii?q?Wzg9YUvfq8/04AuWTbiuD/IlNQtIz9WPLINBY9vui1RNTfOlM9PbNSb5uGq9Hl?= =?us-ascii?q?6jwbSPJN7pdmgG1yLaC2APkxoU+HebME45HCj35yriASB1CFWnQ0rq/eA2/Gu2?= =?us-ascii?q?SEApzgfPbEB70bex0h9QgfuCRrUI17EZoi5nrTgyHk7rm5r0At+NvEJEe79GYM?= =?us-ascii?q?h1tFVC0njDthdVOJWlIqEkgUQRJVdZpUTrgj5+EYhR2fMhrHo3wg5/M+rM21pa?= =?us-ascii?q?eiKwxpvwM6DZLmTouRumLaXR3weNg56t5q4T5aFg+B3YtwazGx9noy0+gotllk?= =?us-ascii?q?CE75CPNzI8FJf4U0I57R9//uGIeSI97p7a0XB2dKK99DTF3oBxXbd3+lObZ95a?= =?us-ascii?q?dZi8OkrqCcRDV5q1I+wjhlatYwhBN+kU/6kxbZv/Kqm2nZWzNeMlpwqIyGRK5I?= =?us-ascii?q?cmgxCX8Cx9QbWQgdNfnbeT2Q2cUi26iV6gtob4gNkCdDgSGW35wi/hVtZc?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C8BACx4Uxbh1lEiWJcHAEBAQQBAQoBA?= =?us-ascii?q?YUrKIN8iGONPYMAlF+EdwJCgh8ZBgYzFQECAQEBAQEBAQEBEwEBAQgNCQgpIwy?= =?us-ascii?q?CNSSCXgMDIwQZAQE3AQ8lAiYCAkUSBgEMBgIBAYMcgWgDFZ5AihtuezOCcQEBB?= =?us-ascii?q?YECAQFfgjQDgycIF3SGYIMtgREngjyIKoI1II0WLowaCY8haodVhSyMP4csgXR?= =?us-ascii?q?NIxWDJIIZDA4Jg0WKHAFVHzCOFQEB?= X-IPAS-Result: =?us-ascii?q?A0C8BACx4Uxbh1lEiWJcHAEBAQQBAQoBAYUrKIN8iGONPYM?= =?us-ascii?q?AlF+EdwJCgh8ZBgYzFQECAQEBAQEBAQEBEwEBAQgNCQgpIwyCNSSCXgMDIwQZA?= =?us-ascii?q?QE3AQ8lAiYCAkUSBgEMBgIBAYMcgWgDFZ5AihtuezOCcQEBBYECAQFfgjQDgyc?= =?us-ascii?q?IF3SGYIMtgREngjyIKoI1II0WLowaCY8haodVhSyMP4csgXRNIxWDJIIZDA4Jg?= =?us-ascii?q?0WKHAFVHzCOFQEB?= Received: from sonic306-26.consmr.mail.gq1.yahoo.com ([98.137.68.89]) by upbd19pa02.eemsg.mail.mil with ESMTP; 16 Jul 2018 18:22:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1531765370; bh=MlGGKoQYr7U5v6wDGI5gi2EIDQu/aB102bB9SZNJHvA=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=tQD9/tJRA6JtgkrTuLEvpjzE7Sz2yCo0Z66wFRtIvhAL3ZVLTxmMAZfwlOtXnjhcOxmq1saWxdBGrebxH9QX87GFMQt9/MzuhKW1xPrDb+YEBfD/Qp7XZVEFc7BMVLyyd2oUhC8F/UUhQukqlqVz1TPnTIxWmNO884kL/iXhCItcFD4o7Ol7+J5nS7v72gG9qJvM1mydgmyyLGkt90PKG0qS3UynTbTID+HZXanRG5SIo5G4Ooc+1RxEHzQGXQFks/oc7nh282YKnck3CQA3qH+gmuayNSC5PFI11ue8TSc/RVyI6JEn3EDKTcnf6DIAgvN4+RFq9SspgNRYTA+/Zg== X-YMail-OSG: QzPBwRgVM1lwfXOleqQq1q9MdW4CVEhcT3_9019TKAyJB0QEp0m22U7KAu1be3X m3LSQJYb8HSjuGtHPX0AdhqZphlWooxgRUk43dFKTWEBpGbbL1ayg4EHW6v3rzjsd0r7EnFKq8pX X24QLP5pWQ6GSehHXd4cxV86DB61NO9rKJ7vNwtP1oVBSx8DcUXA.hmxkobKeGRnHhGtWztH_iJh oRPY.gqfnZdBJfw6yMGOsIACmxu7kgf11K2iPB_n6ctWWpjJLE.mAu6D0zpCJ.2o7btvr4rLug8Z 1Ifrv_COqsgtlzyeWrzIVQ_0pBo4H225uBRdRvsDBzwMrVjwYMJDIFcCrsIv4uRpHE0wv_Gqc_g. q8NtrsYeR_ADZGOt_jih5Cj.IfP.M5jD_VbvbwbLPsg8dkG7BVvZCOR0._82ZOweJt_STTd1VSV5 4vu0SjjOW2Clzk3WkjHkZSwIvaYadEt.trHIZ2mJjDpzwmcp.TwrFKBJfXyJDpSsC_PeuBpQ3KuX HONTJcnxRCIE261quhJyx4dqCAYMd1g2qidCeF2562stnkFpP4dJPmrTvNcv8e8sdegnY38S1FLM ZDo2BLcWSptW0QkNpWSC5iHGaU3oBySzNhUKgmCTHrIwn6oQ6Kr0hxlMprI2U22Dp8Bhik.9kniD _UcUxAvqUBF7IhwzF0tB7msd0mnpgn4CG_4pBfLyKXoDOrQNUVZ30AdfXnBxcEc1J5Y7wB9no63q .B6Fi8qiAG7QaT5Jik89o7DNbF1qkuWT8uLWcP8XhV_ri7o2AzCOIu0zhZOrZ_sopn.EPeM5H64w i1AhE7WKPGBK3bHNZ4iqZsMm50byxbclfcMV2hpz52Ht9k5EKw6At8y3dXV3iaNpLTGagWAqC_9f 4uO2qDjiWh.QVUFe3U87g.TBH.GT89CxA5hytgDR.oUAi4sURd4VqSIoe8WzP.Yj_CGdWSImLXNI qBcemnkWiXAWwzQUm_1YXrZVVZNVG96AGah0Z2mRo1uMYMXSjnLkvrQXxplhrQ7zKDIRNYweVppc yGspdPgukl4VqOr9L.4kP Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Mon, 16 Jul 2018 18:22:50 +0000 Received: from c-67-169-65-224.hsd1.ca.comcast.net (EHLO [192.168.0.100]) ([67.169.65.224]) by smtp413.mail.gq1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID c21abde1eafbd1d358aefd50f46dd47e; Mon, 16 Jul 2018 18:22:49 +0000 (UTC) To: LSM , LKLM , Paul Moore , Stephen Smalley , SE Linux , "SMACK-discuss@lists.01.org" , John Johansen , Kees Cook , Tetsuo Handa , James Morris References: <8a325db8-e7eb-9581-2b77-fc987a165df7@schaufler-ca.com> X-EEMSG-check-009: 444-444 From: Casey Schaufler Message-ID: <0ce8deed-d89d-5d88-a609-eeca6ccf5520@schaufler-ca.com> Date: Mon, 16 Jul 2018 11:22:46 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <8a325db8-e7eb-9581-2b77-fc987a165df7@schaufler-ca.com> Content-Language: en-US X-Mailman-Approved-At: Mon, 16 Jul 2018 14:38:37 -0400 Subject: [PATCH v1 05/22] SELinux: Abstract use of file security blob X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Cc: "Schaufler, Casey" Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP SELinux: Abstract use of file security blob Don't use the file->f_security pointer directly. Provide a helper function that provides the security blob pointer. Signed-off-by: Casey Schaufler --- security/selinux/hooks.c | 18 +++++++++--------- security/selinux/include/objsec.h | 5 +++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 1d2487f8e88b..98ee88156e11 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -397,7 +397,7 @@ static int file_alloc_security(struct file *file) static void file_free_security(struct file *file) { - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); file->f_security = NULL; kmem_cache_free(file_security_cache, fsec); } @@ -1882,7 +1882,7 @@ static int file_has_perm(const struct cred *cred, struct file *file, u32 av) { - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode *inode = file_inode(file); struct common_audit_data ad; u32 sid = cred_sid(cred); @@ -2226,7 +2226,7 @@ static int selinux_binder_transfer_file(struct task_struct *from, struct file *file) { u32 sid = task_sid(to); - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct dentry *dentry = file->f_path.dentry; struct inode_security_struct *isec; struct common_audit_data ad; @@ -3538,7 +3538,7 @@ static int selinux_revalidate_file_permission(struct file *file, int mask) static int selinux_file_permission(struct file *file, int mask) { struct inode *inode = file_inode(file); - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode_security_struct *isec; u32 sid = current_sid(); @@ -3573,7 +3573,7 @@ static int ioctl_has_perm(const struct cred *cred, struct file *file, u32 requested, u16 cmd) { struct common_audit_data ad; - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode *inode = file_inode(file); struct inode_security_struct *isec; struct lsm_ioctlop_audit ioctl; @@ -3825,7 +3825,7 @@ static void selinux_file_set_fowner(struct file *file) { struct file_security_struct *fsec; - fsec = file->f_security; + fsec = selinux_file(file); fsec->fown_sid = current_sid(); } @@ -3840,7 +3840,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk, /* struct fown_struct is never outside the context of a struct file */ file = container_of(fown, struct file, f_owner); - fsec = file->f_security; + fsec = selinux_file(file); if (!signum) perm = signal_to_av(SIGIO); /* as per send_sigio_to_task */ @@ -3864,7 +3864,7 @@ static int selinux_file_open(struct file *file, const struct cred *cred) struct file_security_struct *fsec; struct inode_security_struct *isec; - fsec = file->f_security; + fsec = selinux_file(file); isec = inode_security(file_inode(file)); /* * Save inode label and policy sequence number @@ -4004,7 +4004,7 @@ static int selinux_kernel_module_from_file(struct file *file) ad.type = LSM_AUDIT_DATA_FILE; ad.u.file = file; - fsec = file->f_security; + fsec = selinux_file(file); if (sid != fsec->sid) { rc = avc_has_perm(&selinux_state, sid, fsec->sid, SECCLASS_FD, FD__USE, &ad); diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h index db1c7000ada3..2586fbc7e38c 100644 --- a/security/selinux/include/objsec.h +++ b/security/selinux/include/objsec.h @@ -167,4 +167,9 @@ static inline struct task_security_struct *selinux_cred(const struct cred *cred) return cred->security; } +static inline struct file_security_struct *selinux_file(const struct file *file) +{ + return file->f_security; +} + #endif /* _SELINUX_OBJSEC_H_ */