From patchwork Thu Jan 26 19:16:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Roberts, William C" X-Patchwork-Id: 9539955 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 ABA0D601D3 for ; Thu, 26 Jan 2017 19:17:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E76E28329 for ; Thu, 26 Jan 2017 19:17:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9348128335; Thu, 26 Jan 2017 19:17:46 +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 2AC6E28329 for ; Thu, 26 Jan 2017 19:17:44 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,290,1477958400"; d="scan'208";a="3224492" IronPort-PHdr: =?us-ascii?q?9a23=3A3g+DhxS/S6kEsB6w8b8zszIO3dpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa68ZxyFt8tkgFKBZ4jH8fUM07OQ6PG8HzFdqs/b6TgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyogjdrMkbjIttJqos1BfFv2ZDdv?= =?us-ascii?q?hLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfM?= =?us-ascii?q?TQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklD?= =?us-ascii?q?sLOjgk+27ZkMxwiL9QrgynqRJx3oXYZJiZOOdicq/Ye94RWGhPUdtLVyFZAo2y?= =?us-ascii?q?cZYBD/YPM+hbronyqEEBrQO8CAWxCu7g1jBGiWHt3aAhz+QsEwXL0BA8E94Srn?= =?us-ascii?q?jZqsj+OqcIUeCyyanF1TvPYe9R2Tjm9ofIaAwhoeqUUbltccXRyE0vFwfEjlqK?= =?us-ascii?q?rIzuIi2Y2uoQuGWc4etgVOavi2omqw5rpzij3NsjhpPThoIS0V/L6z95wJouJd?= =?us-ascii?q?CjSU57Z8KkH4VUty2AK4R2RcYiTnhutS0nybMGoYa2cDUFxZko3RLSa+GLf5KW?= =?us-ascii?q?7h/sSuqdOyp0iGp4dL6jnRq+71asxvfiWsS031tGtDdJn9fPu3wVyhDe68yKRu?= =?us-ascii?q?Fj8kqh1juDzQDe5vtGLE03k6fQNoQvzaQqlpUJtETOBir2mELrg6CIbkgk4e2o?= =?us-ascii?q?6/j/YrXhu5+cK5d4igHgPaQqncyyGfg4PRIUX2ia5OS8z6fv/VH5QbpWjv02lb?= =?us-ascii?q?PVsJbGKsQAuqG1GQpV0ocn6xqnDjem1soXnWUfIV5Ydx+KgJLlNlHTLPziE/uy?= =?us-ascii?q?jEqgnC12y/zeO73uGJTNLnzNkLf7erZ97lZRyBEtwtBb5pJUDKwBIf3qVkDqs9?= =?us-ascii?q?zYExk5PBCqzOb8E9h9yoMfVn6PAq+eKq/St0SI6fg1L+mDY48Vpi7xK+I56P72?= =?us-ascii?q?kX85hVgdcLGr3ZsQbnC3BOhmI0WDbnrqmdoBE2AKvgw7TOPwk12CTSBcZ2ypX6?= =?us-ascii?q?4m4TE7Eo2mB5/ZRo+xmLyBwDu7HppOa2BECFCDC2vnd4afW/cLbiKSI9FhnycK?= =?us-ascii?q?VbilVo8g2gqhtBL8y7p7M+rY4CoYtYjs1NJt/e3ciQky9SBoD8Say2yNV397kX?= =?us-ascii?q?gWSD8w3aB/vUt9x0yC0admnfNXC8Zf5/RTUgc1LZTc1fB1C8juWgLdedeEUEup?= =?us-ascii?q?QtKgATE3U90+3dsOY0dmFtq4kB/DxS2qD6USl7yRC5w+6rjc0GTpJ8Zh13bG07?= =?us-ascii?q?EsgEQ6QsRVL22rnbJw9w/WB4HViUqZjLqqeb4a3CHT6GeJ1XCOs11AUA5sTaXF?= =?us-ascii?q?WmgSZkrQrdTl+EzCS6GhCbE5PQtd086DKrBHatrxjVpYQvfjPc7RY2O1m2irAh?= =?us-ascii?q?aJyamAbI3we2USxC/dElQLkxgP/XaaMggzHiegomPZDDxoDl/vZkfs/fB/qHO9?= =?us-ascii?q?VEM0yRuFb1di17q05B4am+aQS/UN0bIYoC0hsSl7HE6h39LKDNqNvxRufL1Gbt?= =?us-ascii?q?Mn4VdHznnUtxRnMZy6LqBinUYecwBtsEzyyRp7EIJAkdIlrHky1gp9NbqY0E9d?= =?us-ascii?q?dzOfxZ3xNLzXKm33/B+xca7bwV/e38iL9acI8vQ3sU3jvBuuFkog7Xpoz8VV32?= =?us-ascii?q?Gb5pXQAwoYSYjxXVov9xhmu7HaZTEw543O1XJ2N6m7rj7C28kyCesg0hagfs5T?= =?us-ascii?q?MLiKFQ/pCcEaANKuKOMykVizch0EJPxS9LIzP86+dPuJwq2rPOF9nD+9jmRI+o?= =?us-ascii?q?N90kWR9yZmTe7IxZkFyemC3gSbTzf8kEuhssfvlI9eeD4SBGu/xjb+BINKfKJ9?= =?us-ascii?q?YYMLBX2pI82tydV0n4TtVGJA9F6/G1MG39ekdgaIYFz5wwJQzlgXoHygmSaj1D?= =?us-ascii?q?x7jzApobSZ3CzSwuTtbgALOmhVS2l+lV3sO5S7j8gGXEi0aAgkjBul6lj+x6hf?= =?us-ascii?q?o6RyNG3TQVpUfyjxKmFtSLG8tr2YY85A8JkoqzlYUPygYVCGTb7wuwAa0y35H2?= =?us-ascii?q?tZ3zA7ayqnuo7/nxx9hmOdKWx8rHzDdcF22xjf+MTWReRN0ToeWCl4lT7XC0Cy?= =?us-ascii?q?Ptaz+dWUi4nMsvqlV2+6SJ1cbzPrwpidtCu+/2FqBge/n/+rkN39DQc6yTP718?= =?us-ascii?q?VtVSjQsBbzf5Tk16WgPuJjZURnGFj8689mFY5kiYswmIsc2X4EiZWJ5XAHi3v8?= =?us-ascii?q?Mc1H2aLia3oAXTgLw9/R4AjhxkJjNWmEyJjnWXWHxcttfd66YnkZ2igl9cBFFL?= =?us-ascii?q?+U7KBYnStyule4swPRbuRhnjca0/si8mIVg+EOuAorwSWQGbQSHUhePSP2jRSI?= =?us-ascii?q?6MqyrKJNZGagabKwzlZxnci9DLGepQFRQHL5epY5HS9s98l/K0zD0Hny6oHiZd?= =?us-ascii?q?nRYsketgaMkxfBiehVKY4+luEQiSphJ239oWUvy/Qnghx2wZG6oI+HJn13/KK+?= =?us-ascii?q?Bh5YMiP6Z9kP9THqg6dThd2W352zEZV6ADkLW4HoTf2wGjIIqfvnLxqOECE7qn?= =?us-ascii?q?qDAbrQBxKf6EN8o33VCZykLHaXJH0FzdVlQhmQP0lfjBwSXDU9gpE1DAaqy9L9?= =?us-ascii?q?cE1h/DAe+kb4qgdQyuJvLxT/UXnQpAGzajovS5iQMhxW7hpE50jLLcyS9OVzHz?= =?us-ascii?q?tX/pe5tgyCNnSbZxhUDWEOQkGEH0rsPqSq5dbe6+iXHOy+L+fQbrWUsuFeSuyI?= =?us-ascii?q?yoy10ot95TqMLcKPPmR4D/InxEVDU3d5G97WmzoRUSAXkTzCb9KDrhem5iJ3tt?= =?us-ascii?q?y/8OjsWA/3+4uPDaZdPM5x+xCwnKiDN/SchCBnJjZEzpkM32PHyKAD3F4OjCFj?= =?us-ascii?q?byGtHq4dtS7JV6/fhq5XDwIbai9qOstH9aQ80hNKOc7BhdP/zqR4geItC1dZSV?= =?us-ascii?q?zhndmkZc8KImG5KlzKH0OLNLOIJT3F3c73fb+8Sb1XjOVRqRK8ozCbHFH/Pj6b?= =?us-ascii?q?jTnmSwivMf1QjCGcJBFetpuychBxCWjkSdLrcRO7P8Fqgj0x2707nGvKNXQbMT?= =?us-ascii?q?h+bUxCsqGQ4TlfgvVlFGxL9mBlIvWcmyaF8+nYLY4bvuZtAitujO9V/XI6xKFP?= =?us-ascii?q?4CFDXvx1lzPYrsRyrFG+jumP1j1nXQJUqjlWmY2GpkpiOaDW95VaX3bL4g4N53?= =?us-ascii?q?2KCxsWv9tlFsHvu6dIx9jVjq7yJi1O89fO8ssYAMjVKNmKP2A9PhrsAjLUCxEF?= =?us-ascii?q?TTGzP2HFm0NdiO2S9mGSrpUirJjsgoABSqdDVFEuGPMaC15lHMceIJd5XzMkl6?= =?us-ascii?q?SUjMgU6nq/thbRQN9WvpfdVvKdGf/vMiqWjaFYZxsUxrP1NZ8cOZb810xma1l6?= =?us-ascii?q?h5jKG1HKUdBWvCJuchU4oF5T/3h6T20z3V/lawy27XAPFf+0hAM2ihBkbeUj7j?= =?us-ascii?q?js/0w3Jl3MpCcql0kxg9rliyiLcDHtNKewQZ1WCy3sukcqM5P7TAF1bQupkEN5?= =?us-ascii?q?KjjLXLNRgKFmdWxxjw/co5RPE+ZGTaJYeB8Q2e2XZ/Iw3FtGpSWo31FH6vXeBJ?= =?us-ascii?q?tljAslb5isr3da1AJiaN46PqvQJaVTwlhXnKKOsTei1votzw8GO0YN7GSSdTYU?= =?us-ascii?q?uEwPM7kqPTCo/utt6AOcnTtMY3IMV/00rfJp7U4yJ+OAzyf83LFZMUCxK/aTL6?= =?us-ascii?q?WHtGjcjcSIWE8/1lsUl0lZ+rh7ycEjfFSOWEAr17aRFBMJNdHeKQ5PacpS73vT?= =?us-ascii?q?fSeUveXL3511I523Fvr0Qu+WqKYUnkWkER4zH4sS9cQOAIOj0FvEIsfnN7MK0h?= =?us-ascii?q?Qt5B72K1WCAvRJYAiLnykHos2lyp94w5VdLCkHAWphKSW3+qrXpggyjfWeRtg2?= =?us-ascii?q?fHYaUZYfNn8tQsK6gTRZv3NODTmszO0W1BWC7yX9piTMDDjwddxja+mIZRl0Et?= =?us-ascii?q?G55S0/87SqiV7Q6pjROnr6Osp4td/A8+MVvYiHBuhPTbZnsEfchpNYSGawX27L?= =?us-ascii?q?DN61IYL/a5M1YdzoDXa6UVy+izUvQ8f3ItmtMrCCgRv0SoZMrImbwDcjONezFj?= =?us-ascii?q?EEBRh/uvoD67h6ZQ0fZJo7egXluB4iOKy6OguY1c+uQ2m1IztMU/Zf1fm6Z6BQ?= =?us-ascii?q?zyc0au+6z2EgQY88z+i29k4AX54KjhfDxfq5YIleSyfzEGRHewrTvSo5i3RhNu?= =?us-ascii?q?Eqz+ck3hzItVgcMzaWdO1mc2FLo9Y8BVaOLnpsEWo4W0WQjYzd7Q6wx7oS5TdS?= =?us-ascii?q?n85I0e1Zt3jzpoLQby6pWKysr5XVrzcsYMM4o6JvK4zjI8qHtJTYnjDFSpnfrB?= =?us-ascii?q?GFWjagF/VGgthQPD5YQP5QlGEmI8wHuZBO6UwtVsc+PLFPB64spqi2ZjZ+Cy4d?= =?us-ascii?q?0zMZXZua3DMemue8x6falhCIfZQ+MRwEtZJCgscdUy92eS4Rua6jVoXMmGCfUG?= =?us-ascii?q?QLJhkc7RhU7gIaioBwZvzl4JbPTJJUxD5Wueh7Ui3XFpRz9lv7TW+XgV7kSPWh?= =?us-ascii?q?jeOp3ARSzO7y3dkBQhJ/D1ZSx/pOnEsyNL53M7UQvpLNsjKQb0z6uGPtx/e4K1?= =?us-ascii?q?ZJzM3Vd1v4DI3DtWXmSSAT4nwUSpVJyH3GG5QSjhB1aKA1q1VQOIqmYFrx5yQ4?= =?us-ascii?q?x4R1GLm1TdukyEgjrXsdXSilDsRBBP98sFLMQjJleZCqpI/iO5VITW9a4IedpE?= =?us-ascii?q?tBkEVxLy65zoJRK9tL4j4NQDdPoTKdvN+pSMNbwMF4EoUCL8t4tXrmBKxEP52R?= =?us-ascii?q?rGEstbz01n/V4TY8v0mmxD+rAa+3U/pZ/3ECGgUuP2mRtksvAPEw/WrJ7l/NtV?= =?us-ascii?q?R0/+NaBreRl0VxvChyEYxOBjpT0nClNVtzRmFcs+pGMKTVb9BcQ/4qaB+1IRM+?= =?us-ascii?q?D/km0FeS8EFoh3f2eTJyuRVe+yDcWQk0Wi0VgrbimT0etsGnNyUVS4hNbTk7aS?= =?us-ascii?q?fKNR6bkzhNvBlDc0FqR4wZAtFd9rAVx4db4srCSUepKSEERhNiNRk10ftBmkFd?= =?us-ascii?q?rkqUYyfdDRCndfzXqB14Yd+RrNK1LPT+5ApHkoTnsOQi+KUZSXymngmtQd7Foo?= =?us-ascii?q?/5sd2KsVCOe7nkPO2mZn/BVyPMjRG2hbcrFZXK+DLTMAVDIZlg1XUkeYThCXLM?= =?us-ascii?q?PRlePa0bPVdbVaZgZdVFue1aZs5keKcV+aB2HB6HQA3gGJC3pvlcMlnTXSjeLz?= =?us-ascii?q?mG8uGnvYLT6rndRPP8ZsCQwnbIWLh7PpFk5jnnA73qy5NR+lLq2vdx8UN3UVjG?= =?us-ascii?q?PDqbrNv7IgME+dKveVb8sZ0xBTPZHpNwn2T3xk1acMoXWSKq+owCyJxF8HbwVf?= =?us-ascii?q?540k/rve1Q8Llr95I67K13xsevO6jSM+havlF6DRSOAAVl6IktCnBlR29Neu8R?= =?us-ascii?q?NOvRfaMBgM/1peD4C7Ab5R+I9+FXctbIO0bBmsyjBT6GUhxEgB0NqTgEIQuAz/?= =?us-ascii?q?SFgbN7Sd65pejl3UIg+0K+IQAbw7Bt/4iE5rGFpOvQbxvP07cIRLTlRsTuobsy?= =?us-ascii?q?oU+S4+MrlKIWcGxvfwKnCPQdVtIaxmr41aAq1j4sHNneELL84/NDTHU5ni/6m5?= =?us-ascii?q?9hAVoWHO8UHaCR8oRahGs4nPbZNtIOeKBYhmmPDQKkEqMFyXOz9yuXOndqjQ/T?= =?us-ascii?q?3BzrXGOz6EP2rTViTivSztfjlU5VWaerBUtIWCqpI0B4uiuVPAX0rNr3pbg17E?= =?us-ascii?q?YuP2zhrt2NkG+hN61LH83jPtOTOzI5pFQJg50tXdygxZoUGcKjL9sL9nFxcOfe?= =?us-ascii?q?4XuxkyBdu6dHm5be4saN9/XVB3aglaqaq66JxD9C1Hg1plQ/6s2kNvHS5t2FX/?= =?us-ascii?q?Wo2HwXTydkoQfBWAS1qrPDpVAOJUOLyFvLmJANPtxB33k3zEfm5OY5QNI06QpR?= =?us-ascii?q?CJ3NZ+8YqjD1Izv0xkyTY9QpWSmCyzFXBE76EUFkGKgg32L9pM3JlWrR+10sQo?= =?us-ascii?q?l/aUnniAdqAIomMk0t6UIYwiwZHQgKcxCbA6miBV75IoscSUgDdROH0aC8eqcz?= =?us-ascii?q?xkBzw7Wv5OrJYex9AaoNOOxdgRSVnFhHAJIWrLERQK5he19H6qHbvA/iC5LoX/?= =?us-ascii?q?L+j3o/KeW1QtxG8cAer3Yi5wG/Rxy86ZdM8bkWk5WIdq9ebpjKos9880lm5TkV?= =?us-ascii?q?dixOmxhzlRW5Xv4ApOr7+NjUrIKo6vqyVKYqX+gX8wM0B2F+gpbrjlAsv8zY1+?= =?us-ascii?q?BGSoLPkYT/6gdNI3yUt4nGzxlwM+0OK5ikfLx47XUIOzAeJ24SPdqRc/Q8+DVi?= =?us-ascii?q?MCvJ6FxNHMwMfsgVPNHXlgBKkELpV69c9tHBFl+eFYhza9gi73DrxzAt7Zs8Tu?= =?us-ascii?q?Hg5Se0JZDe6lFAJPZDgztsld3cvugVwPzSCCcN7XmfdRd13juIy4ORBPbo4eWM?= =?us-ascii?q?1NbUWksHHi83SYhSPiaN9Be8RuWriJXmTB+b5tX0gJIke0KaXmaxk7gdsqZQDe?= =?us-ascii?q?5AjT320SNfFoDuifOaqdis6GpLtl1fColz8BnFFb5DMZV8JBv3iNOkRlVmBiv4?= =?us-ascii?q?YsHbbAAiuO2MxucD++9+LVfxZZcHIhIYzLL38WJVQRFySLHqvlaYU+URZMFlSP?= =?us-ascii?q?/dtXBa94ZgK64JPFiAq53ntS9Ip0oqAAA1aL8xoDtadlPNnAFPWKb7pqQAig0C?= =?us-ascii?q?Xt59o0NMHniwOG0m7TrdSatVlLWRCOAS8jiLUqwOSVtnMidkTBOzxppjYKamnf?= =?us-ascii?q?FIsmNHgiNyuuMq3CZ8RBuhoyHsobwC2S448rGiqDoBoWBFTvmZkyrQBlVM1u4K?= =?us-ascii?q?grkAC3bi8lG8ZHgDbJfs77lnP8vg6JIh7245YRo9Yy0MRf6gBD3oj6OUHoyPt8?= =?us-ascii?q?pRhBGTt8XIcb+zKi8SOrMmyR39Q3h90w7enAtn8WYQRjWv8sUkJYWnNso/wCqn?= =?us-ascii?q?B3Tbfk4W4qxVqMvxqUILTOwuZFNnwWVszs+HRikXS8zUAWo1jw8kaWJfcJJY8h?= =?us-ascii?q?IaEqYlgzmSsqlB5AEUby/eEp659YnIgcfIxX49QM9lxm3Kva2FnYom3mBqld1y?= =?us-ascii?q?7y6OvmkSduPDXs9jB3j8zIFfxvLka/WqqOAHR5NsyK69X/8aLsmj5Wy21Y1oWk?= =?us-ascii?q?+ixrQeGUC1P/MDxrffTieqVGyZWeWNc2iXnDY5M1X/5QepLl0pcshKq1IyMurY?= =?us-ascii?q?ip5aiQLhTat+Rj+Mql/D0GwjLeQaeho3uIe5YQMKSvUcZ+yBJeczwf0+D0AMY2?= =?us-ascii?q?XOHStsBO+8qUStk5RjO3V8/UX6Zvzg8gL4P9ucFBkEFZXXr5Br9vy8WG2BJWVs?= =?us-ascii?q?zBtsM0lo7+3fDUg+tvdAc5aNmtjdn9t70eoCd/ZjLyI9vtoTl5l46YmT1seKcA?= =?us-ascii?q?3ewoz0Jd7LvviSG+ffwFgyemFGTroZZhv454c6Pt85Q73TGr9ZvRUABackW5Eh?= =?us-ascii?q?Mmbx9L1uLAxtaALRY660gsbyrOKRepRUv2PW7k43LCrEpx0Dy/m0QBdnb5Crm3?= =?us-ascii?q?ryI44/RjZbo91rFBRmAJNFG9kcoAq/H56UhKa7hse0+0N7uO8Ksq3wB+vI1Nuj?= =?us-ascii?q?3IVxWJ5a6lKNPDrLAqlknFhlhPyogvjcypnxFd/iedQcWedgXGHFbKPGE56kKj?= =?us-ascii?q?KKPcL8Z1JG86CC371kSBmRYzr5X6Wevi2+KPpk+Vk7ypB/fOfLwjwi8bXb2Nrq?= =?us-ascii?q?Z25FvSqirH+JNJ5a7FPUH+zeWwxbReCC8GZ/Eq0ddZH0+/sWMdw+3Nic5BF+7T?= =?us-ascii?q?pa0MufIqiuslHD11l+dZLaMEvpwTg2VZMNIBSlPksmmXXZpWjFAXRAMsikLtFg?= =?us-ascii?q?gNGRDhPz/ERxgWUtaXRaGmr0RNeeJXQb29igawKU7g5LCcgMn/Kvc04iqqKyUf?= =?us-ascii?q?VoOolCmeiysLUHkNBpKzzARcRDOyHQLaR2PiZKDujUpVgneBgEs78vVocyf5iO?= =?us-ascii?q?L1sNMF2cxiPq0QvCzUr0esS31KmXJCYW83NHz6/K0DRLqAe5pfaZjdP5UL/HdJ?= =?us-ascii?q?H5RuXfMCk7WTGAQzQ9D0Kp9ky5u/oLpvaYJn0fol8MaCKIFAETvrxvrcTXDmLL?= =?us-ascii?q?nO1sZoEFhPCbWyD2Ty11j7QyBidNtU+SR/oDFA/Wb2LugWZGvwyiPPBM92r/b7?= =?us-ascii?q?KE3qpVR/AWAoxUf/2bWdTYevdeKCwzmzUEPua8Y93cr7Ek0lLHTWsZD7PE9FuA?= =?us-ascii?q?Q06KWvac3S7kXZ0Jv4govSol4t3QkTVsHKTSPraQuTqu/5WmjCaco+LeTWgtY1?= =?us-ascii?q?EvjOIEHmaB3AFKKHsYBNENpEHtXqmAal5O1HIsjuJuwQUMeAVoUnB11H1ZhvO9?= =?us-ascii?q?FdNYSVIOi2OuWvIGZkhtDDws5U+K/hHyYdsYtMDISW9e86cDRIseIfQz9onYJr?= =?us-ascii?q?EQwPco3TJhpiw2qSOdAE1Bjgid6arfALp8xqFe5Wk/5/x2XEaPQzXbcmXcz4qp?= =?us-ascii?q?Fd9AxSlpoXD+y8XboPphNL1EqIFlUx82Bnc8Pd3U+zxbVmD4nQ+zpAqTACWVID?= =?us-ascii?q?Vf5i0CYyMCaKw9m/R2uRDEbNHA5QaUtrk9gFe6AgaMTLyv0dpEDd+/hiuibiwe?= =?us-ascii?q?Ow+sHZ1stu0J3OkTZacmbI32KBqJehf/CgaZsiVK/17wpb6mF9ZR6mQYjqgobt?= =?us-ascii?q?ruWt9ZXpHiwDhkziMQl9I0xmqLD4aaP8X0?= X-IPAS-Result: =?us-ascii?q?A2HmAACUSopY/wHyM5BeGwEBAQMBAQEJAQEBFQEBAQECAQE?= =?us-ascii?q?BAQgBAQEBgwoBAQEBAR+BageOSZEOllwFUyaGAwKCLVcBAQEBAQEBAQIBAl8dC?= =?us-ascii?q?4IzG4IbAQECAwECNxQgCwMDBgMCAQEIDQQEAQELFAgIAwEtARQJCQEECAsFAxU?= =?us-ascii?q?EiUCwOSYCiksBAQEBAQEEAQEBAQEBAQEghkyEboQbEQEjgy2CMQEEm1ABnD+GJ?= =?us-ascii?q?5J7WEcvVVCEPByBYXWGS4EhgQ0BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 26 Jan 2017 19:17:42 +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 v0QJH3F0010283; Thu, 26 Jan 2017 14:17:16 -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 v0QJH1N5198038 for ; Thu, 26 Jan 2017 14:17:01 -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 v0QJH0x4010072; Thu, 26 Jan 2017 14:17:00 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1D/AAAkSopY/yNjr8ZeHAEBBAEBCgEBgzUBAQEBAR+BagefV5ZcBVqGIgKCLVcBAgEBAQEBAmIdhHQBAQIDOj8MBgEIEQQBAQsUQh0JAQQOBQiJWbA4inMBAQEBAQEBAQEBAQEBAQEBAQEBHwkBhkKEboRLBYMtgjEFm1ABomaSe1dHgQRQhDwcgWFANYdsgQ0BAQE X-IPAS-Result: A1D/AAAkSopY/yNjr8ZeHAEBBAEBCgEBgzUBAQEBAR+BagefV5ZcBVqGIgKCLVcBAgEBAQEBAmIdhHQBAQIDOj8MBgEIEQQBAQsUQh0JAQQOBQiJWbA4inMBAQEBAQEBAQEBAQEBAQEBAQEBHwkBhkKEboRLBYMtgjEFm1ABomaSe1dHgQRQhDwcgWFANYdsgQ0BAQE X-IronPort-AV: E=Sophos;i="5.33,290,1477972800"; d="scan'208";a="5922275" 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; 26 Jan 2017 14:16:59 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3Ar2vDmxbBm1WWUCF/Ilt2mT//LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZrsSybnLW6fgltlLVR4KTs6sC0LuK9f29EjVauN6oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52Ixi6twXcu8kZjYd/NKo91wbCr2dVde?= =?us-ascii?q?hR2W5mP0+YkQzm5se38p5j8iBQtOwk+sVdT6j0fLk2QKJBAjg+PG87+MPktR/Y?= =?us-ascii?q?TQuS/XQcSXkZkgBJAwfe8h73WIr6vzbguep83CmaOtD2TawxVD+/4apnVAPkhS?= =?us-ascii?q?EaPDM/7WrZiNF/jLhDrRyhuRJx3pLUbo+WOvp/YqzTctwVSHFdXsZIUyFNHp+w?= =?us-ascii?q?Y5cRA+cHIO1Wr5P9p1wLrRamCwWiGOTvxSRWiX/swa06yPwtGhzG0wwhG9IOtH?= =?us-ascii?q?XUo8/wNKwPT+25wrTDwDLNbvNX3Tf97InIfQokof2WQb18a9DRyU40GAzblFWQ?= =?us-ascii?q?tZflMiiU1uQLr2iU8e5gWfizhG4grgF8uz6izdovhInRno8Z11TJ+CZjzIooJ9?= =?us-ascii?q?C1SFR3bNqgHZdKuSyXN5N6Tt4+T21ypio21KcKtYC7cSUF0pgr2hDSZv+ff4SV?= =?us-ascii?q?4x/uUPydLSl4iX9qYr6yhwy+/Eqjx+D6S8K6ykxFrjBfndnJrn0N1wLc6syASv?= =?us-ascii?q?Zl8Eeh3C2P1wXc6u5ePUw4ibTXJ4cgwrEsipUfq0rDHirslEX3iq+Walsr+uyy?= =?us-ascii?q?5+v7ZbXmo4eQN45yig7gLqQjgtGzDOA7PwQUQmSW++Sx2Kfn8ED9WrlHgP07nr?= =?us-ascii?q?HcsJ/AJMQboqC5AxVS0oYm8xu+ATam0NAcnXkGNl1FfQiLgJTzN1HUJ/D3Fumw?= =?us-ascii?q?g06wkDdw3P3GP7vhAonTIXjHirvuYbF960tExAop0d9f/45UCq0GIP/rQU/+qt?= =?us-ascii?q?jYDh4/MwypzOfqE8l914MCVmKPBa+VKqXSsUSS6e41LOmMY5EVsi7nK/c5//7u?= =?us-ascii?q?kWM5mVgFcKmyw5QYcna4Eel8I0WeYHrjn84NEWMLvgolUOznk0GCUD5PaHayWK?= =?us-ascii?q?Iw/Dc7CJm8AovZSYCth6KB1j+hHpJKfmBGFkyMEXDweoWfRvgMczmfItNhkzMY?= =?us-ascii?q?VbihTJUt1Re1tADg0bZnIe3U+jNL/a7kgZJu6uTVmQs19DAxC8WGz0mRXmp0mS?= =?us-ascii?q?UOXDZw06dh6wQp0VqK16RihP1UUNhS/O9hThYxNZmayfdzTd/1RFSSUM2OTQPs?= =?us-ascii?q?eNKsDCstVZZ5/N4KZ0d0Hp2JxFiXwCuuB74ckvqAQoYz+K/Gw2PZJsBhxnKA36?= =?us-ascii?q?4k2Qp1CvBTPHGr0/YsvzPYAJTExh2U?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0EDAQCUSopY/yNjr8ZeHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwoBAQEBAR+BagefV5ZcBVqGIgKCLVcBAQEBAQEBAQIBAl8dC4I?= =?us-ascii?q?zGYIdAQECAzo/DAYBCBEEAQELFEIdCQEEDgUIiVmwOYpzAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBHQkBhkKEboRLBYMtgjEFm1ABomaSe1hHgQRQhDwcgWFANYdsgQ0?= =?us-ascii?q?BAQE?= X-IPAS-Result: =?us-ascii?q?A0EDAQCUSopY/yNjr8ZeHAEBBAEBCgEBFwEBBAEBCgEBgwo?= =?us-ascii?q?BAQEBAR+BagefV5ZcBVqGIgKCLVcBAQEBAQEBAQIBAl8dC4IzGYIdAQECAzo/D?= =?us-ascii?q?AYBCBEEAQELFEIdCQEEDgUIiVmwOYpzAQEBAQEBAQEBAQEBAQEBAQEBAQEBHQk?= =?us-ascii?q?BhkKEboRLBYMtgjEFm1ABomaSe1hHgQRQhDwcgWFANYdsgQ0BAQE?= X-IronPort-AV: E=Sophos;i="5.33,290,1477958400"; d="scan'208";a="2639343" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from fmsmga002-icc.fm.intel.com ([198.175.99.35]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jan 2017 19:16:58 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga002-icc.fm.intel.com with ESMTP; 26 Jan 2017 11:16:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,290,1477983600"; d="scan'208";a="35944503" Received: from orsmsx102.amr.corp.intel.com ([10.22.225.129]) by orsmga002.jf.intel.com with ESMTP; 26 Jan 2017 11:16:57 -0800 Received: from orsmsx154.amr.corp.intel.com (10.22.226.12) by ORSMSX102.amr.corp.intel.com (10.22.225.129) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 26 Jan 2017 11:16:57 -0800 Received: from orsmsx103.amr.corp.intel.com ([169.254.5.78]) by ORSMSX154.amr.corp.intel.com ([169.254.11.240]) with mapi id 14.03.0248.002; Thu, 26 Jan 2017 11:16:57 -0800 From: "Roberts, William C" To: "seandroid-list@tycho.nsa.gov" Subject: RE: CIL Typepermissive Symbol not inside parenthesis Thread-Topic: CIL Typepermissive Symbol not inside parenthesis Thread-Index: AdJ4A2DG5Idh2qi9RIqsfdultifS0gABLxOg Date: Thu, 26 Jan 2017 19:16:56 +0000 Message-ID: <476DC76E7D1DF2438D32BFADF679FC562304D16E@ORSMSX103.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODZiOTYyZGYtNDQwOC00NWMwLThkNDAtMmQ5MDdkYTdlYjYyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IndSQlZUSHNJMTNWcjdCRmU2WUc2SlJQdURZV3RkME90SlNJY1wvU2RJdTRNPSJ9 x-ctpclassification: CTP_IC x-originating-ip: [10.22.254.138] MIME-Version: 1.0 X-MIME-Autoconverted: from quoted-printable to 8bit by prometheus.infosec.tycho.ncsc.mil id v0QJH1N5198038 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: Stephen Smalley , "selinux@tycho.nsa.gov" Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP > -----Original Message----- > From: Roberts, William C > Sent: Thursday, January 26, 2017 10:39 AM > To: seandroid-list@tycho.nsa.gov > Cc: 'Stephen Smalley' ; 'Nick Kralevich' ; > selinux@tycho.nsa.gov > Subject: CIL Typepermissive Symbol not inside parenthesis > > Building for Hikey (Android) with a type permissive statement on hci_attach, > yields this error: > > /bin/bash -c "(out/host/linux-x86/bin/secilc -M true -c 30 > out/target/product/hikey/obj/ETC/plat_sepolicy.cil_intermediates/plat_policy_n > vr.cil > out/target/product/hikey/obj/ETC/mapping_sepolicy.cil_intermediates/mapping > /current.cil > out/target/product/hikey/obj/ETC/nonplat_sepolicy.cil_intermediates/nonplat_ > policy_nvr.cil -o > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.tmp ) && > (out/host/linux-x86/bin/sepolicy-analyze > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.tmp > permissive > > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.permissived > omains ) && (if [ \"userdebug\" = \"user\" -a -s > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.permissived > omains ]; then echo \"==========\" 1>&2; echo \"ERROR: > permissive domains not allowed in user builds\" 1>&2; echo \"List of > invalid domains:\" 1>&2; cat > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.permissived > omains 1>&2; exit 1; fi ) && (mv > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy.tmp > out/target/product/hikey/obj/ETC/sepolicy_intermediates/sepolicy )" > Symbol not inside parenthesis at line 1239 of > out/target/product/hikey/obj/ETC/nonplat_sepolicy.cil_intermediates/nonplat_ > policy_nvr.cil > > To reproduce apply this patch to device/linaro/hikey: > diff --git a/sepolicy/hci_attach.te b/sepolicy/hci_attach.te index > d87f444..1990d54 100644 > --- a/sepolicy/hci_attach.te > +++ b/sepolicy/hci_attach.te > @@ -1,6 +1,8 @@ > type hci_attach, domain; > type hci_attach_exec, exec_type, file_type; > > +permissive hci_attach; > + > init_daemon_domain(hci_attach) > > allow hci_attach kernel:system module_request; > > and build sepolicy > > make -j4 sepolicy > > I have no idea what's hgappening, but the statement looks different than all the > other CIL statements: > > Failing CIL snippet: > > (type hci_attach) > (roletype object_r hci_attach) > CIL_TYPEPERMISSIVE (type hci_attach_exec) (roletype object_r hci_attach_exec) > (type hci_attach_tmpfs) > > Some of things call routines like cil_write_roletype() in write_ast.c, but some just frpintf(CIL_). Are these features not implemented? If I apply this hack it works: The output looks ok from sepolicy-analyze: $ sepolicy-analyze $OUT/root/sepolicy permissive crash_dump su hci_attach diff --git a/libsepol/cil/src/cil_write_ast.c b/libsepol/cil/src/cil_write_ast.c index 4ebda6a..8a25680 100644 --- a/libsepol/cil/src/cil_write_ast.c +++ b/libsepol/cil/src/cil_write_ast.c @@ -1255,7 +1255,7 @@ int __cil_write_node_helper(struct cil_tree_node *node, uint32_t *finished, void fprintf(cil_out, "CIL_TYPEBOUNDS "); break; case CIL_TYPEPERMISSIVE: - fprintf(cil_out, "CIL_TYPEPERMISSIVE "); + fprintf(cil_out, "(typepermissive hci_attach)\n"); break; case CIL_TYPEATTRIBUTE: