From patchwork Fri Mar 16 03:16:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tri Vo X-Patchwork-Id: 10286251 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 7AC0160386 for ; Fri, 16 Mar 2018 03:17:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 54D9A28CC0 for ; Fri, 16 Mar 2018 03:17:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 48ABF28CC6; Fri, 16 Mar 2018 03:17:27 +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 uhil19pa09.eemsg.mail.mil (uhil19pa09.eemsg.mail.mil [214.24.21.82]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4AB2128CC0 for ; Fri, 16 Mar 2018 03:17:25 +0000 (UTC) Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by uhil19pa09.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 16 Mar 2018 03:17:24 +0000 X-IronPort-AV: E=Sophos;i="5.48,313,1517875200"; d="scan'208";a="9785323" IronPort-PHdr: =?us-ascii?q?9a23=3A+oqtuhMsGwk+ARA3He0l6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0L/r9pMbcNUDSrc9gkEXOFd2Cra4c16yO7eu+BCQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9HiTahbr5+Ngm6oATeusQXgYZpN7o8xAbOrnZUYe?= =?us-ascii?q?pd2HlmJUiUnxby58ew+IBs/iFNsP8/9MBOTLv3cb0gQbNXEDopPWY15Nb2tRbY?= =?us-ascii?q?VguA+mEcUmQNnRVWBQXO8Qz3UY3wsiv+sep9xTWaMMjrRr06RTiu86FmQwLmhy?= =?us-ascii?q?cdMz4y7X/ZhMp+gqlGpB6tvgFzz5LRbIyTKfFwfL7SfckCSGRBQMhfWS9PDISh?= =?us-ascii?q?YYsXDecNIOhVoJfmp1YVsReyGROhCP/1xzNUmnP727Ax3eQ7EQHB2QwtB8wAsG?= =?us-ascii?q?7VrN7oO6gSVv2+wa7UzTXZaPNW3zj95ZPSfRAnvP6MR7VwccvMxkU1CwzFiVCQ?= =?us-ascii?q?pJXjMjiI1eoNq3CW4/dvWO+gkWIqqxx9riKxysojlIXFnJ8Zxkja+Sh43oo5Od?= =?us-ascii?q?i1RFJ+bNK5DJdcqz2WOo5rTs4jX21kpSM3xaEJtJO1cigHzZcqyALCZ/OcdoWI?= =?us-ascii?q?7BPuW/ifITp9in9qZa6wiAi0/EO90OPzTNO030xPriddl9nMsW0C2ALL58icT/?= =?us-ascii?q?t94l+h2TGS1wDP8u1EIV47la7cK5M53r4/jIATsUXeHi/tgkn2kK+XeVkk+uiv?= =?us-ascii?q?8ejnZKnppoSAOINujwH+M6AultS+AeQ+LAcOQ3CW9fmz2bDs50H0QKhGguconq?= =?us-ascii?q?TWrpzWP9kXqra8AwBP04Yj7xi/Dy2h0NQdhXQHN0xKeBaGj4jvJlHPL+n0Auy4?= =?us-ascii?q?g1Sxljdk2+7JPqb6D5XRLnnMjLfhfbFn505a0wo818pT551TCrEfOP7zQFP+tM?= =?us-ascii?q?TEDh8lNAy52+TnCNJ71owERWKPArWWMKXJvF+K4eIvJeyMa5UOuDbhNfcl/eXu?= =?us-ascii?q?gWU+mV8HcqmjxYEXZ2ygHvR6P0WZZmLhgtUDEWgQogU+T/fqiFqEUT5SeXa/RK?= =?us-ascii?q?w85jUmCIOpFojDW4atgKCc3CuhGZ1WfG9GAEiWEXj0b4WER+sMaCWKL85vkzwE?= =?us-ascii?q?Ub2hRJE71Ry1ug/11adoLu3O+iICrZLjzt915+/Nmh4u6Tx4FcOd03uCT2tshG?= =?us-ascii?q?MHWyc23LxjoUx60lqMzLR3g/lfFdxV+/NFTxw3NYDCwOxgCtDzWwXBftGTRFag?= =?us-ascii?q?XNqmHSk7TsgtzN8Wf0Z9B9Kigwje0Cq2GbAVjaeGC4Az8qLZw3f+Pd19y2rc2K?= =?us-ascii?q?knkVYmXtNFNXe6ia5n6wjTG4nJnl2HmKayb6scxi/N9HyYwGqWpk5YSg9wUb7d?= =?us-ascii?q?XXAbfETZscr26lnFT7+0BrQtKhFBxtKaKqtWdt3pik1LRffiOdTZZWK8gGKwBR?= =?us-ascii?q?KRyrONaormYWMd0z/HCEgHkgAT42iJORI4Bii/v2LUFCZuGk73Y0Pw7el+r2u2?= =?us-ascii?q?TkEuzw6QaU1uy7u1+gUOiPyZU/MT36sIuDwvqjVvBlq92MjWC9WYrQp7YKpcec?= =?us-ascii?q?894EtA1W/BtAxyJJ+gL6d/hlMFcAR4pUDu1xJqColalsgqtnwqxhJoKa2EyFNB?= =?us-ascii?q?ay+Y3ZfoN7LNN2by5hGvZLDM2lzFytmZ5qIP5O4/q1X5swGjDlAi/Gl/09lJz3?= =?us-ascii?q?uc4Y3HDBAPXp3sSUs3+B16pr7Abik7+YzUyWVmMbOovT/ax9IpGOwlxw67f9dR?= =?us-ascii?q?KqOEExTyE9EBCsi1LuwqnFaobhceM+BU7qI0Od2pd+ee0q6xIOlghC6mjXhA4I?= =?us-ascii?q?1l3EOD7S58SvLW0JYf2PGVxRWHWCnmjFi6r8D3nJpIZTYIHmqw0SLkHpJeZrVu?= =?us-ascii?q?fYYXDmejO8u3xtR6h57pRXFY70WuCEkY18+zfhqedVv93Rdf1U4Pu3yohTO4zy?= =?us-ascii?q?BokzEutqefwi3OzPj+dBoAIG5HXnVtjVfrIYiygNAXR0yobwkvlBS//0b6wLJX?= =?us-ascii?q?pKNlL2ncWU1IZTT5L3l+UqussbqPe8pP6JIzsSVLSei8ek6VSrr8oxscziPiEH?= =?us-ascii?q?BTxCsjdzGrvJX5ngB1iHmHIHZ1snXZZdl6xQ3D69zEWf5Rwj0GSTFiiTnQAli8?= =?us-ascii?q?O8em/c+ImJfEvOGzTHmhVoBPfinw14+AszG75WJyCx2lg/+zgsHnERQ90SLj1N?= =?us-ascii?q?llSyPIrA3nb4noyau6N/lnfk92C1/g8cZ6HZt+koQojpEKxXcanomV/WYAkWrr?= =?us-ascii?q?KdVUw7/+bH4TSj4T2dHV5hTl11N5Ln+S2oL5TWuSwtF6Z9WgeWMW3T8979pWB6?= =?us-ascii?q?iK4rxEmjF1olWmog7LZ/hygCsdw+M06HEGm+EJpBYtziKFD7AMG0lXIDfhlwqO?= =?us-ascii?q?79+jrKVbfmCvfqas1EBmh9CuEKmCoh1AWHb+YpoiBTV/7th7MF/XzHLz653ked?= =?us-ascii?q?nJYdIdrBKUlQ3Mj+9PKJI+jvAKnzZoOXrhvX05zO42lRJu0ou8vIibLGVt+bm0?= =?us-ascii?q?AhBGOTLoYMMT4Cvijb5EnsaR3YCgAIluGikRUJvvV/KoHyoYte77OAaWDD08tn?= =?us-ascii?q?CbFKLaHQCF7Edmq2zAE4y3N36NPnYU1tNiSweBJExEnA8bRi06kYAjGgCs2sPh?= =?us-ascii?q?bF9z5ioN6V7gthtM1uVoOgHxUmfFugindyw0R4KZLBpK6QFC/FzYPtaC4eJ2BS?= =?us-ascii?q?1Y+YehrAOVIGyBewtIFX0JWlCDB137OLmu/8PP8/CABuelIfvOYK+OqfdCV/eG?= =?us-ascii?q?xJKv1JFp/zCQOcWOJHZiC+c32k1ZXXB2A87ZgSkASzQLlyLRaM6WvA+89TNsoc?= =?us-ascii?q?+h9vTrWR7v5YyUBrtTL9pg5Q65jb2EN+6KiyZzMSxY2Y8UxX/U1Lgf20YfhDp1?= =?us-ascii?q?eDWqFbQAtDXNTL7LmqNNFB4UdT98ONFT760i2glNOMjbis7617NjkvE0C01FVU?= =?us-ascii?q?H6ms2za80FOX29NEjABEaNLriGIifLw87va6OmVbJQlPlUtwG3uTuDCEDjPzuD?= =?us-ascii?q?lz7vVx20LO5DkjqUPB1Et4G7aBptDnLjTN3+YB2hLNB3lSE2waEzhn7SL2EcPi?= =?us-ascii?q?Jzc11TobCL6iNYmutwG2pE7nV/LOmEnz2W7+7XK5oMtvtrGCt0nfpA4Hsm07tV?= =?us-ascii?q?8D1ERPttlSvOqd5upkuqkvOIyjtmThVOrC1EhJiMvUp8OqXU7YVPWXHB/B0R92?= =?us-ascii?q?qQEAgKq8FjCtLxp6Ba0sLPm77rKDde79LU+tMRB8rUKMOHKHohNh7pGD/IDAQb?= =?us-ascii?q?VjOrMGDfh1BHkP6M7HGVqYI6qpf0kpoUVrBbTEA1Fu8dCkl9H9wDIJN3US0/nL?= =?us-ascii?q?6ei84I63S+owfNRMVGvpDHUfeSDuv1JDafk7ZEewMCwankIoQLKo37x0tiZ0F8?= =?us-ascii?q?nIvUAUXQWctAoi5mbg8vvEVC6n5+TnYw20LkcA+t5mEcFeKslB4slgR+efgt9C?= =?us-ascii?q?vr41ovPFrFujAwn1crltX/nT+RcCX8I7yxXYFMFiX0sEYxMovhQwlrbQy+h0pk?= =?us-ascii?q?OynYR7hJlbtvaXhriBPAuZtIAfNTUKpEYBkWxf6Kefoo1VVcpz69ykBZ/+vFDo?= =?us-ascii?q?FulAwwcZ6jt3hAwR5sbMYpJazMI6pE1kVfibiQvi+py+8x2xQTKFwX8GOIfy4J?= =?us-ascii?q?tlcIOac6KCq15Oxs6BCCmjtZdGgKSfUqvupg9lkhNOSY0yLgz7lDJ1i1N+yYNa?= =?us-ascii?q?OWpW7AlM+PQl4r2UMIkVRF8aJx0cc5fEqeT1ovw6eJFxQVKcrCLhlYb9FM+3jX?= =?us-ascii?q?fCaOt/jNwJ1uMoqhEeDoSPOBu7wPgkK4BgopGZoD7tgZFJm2zE7YNdvnLKICyR?= =?us-ascii?q?g1+ATrJVCFDPNVeBKLkDYKuNywzJ533IZHPT4RG2N9Pjur5rzPvA8lnOKDXMsq?= =?us-ascii?q?YncdRoYLLHY2WMymlCFHp3tACTm20uQeyAiE9TDxvT/fDDjmYNplffuUaw5sBM?= =?us-ascii?q?uw+Toh76i8kUTX/YnGJ2HmKdRivcfC5vgEqJaBEP5bV6Rys1nClIlCXHylSXTP?= =?us-ascii?q?EN6vK5j3cYksYsT+CmymXVynlzI1U8DxMc6iLqiVgAHoQYJUv5ee3D04KMCyCC?= =?us-ascii?q?oRGxZqqOEF/q58YhcDY5Ujax7yqws+L7C/IBuf0ti2WWatLzpWQOVfzeW9Y7xX?= =?us-ascii?q?1DIiYPanxnU6Upw0yPK6/lIKRJEPkh7R3+2jZ5VEXSj1BHNdZx3FpTAlmGh5Ku?= =?us-ascii?q?Yy3uA/zQvSsVYGKTCLc/dmZXdYv9EmH1ySP2t5Cm45R1+agorD5g+s378S/ytB?= =?us-ascii?q?kdZby/dFsH3ksp/Zfj2sRLShqY/JvCo4cdgmv6pxPJTtI8ecqJzenj3fTJzRsg?= =?us-ascii?q?KfUy63DPtalcZOLy1GWvVInnslOcMes4pb9UUxTts+J6BICKQ0o7ClcyBkDS0M?= =?us-ascii?q?wi8FVoOA2jMCj/yy2rTAkBefbJAiMBsZsJpfmdsRSSh2bT0CpKW7TYXZi3eESn?= =?us-ascii?q?QXIAcU9QlD/hgAlpJ2fuz/44rFV55Myz9Xo/JoSSTHDJ9o+EXnSmuOm1j3VO2h?= =?us-ascii?q?k/C13QJV1P/s098bWAJhBkhZ2elWk1UnKK1tK6gQpYPKtSeIel38vGLo0uSmJV?= =?us-ascii?q?1RxtbTd1z3FobFsnD8UiIE830OWYBP0G3fFYgVkwdhdKYro1BMLZu6ekri4jwr?= =?us-ascii?q?3J5lH7+mWsC331wlt2oJRz+2E9pdDOFrqFLXVyd/Y5+xrJXqJo5fTXJO952Fs1?= =?us-ascii?q?dWjkFtPDCjyZZGLMFN+DEMViBVoTqBpNuyVNFD2chuAp8OJddwpWzwF75aN5iK?= =?us-ascii?q?vXI2oKDvxWHE9Dwmtle12imzEbeiT+1F520eBhkpJ2OGp0kzEuQj72bS/UrJsl?= =?us-ascii?q?1v4+hbAb2PgllrrzZmApBCHDBJ2m65L15rVnlJr/1aKLjJc8xbW/Q9fhGvNAAi?= =?us-ascii?q?GfMkwkCE81p5kmv+Yyx3qgRV4TvdXxUuWSkTnLjthSUUqtu7Nj8CV5JIcTIhYj?= =?us-ascii?q?/fKw2FhC9XvAxQa11xVpAdBdZF5a8U0ZVI8crFVEmjNzsJXBp8OQIkyfBfj1JM?= =?us-ascii?q?sF2EeSDBCgqlbe7PsgZrfciLscGpMO/0/BxAioP6quA367sMR3u6mQ23W9/eq5?= =?us-ascii?q?XwttqQtkuBbK34KfGzYWfdTDjQihC9naskD4PU8CfNLQVWMIR6yX44YZj7E2HL?= =?us-ascii?q?IxVGJ6UfJ0VFSaB2c9JGovpVZ8V8YqYG5bdtBg6bRhPoAIGvruNJLkzURTTFKy?= =?us-ascii?q?WO6PK/rJnW7bzATejges2MyGrGQ61tOJd68iP3G7Dw0Y9R4kD2wOti9ltmSVja?= =?us-ascii?q?NCCMtNbhKRkN5MmsbEviuYAmEi3NDZdsinXtwFpAd80NTy2s7psY1ItT6GzsRu?= =?us-ascii?q?JgzkjzrOpS+qFi6Ykz+L1pyMG0JaLIJfRbt09nDAKUCR9x9pUxGmh/WnxeYvMM?= =?us-ascii?q?KPfLY6sVl8fuq/r4F6YP8h2a5/RZacfbJ0HGgsS/DDCcRgBDnAcFszEaNRGQ1/?= =?us-ascii?q?+Cm69zUsalvvP02kci7lmxNBIGy6pt5Yic8KqSuODXdwfRzaQDWqXyWsz8tLAs?= =?us-ascii?q?tF2J5f04lL8OfXd4Yxa7H+gcSMEdwHvgzaEwwi42FcPMAa7g8uZZV30lhjLgh4?= =?us-ascii?q?x9H1IOF/MQBrqL+IRTk3w2m+PHK9IWdbpClXyXFR6+Fb8Cy2Ck5DeLIGV/hRHO?= =?us-ascii?q?yR7wS3up7FDqtS94XTfMz9D7n0pXV7m3AFxfXy+3Nk54rjyPJgvotNz4uagv6k?= =?us-ascii?q?E5LHDkvsqXlGS9ILNXA9H/JNuELCk1pVMYloc+ScC01IAAB9W9PMke/21kYvvZ?= =?us-ascii?q?8WOrnDdLo71biIrG/sGV5vLXEGG7gK2bsLWMyipXyno5vVEj8tCvLOzO59mRTv?= =?us-ascii?q?u00GYeUjlwtBHcXx6vrbzbtUobNVaM0EfRl4wAJstZ0mUg1kH6+OgjR8o+9B1E?= =?us-ascii?q?GYbce/wCpT7yODzuwVacet43TTeR0z9WHlLzDFl5F7Mx2Hrqs8LViXjQ+1MpRo?= =?us-ascii?q?5qd0zknxB3DJs3KVgr6FcJxioPCw8NaQqUDLuwH0TqMZMEVVQfaRSAxLW6db04?= =?us-ascii?q?3VdtzbOz5O/eduh8B6sRNvlDjg6BhkVbGokMva0YXr18Z0dX9LTLqQj6F4jnQ/?= =?us-ascii?q?/mmGI/NfKrRMBa7ccZt3wl7gakWRWg7ZZD77AGiJGHbaNEZYbDvNp87kh9/zIP?= =?us-ascii?q?cDJCgARnhROjTe8cvPzj4sTcsJew9umuVrwiSPkM+hcoAGR+i5/wgFE9rtHNy+?= =?us-ascii?q?dTVJHaiYTl/ABKOX6Kt57Q0wNgJuoWN4KrYLFg+m0CJygZIXIOIdWWZOcn7i9o?= =?us-ascii?q?MTXc/VpCDd0QZdIWO8rNgwNUilbzVLFV6MXbBkeSC51veMAw82r31Dc1/IMzUu?= =?us-ascii?q?n88z+2PonT4UxCMf1FjSVsks/CpecOzPrdDSgY+3+ZZAZvziOF0ZmNBO76/f+Q?= =?us-ascii?q?x9HMS1MGAik2Xp9fJDqF+QynQPC5m4npUgOQ98/8nZM/dEOWRnyqn6QFs71BEf?= =?us-ascii?q?BBiiXlxDdeEp36h/OPv9qq9mRXqkVNEJxv4h3dBKVfIpJ7NAz5lsm1XEd8ADDy?= =?us-ascii?q?eMXJdhUzueqWwfwM7/95N0vkao8ROggExK7i6XpJUgtuT6b7vlSHUuIfattmTO?= =?us-ascii?q?jJr35P5oJmNaAPIEKRpJr0oTdUsFo2GhMmaKcsrjxGcUnDhAJVW6LzuL8OlAQc?= =?us-ascii?q?Vdp5tFRXGWK3PmI+5ibIWb5TjKaPFPwf6i+TQbAWU0V0LiN+RAu42Ilve7ushv?= =?us-ascii?q?1HrmJGkT9+oPc01zxqXh28tjPwp6gVwzIv5Km4tCkduXxCVuielibICVZAzPQN?= =?us-ascii?q?lqocCWzt6V+7YHkFcoTy5qNrJcL++ok9+34/ewksfzUaXeS8DCH9l7iHDZKJsN?= =?us-ascii?q?JAnxONo8HObbivLSgOKLQy1w/sS2J60gjEkxZi6HELTSm47N84OIW9Pt4oxjKv?= =?us-ascii?q?GWjfblkM+K1IsMz1tV4FV+Y2bFRhwGJ40seZWiINXsvPG30ujgglb2VEf4hP6R?= =?us-ascii?q?gAF6knmjyIpLVJ/hkIYDfIFYSo4ofQktnM2Xk8Vddl2Hnbp6yEhpMv1X1qhcl0?= =?us-ascii?q?7iqQt3gIcOzYScBsCGDp1ohD0ez+e+mtsucfRYpo0LShSv4CPdW99mat3ZVqW1?= =?us-ascii?q?Olxq4AEFajN+8D3LjbWT+/SWKEQeSLb3SMnzEhP0714RmnMEY6aN9Or0AnKevC?= =?us-ascii?q?mp9cmBH9UbNuWCqfu0XXzGo9PuMGbwg2opuoexQWTO4NYOiRPewuwPw4CFsRYH?= =?us-ascii?q?7FBC92C+6tsV6xh4h2IHRg7l/8YeTq6AzmN8GSGhYcG47AspFx4eC6Rn6GOXJ4?= =?us-ascii?q?yR19JlV79+feF1Q3se9RaIiRndnWh9tl1e4FdvFtMTAyu9IJnYJj84aU2t+QcR?= =?us-ascii?q?7N1pbyOc3Vov+ADv3d1UsqeWZaXaECbAPo4YU6It45W7rOHbtWvRQcGbI2QJo/?= =?us-ascii?q?OGft7Kt0Nh98chbNZLSohcnnvuCLZp5Tp3/M9FIwLTzctgYFyvOuSAx0cZGqi2?= =?us-ascii?q?/1IJAqSTJLt8dtBQd+HItTB8MAqBKqA4WamKG+l9C8+kB3tvQUsaXuEPDK1dW4?= =?us-ascii?q?34J3X5RA40yEIirRV+FXhRF+g+CzhOrQ+oXgAsPlP9UfXa50RXCWRKXBG9CDMD?= =?us-ascii?q?PGBMW0L1Jc9LiT+Lt/Xg+WZSy/VK2D4n73fM546Fk2n9QrNNHYyyYguvSCgNY?= =?us-ascii?q?=3D?= X-IPAS-Result: =?us-ascii?q?A2DHGADsNqta/wHyM5BeHAEBAQQBAQoBAYJ8JyoDgVUojly?= =?us-ascii?q?NBUMBAQEBAQUBgTABgRqTe4ILERiILiE2FgECAQEBAQEBAgFqKII4JIJRAiQZA?= =?us-ascii?q?QE3AQIDCQJICAMBMAEFATUFgzyBSg0BAqMVQIslglo6gwEBAQWBZoN6ggIIEoU?= =?us-ascii?q?cgSNxgQyCHI4PhzuEa3CLDQmPG4gWhSKQAwIEAgQFAgUPIYEJJQEwgVJwFYJ9g?= =?us-ascii?q?iQPHI4+VJATAQEB?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 16 Mar 2018 03:17:23 +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 w2G3Gtor009175; Thu, 15 Mar 2018 23:17:03 -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 w2G3Gn9h170209 for ; Thu, 15 Mar 2018 23:16:49 -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 w2G3Gqjr009173 for ; Thu, 15 Mar 2018 23:16:52 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1BjAQDBNqtalywWGNZeHAEBAQQBAQoBA?= =?us-ascii?q?YJ8JyqBWCibYUgGgkuWDQqFEIM2ITcVAQIBAQEBAQECEwEBAQEBBhgGhioZAQE?= =?us-ascii?q?3AYEUAQUBNYNBgUoNAQKjE0CLJYJaOoMBAQEFhWCCAggShRyBI3GBDIIcjg+HO?= =?us-ascii?q?4RrcIsNCY8biBaFIpADAgQCBAUCBQ8hgQk0gXRwFYJ9giQPEAyOPlSQEwEBAQ?= X-IPAS-Result: =?us-ascii?q?A1BjAQDBNqtalywWGNZeHAEBAQQBAQoBAYJ8JyqBWCibYUg?= =?us-ascii?q?GgkuWDQqFEIM2ITcVAQIBAQEBAQECEwEBAQEBBhgGhioZAQE3AYEUAQUBNYNBg?= =?us-ascii?q?UoNAQKjE0CLJYJaOoMBAQEFhWCCAggShRyBI3GBDIIcjg+HO4RrcIsNCY8biBa?= =?us-ascii?q?FIpADAgQCBAUCBQ8hgQk0gXRwFYJ9giQPEAyOPlSQEwEBAQ?= X-IronPort-AV: E=Sophos;i="5.48,313,1517893200"; d="scan'208";a="226976" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 15 Mar 2018 23:16:26 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3ASpHYGhPVXmc0DdVDVmsl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0Lf7zrarrMEGX3/hxlliBBdydt6ofzbKO+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZLebxlGiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPde?= =?us-ascii?q?RWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbY?= =?us-ascii?q?UwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhS?= =?us-ascii?q?kaNzA37m/ZhM93gq9AvB6tuwZyz5LObY2JKPZzeL7Wc9MARWpGW8ZcTzJPApm9?= =?us-ascii?q?b4ASAOUBOvtToo7hp1sUqhu+AwasCfj1xT9Om3D2x6o60+U8Hg3cwAMgGNcOvW?= =?us-ascii?q?3Sod7oN6kSSfi4wLfVwTjMdf9axzjw5JLWfhw/u/2BUr19fdLPxUQuCQ/JklCd?= =?us-ascii?q?pZDgMj+IyugBr3SX4u99We+ul2IrtgR8rSSgy8oihInEg4EYxUzZ+SpixYs1K9?= =?us-ascii?q?y1R1B1YdOhHpZfqj2VOJVwT8g/WW9nojw6xacDuZOjfCgF1pAnxxnHZvOJboaF?= =?us-ascii?q?/gztWeiPLDlimH9pZLOyiwys/ke+z+38Tca03ExPriVfk9nMsmoB1xnS6siDUv?= =?us-ascii?q?d9/0Gh1iiT1w3L9O1IPE85mbDFJ5Mu2LI8iIQfvV7MEyL5gEn2ibWZdkQg+uim?= =?us-ascii?q?8eTnZbDmq4eAN49ujQH+NKsul9elDuQ+LwcORW+b+eWh27H54UL5R7BKguUskq?= =?us-ascii?q?bFqJDaOdgbpqmhDg9OzIkj7xe/DzG70NUXhnQHMFJEdw6Hj4juIV3OJuv4Au2l?= =?us-ascii?q?j1Sjlzdr2aOOArq0GZjJL37egJ/9bL197Aha0wN1wtdBtLxODbRUHOjyEnH2/I?= =?us-ascii?q?jEFBg/PCS9xer9D9RxkIgZXDTcUeeiLKrOvArQtaoUKO6WadpNtQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BkAQCUNatalywWGNZeHAEBAQQBAQoBA?= =?us-ascii?q?YJ8JyqBWCibYUgGgkuWDQqFEIM2ITcVAQIBAQEBAQECARIBAQEBAQYYBleCOCK?= =?us-ascii?q?CeRkBATcBgRQBBQE1g0GBSg0BAqMeQIslglo6gwEBAQWFX4ICCBKFHIEjcYEMg?= =?us-ascii?q?hyOD4c7hGtwiw0JjxuIFoUikAMCBAIEBQIFDyGBCTSBdHAVgn2CJA8QDI4+VJA?= =?us-ascii?q?TAQEB?= X-IPAS-Result: =?us-ascii?q?A0BkAQCUNatalywWGNZeHAEBAQQBAQoBAYJ8JyqBWCibYUg?= =?us-ascii?q?GgkuWDQqFEIM2ITcVAQIBAQEBAQECARIBAQEBAQYYBleCOCKCeRkBATcBgRQBB?= =?us-ascii?q?QE1g0GBSg0BAqMeQIslglo6gwEBAQWFX4ICCBKFHIEjcYEMghyOD4c7hGtwiw0?= =?us-ascii?q?JjxuIFoUikAMCBAIEBQIFDyGBCTSBdHAVgn2CJA8QDI4+VJATAQEB?= X-IronPort-AV: E=Sophos;i="5.48,313,1517875200"; d="scan'208";a="10667910" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from usat3cpa06.eemsg.mail.mil ([214.24.22.44]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 16 Mar 2018 03:16:26 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;48dc24c4-5036-48ec-a4fe-846f0257b976 Authentication-Results: USAT3CPA13.eemsg.mail.mil; dkim=pass (signature verified) header.i=@android.com X-EEMSG-check-008: 8788124|USAT3CPA13_EEMSG_MP28.csd.disa.mil X-EEMSG-SBRS: 1.6 X-EEMSG-ORIG-IP: 209.85.160.65 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BxAgCnM6tadEGgVdFeHAEBAQQBAQoBAYJ8J4Iqm2FEAQEBAQaCS5N7ghIKE4R9gzYhNhYBAgEBAQEBAQITAQoLDAcmMYVTGQEBNwGBFAEFATWDQYFKDQGjHECLJYJaOoMBAQEFhV6CAggJAQiFHIEjcYEMghyOD4c7hGtwiw0JjxuIFoUikAMCBAIEBQIFDyGBCSUNgXZwFYJ9giQPHI4+VJATAQEB X-IPAS-Result: A0BxAgCnM6tadEGgVdFeHAEBAQQBAQoBAYJ8J4Iqm2FEAQEBAQaCS5N7ghIKE4R9gzYhNhYBAgEBAQEBAQITAQoLDAcmMYVTGQEBNwGBFAEFATWDQYFKDQGjHECLJYJaOoMBAQEFhV6CAggJAQiFHIEjcYEMghyOD4c7hGtwiw0JjxuIFoUikAMCBAIEBQIFDyGBCSUNgXZwFYJ9giQPHI4+VJATAQEB Received: from mail-pl0-f65.google.com ([209.85.160.65]) by USAT3CPA13.eemsg.mail.mil with ESMTP; 16 Mar 2018 03:16:24 +0000 Received: by mail-pl0-f65.google.com with SMTP id f5-v6so5086774plj.13 for ; Thu, 15 Mar 2018 20:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=SG1Q95tgRs4y3qzcqmUoh82dxSs2SvXSY9mYwNKvGaU=; b=Dwnzdo4QycVqhs/lKAOjITk1yQDnXmSTbKuakNCacAixAnbb/eLTTeVZoLmJPbeoPN 2Bu/5HX5WFXdh4hxElG/ufrGRv4rR3M21y+muvtWuJldewUo12sbtnSiOVajZuF81UkF 6hjiRltdi2PUM9fshQU2lnQ4jiYXdEKkCLr6zH2bYMUrT7Zakc1h/M/izHMotYYu0iWe ZXEzy7eu/fMTJIvuwP5fqBbbKaRHcTauZC8rK9OEzzJZx+vgTa4WEa4KLKxw1iATppvs bidjCNXR7IFX4jKtWvQ1XhbY3Z3RuoM69nXdTZ/j3eDebpVDyKyk1sYvU3MT5yBPOHLZ p4XA== 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; bh=SG1Q95tgRs4y3qzcqmUoh82dxSs2SvXSY9mYwNKvGaU=; b=pt1L3i7yPUiPu0FVtF41MMPB0v/mcOjk2qaPn8U2aYbCg245ci//MmmYkkplAwaYxs /4OOmxyFw1TDXf2zGHuNQSgSkxrGS320MZKiTzHmOd/eT7K9H17at9qBP4zo8msTfsZx FnX41QCHj4RWhETWdTrKz9X3yJ+KG0ps0pfZPhHEaXv/gdT+UsX308eM/wzPAZSisOkl GY8yQ3/I3aI8zC7iNFrnOTzckS9sBgMLveUuVvy9rsAXTaCyFoKUptyKI6TGlcz7i4Ks 3o8KPkRZWRGvLS4NS/7+FjTXLtXORbQkWTVTErPgHHZsPXQJ2QraX4mra6XDzCDzdKNK ylyw== X-Gm-Message-State: AElRT7E/bNE+ODMd6Am0xXFoRg2cvZPGSCJ3oL+fmVNNvr4kyQH7xU+Z QKMuQNi/ArP3/NPhTLYJGpha5RCycVk= X-Google-Smtp-Source: AG47ELsGAlpi2V1/ZLbhh6f28DYmQkIXB6cW1hJHWAVlYXiZrIUFpTC53VOE1jnSCWwbpAJfhOZBsQ== X-Received: by 2002:a17:902:309:: with SMTP id 9-v6mr308357pld.63.1521170184231; Thu, 15 Mar 2018 20:16:24 -0700 (PDT) Received: from trong0.mtv.corp.google.com ([2620:0:1000:1601:c43f:8c1b:f6ef:3dce]) by smtp.gmail.com with ESMTPSA id j185sm11120500pgc.79.2018.03.15.20.16.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Mar 2018 20:16:23 -0700 (PDT) X-EEMSG-check-009: 444-444 From: Tri Vo To: selinux@tycho.nsa.gov Date: Thu, 15 Mar 2018 20:16:01 -0700 Message-Id: <20180316031601.128736-1-trong@android.com> X-Mailer: git-send-email 2.16.2.804.g6dcf76e118-goog Subject: [PATCH v2] Resolve conflicts in expandattribute. 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: dcashman@google.com Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP This commit resolves conflicts in values of expandattribute statements in policy language and expandtypeattribute in CIL. For example, these statements resolve to false in policy language: expandattribute hal_audio true; expandattribute hal_audio false; Similarly, in CIL these also resolve to false. (expandtypeattribute (hal_audio) true) (expandtypeattribute (hal_audio) false) Motivation When Android combines multiple .cil files from system.img and vendor.img it's possible to have conflicting expandattribute statements. This change deals with this scenario by resolving the value of the corresponding expandtypeattribute to false. The rationale behind this override is that true is used for reduce run-time lookups, while false is used for tests which must pass. Signed-off-by: Tri Vo --- checkpolicy/policy_define.c | 8 ++++---- libsepol/cil/src/cil_resolve_ast.c | 21 ++++++--------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/checkpolicy/policy_define.c b/checkpolicy/policy_define.c index 2c5db55d..1e632ef7 100644 --- a/checkpolicy/policy_define.c +++ b/checkpolicy/policy_define.c @@ -1182,10 +1182,6 @@ int expand_attrib(void) goto exit; } - if (attr->flags & TYPE_FLAGS_EXPAND_ATTR) { - yyerror2("%s already has the expandattribute option specified", id); - goto exit; - } if (ebitmap_set_bit(&attrs, attr->s.value - 1, TRUE)) { yyerror("Out of memory!"); goto exit; @@ -1213,6 +1209,10 @@ int expand_attrib(void) attr = hashtab_search(policydbp->p_types.table, policydbp->sym_val_to_name[SYM_TYPES][i]); attr->flags |= flags; + if ((attr->flags & TYPE_FLAGS_EXPAND_ATTR_TRUE) && + (attr->flags & TYPE_FLAGS_EXPAND_ATTR_FALSE)) { + attr->flags &= ~TYPE_FLAGS_EXPAND_ATTR_TRUE; + } } rc = 0; diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index d1a5ed87..02259241 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -269,9 +269,8 @@ exit: return rc; } -int cil_type_used(struct cil_symtab_datum *datum, int used) +void cil_type_used(struct cil_symtab_datum *datum, int used) { - int rc = SEPOL_ERR; struct cil_typeattribute *attr = NULL; if (FLAVOR(datum) == CIL_TYPEATTRIBUTE) { @@ -279,16 +278,12 @@ int cil_type_used(struct cil_symtab_datum *datum, int used) attr->used |= used; if ((attr->used & CIL_ATTR_EXPAND_TRUE) && (attr->used & CIL_ATTR_EXPAND_FALSE)) { - cil_log(CIL_ERR, "Conflicting use of expandtypeattribute. " - "Expandtypeattribute may be set to true or false " - "but not both. \n"); - goto exit; + cil_log(CIL_WARN, "Conflicting use of expandtypeattribute. " + "Expandtypeattribute was set to both true or false for %s. " + "Resolving to false. \n", attr->datum.name); + attr->used &= ~CIL_ATTR_EXPAND_TRUE; } } - - return SEPOL_OK; -exit: - return rc; } int cil_resolve_permissionx(struct cil_tree_node *current, struct cil_permissionx *permx, void *extra_args) @@ -488,11 +483,7 @@ int cil_resolve_expandtypeattribute(struct cil_tree_node *current, void *extra_a goto exit; } used = expandattr->expand ? CIL_ATTR_EXPAND_TRUE : CIL_ATTR_EXPAND_FALSE; - rc = cil_type_used(attr_datum, used); - if (rc != SEPOL_OK) { - goto exit; - } - + cil_type_used(attr_datum, used); cil_list_append(expandattr->attr_datums, CIL_TYPE, attr_datum); }