From patchwork Tue Nov 15 19:40:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Roberts, William C" X-Patchwork-Id: 9430425 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 CBC2760471 for ; Tue, 15 Nov 2016 19:43:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0F9E285BC for ; Tue, 15 Nov 2016 19:43:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A5B0128951; Tue, 15 Nov 2016 19:43:18 +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=-1.9 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from emsm-gh1-uea10.nsa.gov (emsm-gh1-uea10.nsa.gov [8.44.101.8]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B67C8285BC for ; Tue, 15 Nov 2016 19:43:17 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.31,496,1473120000"; d="scan'208";a="971101" IronPort-PHdr: =?us-ascii?q?9a23=3AmYOhGB+1B9M1Pf9uRHKM819IXTAuvvDOBiVQ1KB5?= =?us-ascii?q?0OwQIJqq85mqBkHD//Il1AaPBtSArasewLOM7+jJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fdbghMijexe65+IAu5oQnMqMUbjpZpJ7osxBfOvnZGYf?= =?us-ascii?q?ldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbD?= =?us-ascii?q?VheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxDmki?= =?us-ascii?q?cHMyMy/n/RhMJ+kalXpAutqwFjz4LRZoyeKfhwcb7Hfd4CRWRPQNtfWSJCDI27?= =?us-ascii?q?bYQPAfIBMORFo4TzqFQBsRSwChe3BO701j9FhGX70bEg3ug9Dw3L2hErEdIUsH?= =?us-ascii?q?TTqdX4LKkTUeGxzKnMzDXMdfZW1S3h54TSaBAhpuqDUqxqccrN0kkiDALFjlOM?= =?us-ascii?q?qYP7OzOZzPgCs2+e7+dmSOmhiHYnphlsrjWgycogkInEip8Pxlza+ih13pw5Kc?= =?us-ascii?q?CgREJmZdOpE4FcuzyYOoZ2WM8vR2VltDw0x7AGv5OwYTIEx449xxHFbvyKa42I?= =?us-ascii?q?4hX+W+mPOTp4n3dleK6nhxa17Eig1vXwVsmq31ZOqSpIisXMuWoX1xzS98iHUe?= =?us-ascii?q?Fx/luh2DmT1wDT7ftIIUYomqrAN5Et2LswlpsXsUjbHy/2nlv5jLOOe0k59eWl?= =?us-ascii?q?5P7rb7X7qpOGKYN5hR/yPr4zlsCnBOQ3KAkOX2yV+eSm073j+FX0QK5Ugf0yk6?= =?us-ascii?q?nZto3aJMsCqqGiBA9Vz4Aj5AqhADe9y9kYgXkGI05FeBKAlYTpPUrOL+riAfew?= =?us-ascii?q?hFSsji9nx+raMb35HpXNMn/Dna//crZl8UFc0gszzctE6pJMEL4BOvPzWlTptN?= =?us-ascii?q?zcFBA2LxK7z/zgCNVn2YMUQXiPDbOBMKPOrV+I4foiIueNZI8RvTbyNeIl6uXg?= =?us-ascii?q?jXAnhFAderOp0oEPaHCiGfRmIVuWbmbwgtsbFmcKpAU+RvTwiFKeST5Te2qyX6?= =?us-ascii?q?Uk6zE1EoKpF4HDSZysgLyaxyq7G4VWZmFfBlCXH3bobJ+IW/AWaCKdOsVhiCAL?= =?us-ascii?q?VaC9S4890hGjrAz6xKBkLurT5y0VrpHj28J25+3UiBE+7zt0D96S02uVVWF7gn?= =?us-ascii?q?sIRyMq3KB4uUFy0EqM0bJ5g/NGD9xe/OlGXRs/NZLGyOx6Ed/yUBrbftiVUFam?= =?us-ascii?q?XsmmATYpQ90t2dAOZ1hyG86+jhHD2CqnGKQVmKCKBJMq9KLcw3nxKNxnx3bAyq?= =?us-ascii?q?Yhk0EsQtFTOm2+mq5/6w/TCpbJk0qHk6aqcaMc0TXJ9Gee0WqOu0RYXxRqXaXC?= =?us-ascii?q?R3AfaVPcrc7l6UPaU7+uFbMnPxNayc6MMKtKbcbpjUldSff4PtTeZGywm2KqCh?= =?us-ascii?q?aO3L+MapTle3kF1iXHFEcEixwT/WqBNQUmCCauuWbeDCBwGlL1eEPh6vd+p22h?= =?us-ascii?q?TkAv0gGKaldt172v+h4anfacUe8c3qoYuCc9rDV5BEq90M/LBNqBvQVheL5Rbs?= =?us-ascii?q?864FdCyW3WrRd9PoC6I6BkmFEebxx9v1ny2BVvFoVAjc8qoWsszApzLaKY1E1O?= =?us-ascii?q?dyiD0J/qJLLXMG7y8Aqoa67M1VHUyMyW9bsX6PQkt1XjuxmkGVc4/HV7ydZazX?= =?us-ascii?q?Wc55rRAQUOUZL+SFw39wRkqLHAeCU94Z3b1WF0O6murjDCw84pBPciyhu4Yddf?= =?us-ascii?q?Mb+LFBP1E80AHcShNOwqm1+vbhILJ+1S8K80P8W8ePuc366nJuFgnCipjW5f+o?= =?us-ascii?q?ByzlqM9zZgSu7Px5sFx/CY3hCbVzvll1eurMT3mYFCZTEPEWuy0jPkBJZQZq10?= =?us-ascii?q?fIYEFXyuL9exxtpgm57nQ2RY+0K7B1MaxM+pfgKfb0b63Q1U0UQYv2anlje/zz?= =?us-ascii?q?16iDwptbef0zDVw+j4cxoHIGFLTnF4jVjwOYi0k8waXE+wYggxjhSl+EL6y7JB?= =?us-ascii?q?q6hlNGbTRkNIfzTxL2FkSaaws6aOY8hI6Jw0qylXVvqzYUyCQL7nvxQayz/jH3?= =?us-ascii?q?dZxD0jcjGqvoz1kAJ8iG+GMnZ8sn7ZecVuyhfF/tDcQ+Be3iYeTililTbXHkS8?= =?us-ascii?q?P8Wu/diMlJfMrOa+V3m6W51Qbybry5iAtC2l6m12GxG/mOqzmtL/GwggzSD7z8?= =?us-ascii?q?VqVTnPrBvkeonkzbm6MeZ5cUlwHlD87dZ6FZ9kkoYrmZEQwmYVho+O/XYdimfz?= =?us-ascii?q?Nshb2bjiY3UTSz4LxMTV4Af710F5KHKG2Z75XG2HwsR9f9m6fn8W2iUl4sBUDq?= =?us-ascii?q?eb8adJnTVzolWlrQLde/59kSkByfE28n4Vn/kJuBYxziWaGr0SBVNXPTHolxmT?= =?us-ascii?q?89++rblXZWa2fbi+zkV+m8qtDLaYogFTQHz5YIstHTds7sVjN1LByH7z64HgeN?= =?us-ascii?q?bOdt8TsxqUkxnOj+dLNJIxivoKhS1iOW3jp3ElzfA0jQB215GgoIeHM3lt/L6+?= =?us-ascii?q?AhNAOD36fcUT+i3qjaZbhcuW0Z6gEYhmGjURRpToVeioEDUQtfv5KwmODCcwqn?= =?us-ascii?q?CBGbrQBQWf8ltpr2rTE5C3MHGaPHYZzdV+SxmHJE1fmBwUXDIhk54/CA+q2Nfh?= =?us-ascii?q?f1tj6TAJ+FH0sB1Mxfx0NxPnSGfQuB+oaisoSJiYNBdZ8wdC6F3OPMOD6OJ8BT?= =?us-ascii?q?tU/pq7rAyCMmabfRhHDXkVWkyYAFDuJqOu6cPO8uSCA+qxNf/OYbKOqOFFTfiH?= =?us-ascii?q?2Zev3pFh/zaWOcWFJmNiAOEj2kpfQXB5HNzUmzMVSyMNjyLNd9WWpBm9+i1ttc?= =?us-ascii?q?C/7PrrWAPp5YSVDbtdLdRv9AqygauZMO6Qnil5Iy5C1pwQ3X/I1KQf3FkKhi51?= =?us-ascii?q?bDahFrAAtS/WTKLMga9bFQUbZD1vO8dS9KIzwA1NOc/ditPo2b91leI6CldfVV?= =?us-ascii?q?z8gcGlf8ILLHuhNFPcA0aLMq6KJTrRw8H4eam8U6FfjP1Itx2svjaWC1TsPjWM?= =?us-ascii?q?lznuURCiKvxDgz+AMxxfoo69dAxhCW/5TNLpche7KsN4jSUqwb0ogXPHLXQTMT?= =?us-ascii?q?dmfENTsLKd9iRYgu1hFGxH63pqN+iEmyKC4OnfJZcaq/xrAj57l+hC+nQ116NV?= =?us-ascii?q?7D1YRPxygCbSstluo1S8numVzTpmUQRBqjBQi4KRukVtJ6bZ+4JcVnbD+RIC8X?= =?us-ascii?q?+fCw8Wp9d/DN3gpbxQwMDVlK3vMDdC787U/cwECsjUNMKHMH0hMR/zFz7PFwYF?= =?us-ascii?q?SD+rNX3Fh0NDiv2S8WeVrpcioJj2hJUOUqNbVEAyFv4CDERqAsYNIJNsUzMnlr?= =?us-ascii?q?6bl9II6mC4rBnKR8Vav4rLVvSMDvXzMDyZl6VLZwMUwbPkKoQeLpf71FJ5alZk?= =?us-ascii?q?hovKAVbfXdBWryJ6bw80ulhC8H9wTm0rwULqdAOs7GUVFfGqgh48khF+bvg19D?= =?us-ascii?q?fw/1c3IULHqzYqn0kvmNXqnCuRfSXrI6eqR4FWDCT1t1MvPZznXgZ1dwyynVBk?= =?us-ascii?q?NTveQbJekadgf3hxiADAoZtPBeJcTapcbRAN3vGYee8n0VtGqiq9209K/vDFBo?= =?us-ascii?q?FhlAs3a56jtWhM2wZ+bN4zP6PQPrNFzkRXhqKNvi6o0fo9wAkAKEYR6GmSYjIH?= =?us-ascii?q?uFQUNrk6ICql5uJs6RaclDReY2gDTfwqou5t9kMmIOmP1T7v07tZJkC2LeyfIL?= =?us-ascii?q?uTu3Lcms6QXlMwykQImlFB/bhxy8csbUyUVkEozLaKGBQJM9fCJRtSb8pI+3jZ?= =?us-ascii?q?ZTyOvvnVwZJpI4W9EfjlTfSQu6YQg0KkGhspHosX48sdGZms1V3XIt38LL4Z0x?= =?us-ascii?q?kt4hrkJEmdBvRTZB2LiCsHo924zJJvwIZSOjQdAWJ7MSWr+7ravREqj+SZXNc3?= =?us-ascii?q?Y3YaWY0EOmgwWMKkhy5Tp25AAyWv0uIF1AiC6CfxpifKDDj8ddVjYuuUZRN3Bd?= =?us-ascii?q?G5/jU/67S5hUTR8prAO2HwLc5itcPX6eMGu5aHDOtZTaV8s0fZnIlYW3yqUm7U?= =?us-ascii?q?HNGoJpjxa5MjYsfuBna8TFO/lyo/T93tM9a1MqiInQboSJ5bsImBxj8jM9O9Gy?= =?us-ascii?q?ofGxd3qeAD4r58ZQ0dbJo6Zx7oqxoxN7alLAeezNquX36nKSFKQPlH0eW6e7tX?= =?us-ascii?q?wjI2Ye++yXsvUo81wPGy8U8NQpEKiRfeyuy4aoZFUCj8AHpddxzBpSokjWRhMP?= =?us-ascii?q?g9wvsnyhPSrVYcKyyLdPBuaGFcpN4zG1WSLG5sBWUlWV+Tk5DD4hW20LAI/ypR?= =?us-ascii?q?hdFU0fdKsHLmpJ/QfCqsWLC3qZXSqycgd94mo6xtPozjJcuGsIjekCTGQpfNqA?= =?us-ascii?q?OITCm0GuFGldhXJSJXXONHmXo5OcAcv4pO91YxXN8kJ7NTEKksuqyqaT18ACEO?= =?us-ascii?q?zy8WTZ+P0Scejee737vakhaQf4o4MBwYrppNntsdXzRxYiMEq6+pT5/WmHOcSm?= =?us-ascii?q?gXPAcT6hxB5BgamY9qeeDq+5HFTINWyzFMvfJ7TC/LFphu91v0TmGWgFf4SPW9?= =?us-ascii?q?k+ynxw1S1vfs3sMdWBFhFUhX3/xWmVcwKLFrN6kQuZbHsz+SekPhpm3tzeqmJF?= =?us-ascii?q?9KxM3Va133FpHFunbmXSEG/30bW5NPwmnFFZsOiwp5dLorpFJULYGoYErx+zwk?= =?us-ascii?q?x4VsH7m5T8+rxE0orXcYSCi0DdVNEeZmsEjYWDd9eZCktI3lO4lOQm9X4JCds1?= =?us-ascii?q?BZkEF3PC6jx5tcLMVN4jAXUThKpjWdu8CyR9Nf1s9sCJ8MOcx/u3b7GKNLIpSR?= =?us-ascii?q?pGc2urP3wH/D5z88qEu6xCm0G6KgVe1Z5XAeGgMzK2SdsUQvDuos8mbO8l/WqF?= =?us-ascii?q?x0+flUBqSXh0VrvDl9BoxOBipO1X29M1RzS3xGvv5GKKjJdsxTWOM+ZRmxNBwi?= =?us-ascii?q?DfQmxVCG/VlonXflZCx/rgta9DrHXwYuUSkan6zgliAApcG/IT8VVZZIYis7by?= =?us-ascii?q?vfLAKbgy9Xtg5Fa052Q5AZHspF+7YD0ItU+crNV0isJj8fXBF5NwI3z+RQmlBZ?= =?us-ascii?q?vEWfYyDdAhKidezTvR1vYceRsMmpIez7/AdAlIzqq/03+LsYR3K4gw2tXc7RoJ?= =?us-ascii?q?Lmut2MqESOaL/yM/egbn/ZUDjMkRewiK8/AJnE4yffLAhWJ4R0xHc/fZfhDmvL?= =?us-ascii?q?MghcKKIAO0pXT6Z6ZstaoupCfc9rZL4J+bNxBhKAXh7vApKgo+RGLlnJWTTTNC?= =?us-ascii?q?GB8uuhoY3N87DSVe/gadGSyHrdRaJ4IIt64yHhG7j2yY9e5lb22vB1+0NiUljG?= =?us-ascii?q?LzqOo8n9Jg4Q/8micVbivoc1EjzIBpdwjGDtyVtEd8YNRC2q6psYwotD6HnsUe?= =?us-ascii?q?J4zlTzsOpK+rl484k4/a5mxtqvKKfPLfRarVVnDQKKBgVr8ZUtBHZwR3xLbu8W?= =?us-ascii?q?MvfRcrwTjdrypODvC6wX9BqV9vRcadTdI0HBntewCi2ASRNehggMsjgaIRWA1/?= =?us-ascii?q?6eh6B7U96lqvbj1kIr/Ve+MgYMzKpx6oec5qqIuOjXYgPTzbceQKjqQdjzrrA2?= =?us-ascii?q?tEOM/vAkkaMOemhpYw2mDOcdV9QSxmH7zawwyiIsCczDFar6+PFfT3I5gi7gm5?= =?us-ascii?q?dlElUUAPwUG7SL/Z5ZnmglhePULcEWfbpEmmaUEh6oCLkCxmC36yGPOmlqngnO?= =?us-ascii?q?0w3sQWO09FL2ojJ4QSrIz9fnjEVVU6K6ClpMUCWyOE93qjWPMBDvtNrttqQ/9F?= =?us-ascii?q?s2PXD8tNKRiGuhP6taH8v7JNGHICk0olcXgIcwRtyp14AbA8CyIMwN8HFkc/vR?= =?us-ascii?q?93+rkzJbo6hZnYbe5duV+vrPF3m6k6Kas6mNxCxfynUguFE/7dagNu3B59KUWP?= =?us-ascii?q?mo0mcRQD15uwTfQx60pLvbr0oXOUyQykvLnpIFPs1B13kiyk7m/PQjQM409AhG?= =?us-ascii?q?DIbPeu4NqCv8ODvxzleTedQ3WTeC0zFPBFL6DUF4GLQg2GL3pM/JkWzQ+1goS4?= =?us-ascii?q?RreUzomwF4D4IiKU038FgX2C0DEQoTZh+HELGkH0PlLZELVUIbcxSIwKC6ersr?= =?us-ascii?q?3U102r6v4evTYvJ5B6oKKPldihWDnFdFFZIRqq0eWKhze0Nc9KHNogjiCo7nX+?= =?us-ascii?q?T4mno0Mf21Q89a/t4ft3Q+/AmzXRyg5olf77wDkpCHarZEYYTQvMB790pn/iQA?= =?us-ascii?q?djJXjxhwkRy5SvsRpPv57djFqpWo5fihVL03S+UR6Rc0G3x0j4Hsj1A7vdHXy+?= =?us-ascii?q?BcR5XXiYT+9QBAOHuKt5ja0hZiM+oOKoSrfLl6+3UBOSceO2oEPcCKZPkk/y9t?= =?us-ascii?q?LDLT6kRDAsINf9wXJtbClBtPikL3RLFc6NbUFkWfC4dpeMAi93D3xywt8ZsgTu?= =?us-ascii?q?bg7ye7Kove71FWMfJMlidslNPepOgN2/XSFSwX7GKFZBhy3yyN1YOCC+vq/eWL?= =?us-ascii?q?0tHbTUkKHiksU4dSPDCC4xCoRvKplJX1VQOZ8tfzj4gidE2MRnywkqMFsrxPEe?= =?us-ascii?q?JZkSX0wDxeFoHzh/KIvNuh83NXuUdbEIlv7R3EFqJfPo94ORjilcmkWFJ8Bi3h?= =?us-ascii?q?d8HQbBYuv/CWxugU6eVkK0T+fZMbIg4Dy7/i9XpVVBVhSLrssVafQ+0cf8ZpSP?= =?us-ascii?q?LLrnBU9YJvMbQPM0KHpJz3tDtIrk45ABMxYr8qsjNablXOnBFSW6vst74PkBEc?= =?us-ascii?q?XsBluU9MAm+wPGM+5ybZWqRVlqaRFecV/i+VTqMQT0ViKjl+TA+t2JVyZ7upmu?= =?us-ascii?q?hKsmxYkSN7vPgq1DtmSBynuSLyo6IN2DQg+Ky3tTgavXxKUP+ekifSBllZyvQF?= =?us-ascii?q?k7scAW746VOgeHkDcJfy4L5/KMTm9Iku/3M/YRE5cC0dR+igCibwj6STAoyUq9?= =?us-ascii?q?9cgRGAucrUYb+0NygSOaw3yQj/SHhlzgjegBFo/XMEQjq8998kP5yxN9sqyCSu?= =?us-ascii?q?GGjbcksM46xSvcv+sF4EVu02Zk17zGVkyMiHSTUHRNbTFGYtkggkdWJEfYpB6R?= =?us-ascii?q?8dF6kohCyEsbVG/gEQfTfbD4Wk+ojWncfT2nk9TMxnxnzXpq2bnJwq1GBqm9Ju?= =?us-ascii?q?4i6IpnsSa/TSU9VwDXjryodf1ev+au2ssuAZUoRmzq+sUPsfMsa++Gu2345qVl?= =?us-ascii?q?WixrQEEFqzKPUDyavDUye5VW2YXvyGc2qSkDY3PE7y4QKlL1MtZ8dMsUA9LvHO?= =?us-ascii?q?hphCmA39Sbl0XDmfpUfHzGw/NuMXbw02uIOgew0EUuERY+ycKPM1wP05DlsMbm?= =?us-ascii?q?PGETFwC+CorV6nhJJ7NGl44UXmfeTt9RjrMNmSGhgECY7aqZpx+f2mRm2fInJg?= =?us-ascii?q?yRxyPFVu9+jBDVgxsfVcc5mJl9jKm9t7yfIFd+tqMSAlpt4Tm4dj5JKI0MeLbR?= =?us-ascii?q?7RzYj9JdXPrvieHfLf01wgentGXboBfQP1+4I6M8Y8W73SHrtZvhMcCLM4QJM7?= =?us-ascii?q?NGfx86d0Ix11cgLLYrS7nNXqrPqRZpRIv3/W8k4wLCDEthIY1PO0SxB7Youxh3?= =?us-ascii?q?X2J5AwWi5Br8NzBRR7BodPHNkArwW/CZ6OhK67k8Ox+199u+ISv6r/FPTK1NWh?= =?us-ascii?q?34pvRJVb5E2LPDPUBKZ1mERlivq9ju3H0pnrBsPoYckEW/RjQm7Zdr/GGZ2yKz?= =?us-ascii?q?yWOsLmek5J76CT3al8UhWQeCD5RbSJuDejNPV+7kUx0pZ4c/bLzDwx87Hb38P/?= =?us-ascii?q?Z2Zfpii9tnOJLJ9f40bRBezCXhJbVeaF8Hx7EqIJd4f08vkBMcA6ytiG/wZz9C?= =?us-ascii?q?hC0NeCI6W5qk/M20R7dY/ULUfw3yY5WJIKIAikMUY3gG/WsHLdAXNGIsijM8lt?= =?us-ascii?q?j86fDgbx6ElphWEtemlBF3LzRdiPPWgb2sS+ZBCF9Q5MANgDg+63dlAitqKsUe?= =?us-ascii?q?lnII5Imea0u7Udl9ZmNSXPS9NHPyHfNrN2OSBRDurXrlgyfhEEq6Q1WpsyZZWW?= =?us-ascii?q?JEMHMVyAyT/pwArDyE30ccaj2LyPICkI7nVN16jF3iRUpwmlpfaZhdXuULXDY5?= =?us-ascii?q?7qXP7SMSwlVjaBSDQsEEap/0mru/4FvPqePGcerUoYYiWICA4cvqpvt8TfDnfP?= =?us-ascii?q?me1/e50HnPKaVDrzSC1/j6U/HTtLtUaQQ/oDEgnWcnDhgGpAuAC4IP9D427lZa?= =?us-ascii?q?WCxqVJQ+wWHpdMcvqBTtvXY/9RPC0oljQHN+a4ZNDcsbI53UjTTWsYDqnE7lue?= =?us-ascii?q?Q1CKQvaE3TLkQZ0Vv5Qouiov4t/QnCp3E6PSP7aFpj6u6ZW1jCCCtu3bSGYtYl?= =?us-ascii?q?Y5gOUYAGmO2BNAMn0LC8kJuEHxRa6Nf1hD1HAuieJu3R8MYwNzUnt1331Zhva9?= =?us-ascii?q?B9NZRkAOjG+0Rv0Jckx3Bisq/UCW+g3yfcAAucfLSm9F+LsMTJYSIfgr5YTMJq?= =?us-ascii?q?sf3uwp3DNnoSw9tSWRFVVdgRyZ86DIBqJz2qVC5XUk//FxRkyPQTTfcm7Dyoe9?= =?us-ascii?q?DsJA2zphoX7j18rOou9iKqFWp4dnD1cWUmpKIYXG8StpTXD/2Az0uQ2yWjuZPn?= =?us-ascii?q?ZR5jAIDSMCcelxwqlwtxOMPs3M7UKWqrIJtFqgCQHNDKG9npNMFJLHzwK9PDZK?= =?us-ascii?q?dTGqHpUwobBXk9wfe788TYm4H13FaAP5C1HL8xsQ/QTn9+z4RfFBxX8Tx+B1cN?= =?us-ascii?q?w=3D?= X-IPAS-Result: =?us-ascii?q?A2H+AADsZCtY/wHyM5BeHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAR+BWKRKlgoFUSaIKlMBAQEBAQEBAQIBAl8ogjMaghUCBAECJBMUIA4DC?= =?us-ascii?q?QEBFwghCAgDAS0VEQcHCwUYBIhLszw9KgKLHQEKAQEBI4hBhm8RAYV9AQSPXIp?= =?us-ascii?q?lkGICihaGCpFRVTcjRoU9UQGFbIItAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 15 Nov 2016 19:43:15 +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 uAFJhD73026619; Tue, 15 Nov 2016 14:43:13 -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 uAFJeRI5116315 for ; Tue, 15 Nov 2016 14:40:27 -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 uAFJeRXo026428; Tue, 15 Nov 2016 14:40:27 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DlAAAwZCtY/yNjr8ZeGwEBAQMBAQEJAQEBgzcBAQEBAR+BWKRKklODNwVahiMCgiJTAQIBAQEBAQJihQoCBCdSECAxVwcSiGyzOz2LSQEBAQEBBQEBAQEjiEGMfgWPXIplkGICkCCRUVU3hiYdNAGIGQEBAQ X-IPAS-Result: A1DlAAAwZCtY/yNjr8ZeGwEBAQMBAQEJAQEBgzcBAQEBAR+BWKRKklODNwVahiMCgiJTAQIBAQEBAQJihQoCBCdSECAxVwcSiGyzOz2LSQEBAQEBBQEBAQEjiEGMfgWPXIplkGICkCCRUVU3hiYdNAGIGQEBAQ X-IronPort-AV: E=Sophos;i="5.31,496,1473134400"; d="scan'208";a="5825689" 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; 15 Nov 2016 14:40:06 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AfMfCnBP66cYakPnf5IQl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0Iv7+rarrMEGX3/hxlliBBdydsKMfzbOM+Pm6BSQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9GiTe5b75+Ngi6oRveusULn4dvJbs6xwfUrHdPZ+?= =?us-ascii?q?lY335jK0iJnxb76Mew/Zpj/DpVtvk86cNOUrj0crohQ7BAAzsoL2465MvwtRne?= =?us-ascii?q?VgSP/WcTUn8XkhVTHQfI6gzxU4rrvSv7sup93zSaPdHzQLspVzmu87tnRRn1gy?= =?us-ascii?q?ocKTU37H/YhdBxjKJDoRKuuRp/w5LPYIqIMPZyZ77Rcc8GSWZEWMtaSi5PDZ6m?= =?us-ascii?q?b4YXD+QPI/tWoYf+qVUJrxS+CxKhCP/zxjJSmnP7x7E23/gnHArb3AIgBdUOsH?= =?us-ascii?q?HModT7NacSVeS1zKjSwjXGdf9ZxS3x6JLPch86v/6MR65wcdHKxEkuEQPFkkuf?= =?us-ascii?q?qYj/MzyJ0eQNtm6W5PdjW+K3k2MrtgV8rzu1yssxiITEhpgZx1TA+Cljzos4Jd?= =?us-ascii?q?u1Q1Nhb9G+CptfrSSaOpN2Qsw8R2Fovz43yrMDuZ6geSgKx44oywLDZ/CZaoSI?= =?us-ascii?q?4w7sW/qLLTd2gXJpYrO/hxCu8Ue+zu3wTNW70FFPriZdk9nMsG4C1wDL58SaTv?= =?us-ascii?q?Zw/V2t1SuN2g3T8O1JJUQ5mbDVJpMh2rIwk4AcsUXHHi/4gkX2i6qWe10q++ip?= =?us-ascii?q?7+TnZrTmqYWZN4Nulg7yKL4umsukDusmKAgOQ3Ob9P+91L3l4U32XrFKgucqna?= =?us-ascii?q?netZDWPd4bqbKhAw9JzoYj7A6yDyy739QDhnQHMFJEdw6Hj4juIV3OJuv4Au2l?= =?us-ascii?q?j1Sjlzdr2ejMPqf9DZXVMnjDjLDhcK5m60FCzAozzNZf549bC7waPPLyWlP+tN?= =?us-ascii?q?zfDhMjNQy02PzoBM9y1oMZR2LcSpOeZbjeqneU9+kvJK+Kf4ZTtzHjb7Aj4f3G?= =?us-ascii?q?gng+llsQO6Ku2N9fc328H/J7M22FcHHshZEHCm5MsQ0gH8Lwj1jXTj9XY3e7Wu?= =?us-ascii?q?Q3oCs8Ao+8EZzrR4axjbjH1yC+Tc4eXXxPFl3ZSSSgTI6DQfpZLXvKesI=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HiAAC5YytY/yNjr8ZeGwEBAQMBAQEJA?= =?us-ascii?q?QEBFgEBAQMBAQEJAQEBgwwBAQEBAR+BWKRKklODNwVahiMCgiJTAQEBAQEBAQE?= =?us-ascii?q?CAQJfKIIzGgGCFAIEJ1IQIDFXBxKIbLM6PYtJAQEBAQEFAQEBAQEiiEGMfgWPX?= =?us-ascii?q?IplkGICkCCRUVU3hiYdNAGIGQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0HiAAC5YytY/yNjr8ZeGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgwwBAQEBAR+BWKRKklODNwVahiMCgiJTAQEBAQEBAQECAQJfKIIzGgGCF?= =?us-ascii?q?AIEJ1IQIDFXBxKIbLM6PYtJAQEBAQEFAQEBAQEiiEGMfgWPXIplkGICkCCRUVU?= =?us-ascii?q?3hiYdNAGIGQEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,496,1473120000"; d="scan'208";a="787701" Received: from fmsmga002-icc.fm.intel.com ([198.175.99.35]) by emsm-gh1-uea11.nsa.gov with ESMTP; 15 Nov 2016 19:40:05 +0000 Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga002-icc.fm.intel.com with ESMTP; 15 Nov 2016 11:40:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,496,1473145200"; d="scan'208";a="31291195" Received: from clpowell-mobl3.amr.corp.intel.com (HELO wcrobert-MOBL1.amr.corp.intel.com) ([10.254.74.236]) by orsmga004.jf.intel.com with ESMTP; 15 Nov 2016 11:40:05 -0800 From: william.c.roberts@intel.com To: sds@tycho.nsa.gov, nnk@google.com, selinux@tycho.nsa.gov Subject: [PATCH 2/2] libsepol: fix checkpolicy dontaudit compiler bug Date: Tue, 15 Nov 2016 11:40:01 -0800 Message-Id: <1479238801-13053-3-git-send-email-william.c.roberts@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1479238801-13053-1-git-send-email-william.c.roberts@intel.com> References: <[PATCH] libsepol: fix checkpolicy dontaudit compiler bug> <1479238801-13053-1-git-send-email-william.c.roberts@intel.com> 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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Stephen Smalley The combining logic for dontaudit rules was wrong, causing a dontaudit A B:C *; rule to be clobbered by a dontaudit A B:C p; rule. This is a reimplimation of 6201bb5e2 that avoids the cumbersome pointer assignments on alloced. Reported-by: Nick Kralevich Signed-off-by: William Roberts --- libsepol/src/expand.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libsepol/src/expand.c b/libsepol/src/expand.c index 004a029..ef04908 100644 --- a/libsepol/src/expand.c +++ b/libsepol/src/expand.c @@ -1604,7 +1604,8 @@ static int expand_range_trans(expand_state_t * state, static avtab_ptr_t find_avtab_node(sepol_handle_t * handle, avtab_t * avtab, avtab_key_t * key, cond_av_list_t ** cond, - av_extended_perms_t *xperms) + av_extended_perms_t *xperms, + uint32_t init_data) { avtab_ptr_t node; avtab_datum_t avdatum; @@ -1640,6 +1641,7 @@ static avtab_ptr_t find_avtab_node(sepol_handle_t * handle, if (!node) { memset(&avdatum, 0, sizeof avdatum); + avdatum.data = init_data; /* this is used to get the node - insertion is actually unique */ node = avtab_insert_nonunique(avtab, key, &avdatum); if (!node) { @@ -1750,7 +1752,7 @@ static int expand_terule_helper(sepol_handle_t * handle, return EXPAND_RULE_CONFLICT; } - node = find_avtab_node(handle, avtab, &avkey, cond, NULL); + node = find_avtab_node(handle, avtab, &avkey, cond, NULL, 0); if (!node) return -1; if (enabled) { @@ -1824,7 +1826,15 @@ static int expand_avrule_helper(sepol_handle_t * handle, avkey.target_class = cur->tclass; avkey.specified = spec; - node = find_avtab_node(handle, avtab, &avkey, cond, extended_perms); + node = find_avtab_node(handle, avtab, &avkey, cond, + extended_perms, + /* + * dontaudit rules need to be + * initialized on creation, others can + * be 0. + */ + specified & AVRULE_DONTAUDIT + ? ~cur->data : 0); if (!node) return EXPAND_RULE_ERROR; if (enabled) { @@ -1850,10 +1860,7 @@ static int expand_avrule_helper(sepol_handle_t * handle, */ avdatump->data &= cur->data; } else if (specified & AVRULE_DONTAUDIT) { - if (avdatump->data) - avdatump->data &= ~cur->data; - else - avdatump->data = ~cur->data; + avdatump->data &= ~cur->data; } else if (specified & AVRULE_XPERMS) { xperms = avdatump->xperms; if (!xperms) {