From patchwork Tue Nov 15 23:30:22 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: 9430675 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 0996C6047D for ; Tue, 15 Nov 2016 23:30:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EAAD328977 for ; Tue, 15 Nov 2016 23:30:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DEE1028C02; Tue, 15 Nov 2016 23:30:43 +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 (smtp.nsa.gov [8.44.101.8]) (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 0C71928977 for ; Tue, 15 Nov 2016 23:30:42 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.31,496,1473120000"; d="scan'208";a="981132" IronPort-PHdr: =?us-ascii?q?9a23=3A/5HpuBfGDeivwoW0J+3GGw+alGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcq5YR2N2/xhgRfzUJnB7Loc0qyN4vumADdLuMrJmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBu7oR/MusQYjoduN6k8wQbVr3VVfO?= =?us-ascii?q?hb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnY?= =?us-ascii?q?UAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhS?= =?us-ascii?q?waOTE56mXXgdFugqxdrhyquhhzz5fJbI2JMfZzeL7Wc9EHSmpbRstfVzJPDJ6y?= =?us-ascii?q?YYUMCOQBJeRVo5TzqlQBsRSwChejBPj0xz9UhHL7x7E23v49HQ3Y2gErAtIAsG?= =?us-ascii?q?7TrNXwLKoTX+G1zK3MzTXCdfxW3C3x55TSfhA7pvGDRqx/cdDNyUk0DA7Fj1OQ?= =?us-ascii?q?qZD7MDORzOgCr2+b7+9mWOmyiGAnsxl8riWgy8ojkIXEhp8Zxkra+Sh23oo5P8?= =?us-ascii?q?C0RFZmbdOgE5ZcrTyWOol2T884R2xlvDw2x7MGtJO9YSME0o4oxwTFZPyCa4WI?= =?us-ascii?q?5xXjW/uPLjpgn3Jlfa6/hw618Ui91u3wTsm030hOripCitTMqmoC1wbS6siaUf?= =?us-ascii?q?tx5Fuh2DaT2ADT7eFIO0Y0mrbAK5E92LIwk5sTsUDbEi/3nkX5krOWe1059uWn?= =?us-ascii?q?5OnreLXrqoKGO4NqhQzyLL4iltGnDeQ9KAcOXmyb+eqm1L3k+E30WK5KgeMykq?= =?us-ascii?q?nYtpDaOMsaqreiDA9Sz4Yj7QqwACm90NkDgXkGLE5KeBKAj4TzPVHOO+r3Ae2w?= =?us-ascii?q?g1Srjjdn3+rGMaH5ApXRMnjDl6/scqhl60FG0gozzMtf6olMCr4bOvLzW1TxtM?= =?us-ascii?q?TcDhAjLwO73fzrCNJn1oMRQWiPGLOWMLvOsV+U4eIiO+eNZI4RuDb4Nfcl/eXj?= =?us-ascii?q?jXEnllAAeqmpx4EYaGiiHvRhIUWWf2bjgssbHWcNpAo+Q/TgiEeeXj5Le3ayQ6?= =?us-ascii?q?U86yk1CIK8F4jDQJyigL2a3CqgG51WfmFGBkmXEXbmbIWIQfAMaDidIsV5iDwL?= =?us-ascii?q?SaChS5M91RGprAL6yKBoLunT+i0Frp/j18J65+7UlREv7zB0CN6d026VRWFugm?= =?us-ascii?q?wIXyM23Lx4oUFl0FiMzLJ4g/1GGtxJ/P5GSBs1NZvGw+x9EdDyVRrLfs2VR1a+?= =?us-ascii?q?XtWmHTYxQ8otzNAUZ0ZyBc6ijgzD3iqtGLIVjKCEBJ0q/aLaw3jxJtxyx2zA1K?= =?us-ascii?q?Y/k1ksWtFPOnG+hq5j6wjTAJbEk0WHmKaucaQc2zXA9GOezWqSu0FYVRR/Xb/C?= =?us-ascii?q?XXAFaUvctc756V/aT7+yFbQnNRNMydWMKqtQbd3plklGSez4ONTYZGKwlWKwCg?= =?us-ascii?q?yOxr+WaorlZXkd1j3HCEcYiwAT4WqGNQ8mCyavuW3eCCBuGkz1Y0P36uR+tm20?= =?us-ascii?q?TlUvwAGXak1tzb21+gQahfaEUfMcwqoEuDs9qzVzBFu9w8/ZBMeBpwV7eKVRes?= =?us-ascii?q?8y4FBC1W3FrQN9JYCgI7pkhlEAbwR9p1nu2AlvCoVcjcgqq2snzAxzKaKc1FNO?= =?us-ascii?q?aSiY0IvqNbLJMGny+wqja6nM2lHRyNyW4LsA6Owkq1X/uwGkDlct/G9709ZPzX?= =?us-ascii?q?Sc6JrLAREOXpLxSEk37QR6qK/AYiUn4YPby2FsO7GusjDew9IpGPclyhG4ctdB?= =?us-ascii?q?MaOLCBPyE8oAB8S0NOMqm1+pbhQLPO1J8K40PsWmeOGc2K6sJupgmyimjWtf6o?= =?us-ascii?q?Bnzk2M7zZ8SvLP35sdx/GY3xCHVyvlgFe6rM/3nYFEZTcPHmuw0iXkH5ZRZqx0?= =?us-ascii?q?fYYKFWiuONe7xtNgiJ7xQ3RY7kKsB0sa2M+1fhqfd0b93QpU1UQTv3Ongze3zz?= =?us-ascii?q?t6kjwytaqfwTDBw//4eBoAIG5LS3FojU3wLoisk9AaQE+oYhAxlBS/+Eb6w7JX?= =?us-ascii?q?q75lI2bIRkdIezT2L2ZkUqars7qOf8hP6JQ0vilNVuSzf0yaQKbnoxQGyyPjA3?= =?us-ascii?q?dexDcjejGvvpX1hgJ1iGSGIXZtsnXZfcVwygnF5NDGQ/5ewCYGTjFiiTbLHli8?= =?us-ascii?q?I8Wp/dKMmpfArO++UXmhW4ZQcSb1y4OAry276nN2ARGlmPCzgNLnGxAg0SDnz9?= =?us-ascii?q?lqSTnIrBHkb4nzzau6LOZncVdwBFDm7cp6Bp9xkpEriZENwngVmI+V/WEdnWfo?= =?us-ascii?q?NtVbxLj+Y2YTSj4FxN7V+gfl11N5InKP2Y35Sm2XwtF9aNmifmMWxiU94thUCK?= =?us-ascii?q?eS8bNJhjV1olylogLRe/R9mCkSyec24n4An+4JoBYtzjmaAr0KBUlXJzHslxCT?= =?us-ascii?q?4t+iraVXeGaufaG+1EVkm9CtFraCohtTWHzhYJctATdw7tljMFLLyHDz6YHleN?= =?us-ascii?q?3OYt8Isx2UlBnAj+ZLJ5ItivoKhS1nOWfjsnE/ze40kwBu14mgvIebM2Vt4L65?= =?us-ascii?q?AhlAOz37fcwT/C3tjaFbnsuN0YCgAIhuGjIRXJTyVfKoCjUStfb5OAmSDD0wsH?= =?us-ascii?q?CbGaDQHQWH8kdps2rPE4y3N3GQPHQZwtViSwWHJE1fmAAUQDI6k4U/Fg+02Mzh?= =?us-ascii?q?a1t26SoJ5lHmsBdMzPxnNwXnWGfFuAiocis0SISYLBdO8w5C4V3aPNeD4eJ1BS?= =?us-ascii?q?5U5JqhrBaCKmaDfQRHEXkJWlCYB1DkJrSu/8TP/PWDC+qxKvvPbq+CqepAWPeU?= =?us-ascii?q?3ZivyJdp/y6QNsWTOXlvF+c71lBNXHxjHsTWgTEPSysXli/WdcGUuBK89jdwrs?= =?us-ascii?q?Cl//ThQBjv6peXC7tOLdVv/Ai7gaGZN+GKnCZ5MS1V1p0NxX/S07gfwFASiyBo?= =?us-ascii?q?dza3F7QPqS/NQ7jUmqNNCB4bcSxzPtNS760gxglNJdLbitTt27FjlfE5DFNFVV?= =?us-ascii?q?36msG1fswGOXq9O03bC0qRL7SJOznLw8DxYaOhRrxdl/lbth2quTaGCE/vJDqC?= =?us-ascii?q?mCP1VxC0NuFMijuXPBtEuIGyahxtE3TsTMr6ah2nN996lSY5wbw7hnPNM24RKi?= =?us-ascii?q?VzfF1Wob2R9yxYhO9zG2tb7npqNeOEgTqW7/HEKpYKtvtmGj57l+1A73Qk1bRY?= =?us-ascii?q?9yZERORrlyvUq95huVCmku2UxTpgXxtCsDFLhJiEvU96I6XW6oFAWWrY/BIK9W?= =?us-ascii?q?iQFxMKp95/Bt31vKBRy8bAlKToJzdY9NLb48gcCtPIJ8KANXouLQDmGCXIDAcf?= =?us-ascii?q?Sz6kK33fjVRHkP6O7n2VsoQ6qp/0lZoOVr9bVFs1FvYABUR+B9ECJZZ3Xi8+kb?= =?us-ascii?q?GFlsII4mC+rBbJTsVAop/HTu6SAenoKDuBi7lLeQEHwbfjIIQQMY37wFBiZUN8?= =?us-ascii?q?nITRGErQXMpBoit/YQ8ouE9N6mRxTnUv20L5bQOg+GUTGuCvnhEokAR+e/gi9D?= =?us-ascii?q?f37lgsJ1rKvjY/kE4/mdX9mzCebj7wIL22XY5IFyr+r1IxPY/jQwZpcQ2ymlRp?= =?us-ascii?q?OyreSLJPjrtvaHtrhRTGtptVA/5cSqNFYAQOyv6LevUoy1VcqjmnxENd4+vKF4?= =?us-ascii?q?dinhMwcZGwt3JAxx5jbNktKKPNP6pG0EJfhq2UviCyyOA82xQeKFwO8GOPYi4H?= =?us-ascii?q?olYENr07Jyqu5ONs8xWOmydEeGgPV/sqpehm9kUjNOSc1yjgyaJMKlitN+yDKK?= =?us-ascii?q?OUo2bAldSWTVwtzUMHjU9F/aRx0cc4aEebTVwgzL6LGxQOL8rCJhlfb9BO+3jL?= =?us-ascii?q?YSaOreLNzIpxP4W6DODnU+mOtacTgk+/EwYpGZkM4t4GHpm230HSNd3nI6IdyR?= =?us-ascii?q?Ux+ATrI02IDO9XdxKPkTcHpdy/zZBs0IZBITEdBHlyPj+s5rbLvAMqhuSMXMsu?= =?us-ascii?q?aHcAQoQELm42WNG9myNBontPEDy30uUfyAie8jPxvTrQAyfmb9piZfaUYhVsBM?= =?us-ascii?q?uw+Toh76i8kUTX/YnGJ2HmKdRivcfC6eAAp5eHEfxUS6V9s0fHlolXQHyqS3LA?= =?us-ascii?q?HcSzJ5fud4kmdcb0BWqiUlyjlzI1SN/8PMqsLqiNhgHoWYZUsYmA0T8+NM+8Fi?= =?us-ascii?q?sRFAxqq+EF+q18eRUJY4Anbh7wqwQ+K6u/LR+X0tW0WWmtLydWQuJezeW9ab1X?= =?us-ascii?q?yTYsbu+kx3shSJE60/e48VQXSJEMkB7e2e6pZ5NCXijrBnxdZwLPqDIjmGhlN+?= =?us-ascii?q?Y93vkwzwvNsVgcNTCLc+ppZ3Zfst4nBFOdO3N2BnM2R1+Bl4bD5BCj36wK9StH?= =?us-ascii?q?g9lUyfFFsGT5vpLHez2jRqqrpI7PvCU9c9gpvbdxMZf5LcuctJLShDvfTIPfsg?= =?us-ascii?q?edSi61C+JamsRMICJfWPRIg2clOc0atopB7koxUtw+KaRWBqcxvL6ndT1qADUO?= =?us-ascii?q?wi8eUoOPwCYNgvyg27fAkBefbogiOgQesJpemtsdTzJ2YiQGqaC/VYXZjXOLR3?= =?us-ascii?q?MXLwcU6QRM4AMAmZFqfuD5/oXHUJ9MxyRRo/JuXSvBDoNo+EfjSmGKnVj4T+2s?= =?us-ascii?q?k/az0gJIy/LjycIWWAJlCUdH2eZZiE8oKLBxK6kfuo7KszCIdUPmvGLj0uSmPl?= =?us-ascii?q?xRxdfSd1LmEIrPrXD8XTEE+X0IWY9Pz2nSFJQInApicqkroVRMIIa9d0b/+zwr?= =?us-ascii?q?3Z9pEKWiWsyxwVYqs2oGTT+wE9VdE+FmrE7XWDp9bpGlspnqJ5VSQm5V+J2csV?= =?us-ascii?q?hZk15gMy+nxpVCNc5B+DkMXCJAoT+Fptu9VNVD2dNqD58LOtp/o3D9GKdeN5iL?= =?us-ascii?q?rXw2vbjvynHC9jA5t1e6wy6zFLGkQOJD+G0eAR4pJ2WYqkkgFecs9X3S8l/VuF?= =?us-ascii?q?Bu4+hbHqSPjVl2oDtlBJ9OHCtJ1Xa/I1RwV3RGsuRaKKXJc8NHWfUyYwGgOwAm?= =?us-ascii?q?H/48w0OJ5V10nWv+YyFqqgta/CXdUhIoVSUJh7figicSqse5Nj8GU5hIdykubz?= =?us-ascii?q?/ZKwKHniBapBZfZFtwW58DBtZK5qoW0pZK8craUUajNyUFUwJ4Ng4i1vpfj0FD?= =?us-ascii?q?ul2CeS/BFQqoaerPshpvcMeRq86mMvr58xldio78seA36bsMSGO8lQ2qW9DeoJ?= =?us-ascii?q?f2tseWuUuWaKf4L+q8bGfDTDjLkx+9nqorAIfR/yfNKgpbN4d1xmc+bZjnF2HL?= =?us-ascii?q?IQxMJ7gHKEpDSaB6ddJGr/hBaM9qZKkF5a1gCg+JSx70BIOvq/xGIUrJSjTFMy?= =?us-ascii?q?WN6Oq/rpzP7bbFU+jvetSMx2rbQ6JwJpp68yf0FKrq0YBE5kr7wfNt9kRkSVfY?= =?us-ascii?q?LSyOsNPhKR4V68W4cEvtoIEpFyvMAJhsiHrt2l1Ad80PTi2y65QY1IlW52vsSe?= =?us-ascii?q?9jyUjzt/BS96N45oYp5bBp1d20Kr3WKfhAtk9nGBeUDB1w9poxGGh/W3xRYugJ?= =?us-ascii?q?JffNZ6QWk97hpP3sGqwK7B2V5/ZZZsHZJ0HAncm/Di+TSQBekAcGsz4aIROW1+?= =?us-ascii?q?SZlK9sVcalue/511oo41ekKh4GyK5i5ZuY+qWSvuDadB3RwqYYWqjxWsz8tKws?= =?us-ascii?q?tF2I6f0iirEOZnR/Yxe7H+gFSs4d2mDgwLgozS02CcPDGKng+PpZWHInhT/gno?= =?us-ascii?q?19H1EKGvMVAbWL/J5RnmEjm+DDMd0WaK9CkH6VFRG4Cr8C1WKr6yyPLWlnmB7O?= =?us-ascii?q?1R/wQXm07FDrsyB1WjfMwM3lkkpOUbm7H0FSUDS1OUVgqjOAIBLotMbruaQy9E?= =?us-ascii?q?w2PXHktNOJlGulJrxXGtbyK8GCLiYvpVIYlpsxSsao2YABFtq3OM0R/21mbvvC?= =?us-ascii?q?92OrlDdMo6FDh4fF48GV/PDXEWOhj62cpbWN3ipXymMkvVEl99CvKu3O58CQQ/?= =?us-ascii?q?u2zWoRSD1/uwTZVR6vtrPbt0wUOVCM0ErTnYwKOddZ3WU31k74/+UjRdMz+x9Y?= =?us-ascii?q?Fonee/MDqzfzOCH3wVaEed43UDeR0ydPFFLvDVZ4ALQ82H73vM/RkXfQ4FgoS4?= =?us-ascii?q?lrekzpmxN4EoI4KVg351gP2CoDFgoNZg6HA7G0H0jlKpEEVUcbYxSdwLe6Yrs3?= =?us-ascii?q?3VF0wr634e/TafJzB68KNvlDig6Dh1dbFYwRsa0FWLJzYUNd9K/NqQjmCojnWe?= =?us-ascii?q?TmmmQ0Nf2xQ8Ba/t4Wt30+7QmhXRag74lM76oDgpCSaqFEeYTMvNx770p//j4A?= =?us-ascii?q?bDJNjwJwjxynSuARv/vj7cLFsJWy5eahSr0tS/8R9xcqG2R0l4Hwj0w7odHLy+?= =?us-ascii?q?dcTZXYiYb+8ABIOHOKvZjV0hliJuoUKoKrerlg+28BJycAO3IEJcCWZOUk4y9x?= =?us-ascii?q?LDXT4ERPAsINZNwCJsXChRtZilb3V7FP6MXUBkWUC4Bpd8An92D30iw68YMgUu?= =?us-ascii?q?b87z+7PYvQ71BWP/JNlipsltPCpPQNwfXIFSgX5WKUZARywiyf1ZaCEevw/f+L?= =?us-ascii?q?yNHOTVwKBCk2U51SJDCa4wyoWvK1lIn1UgOT8sLzmIgxdF6MSXyxkqUFtbxMEe?= =?us-ascii?q?1ZhiXgwDdeEoH1h/SIs9uj82ZXrkdIEJpv4h3FFqRfOY97ORfimsmoWEd8HC3/?= =?us-ascii?q?d9/QdhY0v+qW3OgM6f1kN0TifY8bPg4Ey7Xi5HpJVAthVrr2sUyfXe0Pf9ZpVf?= =?us-ascii?q?LErn9U6YJ8MaAPJ0KSpIb3rjtSrlA5HhMpYqcqrjNGbknOgBFVW6Hstb4PkAQc?= =?us-ascii?q?S8B2uVNMGW+rPGI+5ibHWrpVjKaLFfwV6S+fTqoQXEV0Kil+WQ+62I1ye7u1mv?= =?us-ascii?q?BKqmxGkT17oPg21DxmQxywuTbyqKIJ2DIg/qy4tToatHxBUOqeiSfJBk9ZwPQM?= =?us-ascii?q?k6gcF27o6Uagb3kbcIvy/L5nKNzm9Ykg/3s/ZhEjcDcdXei6CiHwiKSIApeUsN?= =?us-ascii?q?9HgR6At8rPYaW0LSgIObQ30QjjSGRl0gjCgBZo93MGQjq8498/P4WxINsryCWu?= =?us-ascii?q?F2jaclYM/6xIvdD+tV4OVuQ2b01uzH9k0sidSS0HXNbPFHotjgg4dWVEd4pO6R?= =?us-ascii?q?0dF6kohDaEpLVJ/gEQYDfJD4uk+4jQncHT2Xk+TNdn3XzWpqybhpww1H1qhtJ0?= =?us-ascii?q?4jSIuHsMa+zSS9VsDWTr1odD1ez+YO2gsuEZSIR8zrSsS/sCMtS+9mu335VqQV?= =?us-ascii?q?WpxrMEH1q2KOUD3KvUUz+5SW2EXuSGa2qMkCg3Mk784RmlNVM2Z91Mr0AjLuvO?= =?us-ascii?q?nJhcmBP9UblsXCWfuUfbzHA/MeMdbw82t4OnewsETeEPY+icIfMjwOY5CFsKbn?= =?us-ascii?q?/GATF6C+movl6xhIJ7IWlv4V3mYeTx9QDrKNmSGhkEEI7CqZ5x/f26Rn6fNnJ7?= =?us-ascii?q?yR1yPVV09/3BGFgrse9caZmRl8DKh9tnye4Fa+ttMSolt94Pm4Jj7JKZ0NuLcR?= =?us-ascii?q?7NzZb9O9XVruKeA/LB00QgYntaXaYBYQPp+4U6OcY0W7jSHbtavhQcArM3QJ47?= =?us-ascii?q?OGfy86F0Kh18cgjLaLSynMbquvqBZoFIqH/O8lIwMCDctgUYxfOqSwx7c4unh2?= =?us-ascii?q?72IJA3WjJBs8NtBQV7E4dVHMMAtQWnCYaOmK6nk9+x5196u+gSvKr+FP/K0NW5?= =?us-ascii?q?351vUJVB5E2LPTPRBKx1jUR/iuS9nO3M0p7rCcPtYdkETvR0QnbZar/aGYWyMj?= =?us-ascii?q?yPOtrme05H77GTzql0UhCQZCDlRaqJqjeoNPJ+4UU00oZ4ZvbczCQx77HH39v/?= =?us-ascii?q?f2ZbpiO9onOSLJtf6EbFBffCXxJVVfWF7HxlErMJYofu8ucBL8AiysCG4wZv9D?= =?us-ascii?q?RCzNeFI6+5o0/I20J7c4/bLUTw1yY9WIkKOwi/MVA3jG/YsHvdB3NcItKjKcl3?= =?us-ascii?q?j9afFgbt6FVpmWExem5BHXLlRcyPNmgf2sK+YhCK9Q1MA9gMg+63eVA3tresRu?= =?us-ascii?q?lwIJpIguaqu6sdkdZvNS7PQNNVPzzfLLNsOTpRFOrPrkAyYhEYq7g1Rps1ZZ+W?= =?us-ascii?q?LUMDMUeA0j/ywBDD0E3tcdyjzryFICAI/XVb17jFyyRDpxGlufaFhc3uSLXZY4?= =?us-ascii?q?vqU/7SMSolUDaaSC8sEUao/1erpf4EvPueIWcCrVEYeCWSCBQcpqp3t9jfEnfT?= =?us-ascii?q?mfF/fJ0NnP2aWTr/SC5/lKUpHStLqEaMQ+YDFQnRcn/hj2pcuBC4Kv9K433lc6?= =?us-ascii?q?WSxrBJVOwOHotMbvqZTsPXef9EPDgojDQZN/i4f9DHsbY51kjHTXAYE6nV7lGe?= =?us-ascii?q?SlCZQuCEzTLxQYoVp5Q0ujYv+t/InC93FqPIP6yFpz6v6Y61lyCYtvfbVmYzYk?= =?us-ascii?q?w5muUCAHOOwBNYMmELF8kVuF3xQq6Hf0tDynApieVu2x8KYwRzVXtu32ZZnPan?= =?us-ascii?q?B81ZV0AbjHm0TP0Acl93ECs6/VWW7Q3qfdwApcfTSndF9rsCTIoSMPgl5YrMNa?= =?us-ascii?q?sO3vkpxjNmoS09syWbFV9diByK87bIFqJm2rJC/XU4/+1xXkyXQTPfdW7Hyo69?= =?us-ascii?q?BsJK2yhhvH7k183Ovu9xKrRWvYd5D0kWAXE+GteI5jxaeX3l0wu1+RCgFXKRJy?= =?us-ascii?q?xdqDANJgQKceF6y+I9uxHNMp7a5EeRsb8xgFe6AgaMTLyv0dpEDd+6+x+/bHxU?= =?us-ascii?q?cDGvFplz7P0LjtEYbLk7fqC/BUzMKk71CQfL6Gg36BH2r+HzXoJxyWIEn/BpcY?= =?us-ascii?q?nk?= X-IPAS-Result: =?us-ascii?q?A2H+AADEmStY/wHyM5BdHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAR+BWLpVBU4piCtTAQEBAQEBAQECAQJfKIIzGoIcAiQTFCAOAwkCFwghC?= =?us-ascii?q?AgDAS0VGAcLBRgEiEuzVD0qAotJASSIQYZvEQGFfQWPXIplkGICihaGCpFRVTc?= =?us-ascii?q?jRoU9UQGFbIItAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 15 Nov 2016 23:30:41 +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 uAFNUUVY018170; Tue, 15 Nov 2016 18:30:32 -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 uAFNUT0U122450 for ; Tue, 15 Nov 2016 18:30:29 -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 uAFNUSNH018164; Tue, 15 Nov 2016 18:30:29 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DlAABjmStY/yNjr8ZdGwEBAQMBAQEJAQEBgzcBAQEBAR+BWLcegzcFWhiGC4IlUwECAQEBAQECYoU3UjCBDxKIbLNUPYtpATCIQYx+BY9cimWQYgKQIJFRVTeGJh00AYgZAQEB X-IPAS-Result: A1DlAABjmStY/yNjr8ZdGwEBAQMBAQEJAQEBgzcBAQEBAR+BWLcegzcFWhiGC4IlUwECAQEBAQECYoU3UjCBDxKIbLNUPYtpATCIQYx+BY9cimWQYgKQIJFRVTeGJh00AYgZAQEB X-IronPort-AV: E=Sophos;i="5.31,496,1473134400"; d="scan'208";a="5826162" 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 18:30:28 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3A/a9RZxJlqHKsfMgHndmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeK/TxwZ3uMQTl6Ol3ixeRBMOAuqkC0rGd6vyocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDSwbalvIBi4ogndq8YbipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2UxLjlj?= =?us-ascii?q?sJOCAl/2HWksxwjbxUoBS9pxxk3oXYZJiZOOdicq/BeN8XQ3dKUMRMWCxbGo6y?= =?us-ascii?q?b5UBAfcPM+hbqIfwvEcCoQekCAWwHu7j1iNEi3nr1qM6yeQhFgTG0RQuHtIPtH?= =?us-ascii?q?TUqNT1O70XUeyv0KbE1y/Db/RN1jjj8ojIbgshrOqNXbJ2bcre100vGxnZgVWX?= =?us-ascii?q?rIzoOS6e2OcVs2WD8uZtUeGih3Q6pwxzojWj3MMhh43Tio8byl3J8zhyzpwvKt?= =?us-ascii?q?2iUkF7ZMapEJtOuCGeMIt7Ws0iQ2RzuCY/xb0Jo4K3cDQUxJg+xh7Qd+CIf5KG?= =?us-ascii?q?4hLmTuqRIDF4hG57d7K7nRq97U+gyujkWsm11lZFsDZFn8HRun0J1BHf8NWLR/?= =?us-ascii?q?l980u73TuC0xrf5+9ELEwskKrUMZ8hwro+lpoJtkTDGzf7mUv3jK+SckUk+/Kn?= =?us-ascii?q?6+H9brr6vJOcLYh0hRrgPaQ0hsy/Gv81MgkIX2iH5+u80Kfv8lH+QLVPlvE2iL?= =?us-ascii?q?XWsIjGJcQHoa60GxRV3Zs46xukEzen0MgXnXkALF5ffhKHlJLmN0vBIPD/E/e1?= =?us-ascii?q?m06snytzx/DaIr3hBY3ALmPdn7flfLZ97VNcyQUowNBD55NbFrEBIPXpVk/3r9?= =?us-ascii?q?zXFAU1MwOzw+b5W51B0dYFVXmnHr6SMKSUt0SBoO0oPa3EYokWkDn6LPch6rjl?= =?us-ascii?q?inp90UQQeaivwIs/dGGzHvMgJV6QJ3XrnIQvC2AP6xU/SOjrgVjEWnhJYHy/Rb?= =?us-ascii?q?4nzjA9FI+iS4zEQ9P+yIed1Tu2S8UFLltNDUqBRDKxL92J?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0H+AADZmStY/yNjr8ZdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwwBAQEBAR+BWLcegzcFWhiGC4IlUwEBAQEBAQEBAgECXyiCMxo?= =?us-ascii?q?BgkFSMIEPEohss1Q9i2kBCyWIQYx+BY9cimWQYgKQIJFRVTeGJh00AYgZAQEB?= X-IPAS-Result: =?us-ascii?q?A0H+AADZmStY/yNjr8ZdHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAR+BWLcegzcFWhiGC4IlUwEBAQEBAQEBAgECXyiCMxoBgkFSMIEPEohss?= =?us-ascii?q?1Q9i2kBCyWIQYx+BY9cimWQYgKQIJFRVTeGJh00AYgZAQEB?= X-IronPort-AV: E=Sophos;i="5.31,496,1473120000"; d="scan'208";a="796079" Received: from fmsmga002-icc.fm.intel.com ([198.175.99.35]) by emsm-gh1-uea11.nsa.gov with ESMTP; 15 Nov 2016 23:30:26 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga002-icc.fm.intel.com with ESMTP; 15 Nov 2016 15:30:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos; i="5.31,496,1473145200"; d="scan'208"; a="1059927025" Received: from clpowell-mobl3.amr.corp.intel.com (HELO wcrobert-MOBL1.amr.corp.intel.com) ([10.254.74.236]) by orsmga001.jf.intel.com with ESMTP; 15 Nov 2016 15:30:26 -0800 From: william.c.roberts@intel.com To: sds@tycho.nsa.gov, nnk@google.com, selinux@tycho.nsa.gov Subject: [PATCH take2 v5] libsepol: fix checkpolicy dontaudit compiler bug Date: Tue, 15 Nov 2016 15:30:22 -0800 Message-Id: <1479252622-20935-1-git-send-email-william.c.roberts@intel.com> X-Mailer: git-send-email 2.7.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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: William Roberts 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 reimplementation of: commit 6201bb5e258e2b5bcc04d502d6fbc05c69d21d71 ("libsepol: fix checkpolicy dontaudit compiler bug") that avoids the cumbersome pointer assignments on alloced. Reported-by: Nick Kralevich Signed-off-by: William Roberts --- libsepol/src/expand.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libsepol/src/expand.c b/libsepol/src/expand.c index 004a029..17d2a2a 100644 --- a/libsepol/src/expand.c +++ b/libsepol/src/expand.c @@ -1640,6 +1640,12 @@ static avtab_ptr_t find_avtab_node(sepol_handle_t * handle, if (!node) { memset(&avdatum, 0, sizeof avdatum); + /* + * AUDITDENY and DONTAUDIT are &= assigned, versus |= for + * others. Initialize the data accordingly. + */ + avdatum.data = (key->specified & + (AVRULE_AUDITDENY | AVRULE_DONTAUDIT)) ? ~0 : 0; /* this is used to get the node - insertion is actually unique */ node = avtab_insert_nonunique(avtab, key, &avdatum); if (!node) { @@ -1850,10 +1856,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) {