From patchwork Thu May 25 21:07:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Mayhew X-Patchwork-Id: 9750493 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 B2C7860249 for ; Fri, 26 May 2017 12:06:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AAC5C2838B for ; Fri, 26 May 2017 12:06:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9F58E283AF; Fri, 26 May 2017 12:06:55 +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 E23332838B for ; Fri, 26 May 2017 12:06:54 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.38,397,1491264000"; d="scan'208";a="7485732" IronPort-PHdr: =?us-ascii?q?9a23=3A2FtgORIHLSmOcanWwtmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgQK//7rarrMEGX3/hxlliBBdydsKMbzbGI+Py9EUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6/bL9oIhi7rArdu8YWjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVQTlgz?= =?us-ascii?q?kbOTEn7G7Xi9RwjKNFrxKnuxx/2JPfbIWMOPZjYq/RYdYWSGxPUcZLUyxKH52y?= =?us-ascii?q?YY0BAeEcOepUtpTxq0cLoRa4GAKiBv7gyiVQi3H2w6M0zuovHwLE0wwuB9IDsm?= =?us-ascii?q?nYodvrO6cJSu250LXEwC/fY/9KxTvx9I7FeQ0hr/GWWrJwdNLcx1QzGAPCklWQ?= =?us-ascii?q?tZHuMTSP2eUNs2iU8eRhXv+ohm48rgF+uDiuxscyhYjHnY8V0E7L+jh5wIkvOd?= =?us-ascii?q?20UlJ0YdmhEJZJsSyRKoh4Qts6Tm11tys3xacKtJ6mcCQQ1pgqyADTZ+aaf4SQ?= =?us-ascii?q?/B7vSOKcLS1liH9rZr6znQu+/Euux+HmSMW501BHpTdfnNbWrHACzRnT59CCSv?= =?us-ascii?q?t640iuxy6C1xvW6uFYOUA0krfbK4I5zr4wiJUTtUPDEzfqmErslq+Wd1gk+vOy?= =?us-ascii?q?5+T7YrTpup+cN4huhgH4LqsugdCwDf49MggPW2iX4eW81Lv98k3lWLhGk/I7n6?= =?us-ascii?q?bDvJ3aOMgXvLC1DgBL3oo59hqzFzKm384ZnXkDIlJFYhWHj43xNlHVPv/4Cfa/?= =?us-ascii?q?g1KxkDZk3vzJJbrhAojLLnffjrjhZq1w61JcyQUvzdBf4IhYCrcaIP3pQEPxu9?= =?us-ascii?q?vYDgEhPwyu3+nnEMl91p8ZWW+XAK+ZN6XSvkWU5uIvOeaMYpQYuDT6K/gj4v7h?= =?us-ascii?q?l2Q5mUMDcqmzxpsbcne4Hu5pI0+Be3rjns8BEXsWvgo5VOHqil+CXiRPaHaxRK?= =?us-ascii?q?I84Tc7CIO4DYrYSICthKGB3SigEZ1LYGBGFk2MHW3vd4WeVPcGcDiSLdN5kjwY?= =?us-ascii?q?SbihTJcs1B+vtA/+zrpoMPDU9zYWtZ39ydd14PfTmgsq9TxuCMSd0X+CQH1onm?= =?us-ascii?q?8SQD82xq9/q1Rnylifyah4n+BYFdtL6vxUTgg6MJncz+pmC9zvQQ/BYMmGSEyn?= =?us-ascii?q?QtSnBjExSMg9w9kQbEZhA9+ilAzM3zK2A78JkLyGHIE78r7G0HjrPMty13HG1K?= =?us-ascii?q?w9gFY8WctPKXeqhqhh+AjPH4TJiVmWl762daQA2y7A7GeCzGuJvEFeSwNwVKHF?= =?us-ascii?q?UWkeZkvQt9j54FnNT6WtCbQmLAtO19SOKq1UZd31lV9GXuvsOMzCY2KtnGe9HR?= =?us-ascii?q?iIxqmWY4rsZ2od3T7dBVMBkwAL/HaKLBM+Bym6o27ECzxuD13vaVv28eZisHO7?= =?us-ascii?q?UlM0zwaSYk1izbW1+RkVheGHRvMQxL0EuyAhqyhuEFa6xdLWBMKKpxB9c6VEfd?= =?us-ascii?q?M9/FBH2HrDuANgJJygLr5thkQFfgtto0zu0g97CoJakcgltHkq1hZ9KbqE0FNd?= =?us-ascii?q?cDOVxYvwOrPNKmn15xCvd7Xb2krY0NaR9KYP7e43q1P5sAGvCEUi721t08NJ3H?= =?us-ascii?q?uE+pXKEA0SXIr/U0kt8xh6u6/VYjMm547Py31jL7O0vSTf29IsHuclzQygf9hH?= =?us-ascii?q?OqOeCADyC9EaB9SpKOEyh1imcw8LPOFI+64wJM6pa/yG2Ku3M+l6hzKmkX5L4I?= =?us-ascii?q?Zj3UKQ7yB8UPLH344Zw/GE2QuKTzH8jFalssDzh49EfiofEXChxij+A45dfKpy?= =?us-ascii?q?fZwECW22Oc242s1+h4LxW35f7FOjGVIG19O1eRqVdVzxxxFf1UQQoXyhliu11D?= =?us-ascii?q?h0kzAvrqWFxizOxP7udB0dOm5EXGNil0vjIZCoj9AGW0ildwwplBq+5Ubm3qRb?= =?us-ascii?q?v7pwL23SQUdOYij3IHpvUrCotrqDZc5P6Y8nsT5NXOS6f1+aVqb3owEG3CP7A2?= =?us-ascii?q?te2Dc7eimwupX+mxx6jHySLGxvo3red8B93gzf5MHASv5KxDYGQzN4iTbPDFim?= =?us-ascii?q?I9ap5cmUl4vEsu2mT2KuTIBTcS3xwYyarie0/mpqARmjn/C0nN3qCg063TP919?= =?us-ascii?q?ltSSrEthD8bZf3166iK+JoYlFoBEPg68p9Aox+kZU/hJcL2XUBhZWa43wHkXz1?= =?us-ascii?q?MdpFxaLydn0NRSQEw9TN+gjqxFVjLm6Vx4L+Tnid3M1haMShb2MI3CIy8sBKBL?= =?us-ascii?q?2S7LNagSt/ukC4oh7JYfhhgjcdzuMj6GYAjOEUvAog1TmSArEOHUhYJCDsmQ6H?= =?us-ascii?q?79akoKVQfmavfqC61FBiktC5ELGCvgZcVW7hepg4AC9w6ttwMErW33319oHrZs?= =?us-ascii?q?PQYMkOth2PjRjAlfNVJIgqlvoNmCpnI37ysmMry+48lxxu0o+1sJKBK2pz4KKz?= =?us-ascii?q?GgRYOSHtZ8MP5jHtir5TnsiM0ICpApVhHTALUYDmTf22DT0Ssu7nOByWED0mrX?= =?us-ascii?q?ebG6TQEhOD6Et8qHLPCZ+rPWmNJHYF1dViWAWdJEtHjQARRjo6mpo5GR62xMz9?= =?us-ascii?q?akh2/Csc5ljmpRtQ0eJnKwPwUn/BqwuybDc7VoSfJgJM7g5e/0fVLdCe7uVrEi?= =?us-ascii?q?FC5JGgohaBKmmBaARMCmEIWleJCEr/Mbmr/9XA9PKYBuWmJfvUfbqOsfBeV+uP?= =?us-ascii?q?xZ+33Itm5SiDOdiUPnZ4Cf07xk1DXWtiFsvDhzoPTjYblyXXb86UvB284DF4rt?= =?us-ascii?q?ij8PT3XwLi/Y2PC6FIPtV34xC7mqmDN++KhCZiNTZY2JIMxXnSx7gZwFESijth?= =?us-ascii?q?dz23HbQHry7NQ7ramrVLAB4DdyNzKMxI4rok3gZTIsHUlNX11r9kjv4yEFpFVE?= =?us-ascii?q?Luld+3asAQJGG9LlzHDl6RNLuaPT3L3933YaSkRLJLl+pYsBmwuTeAE0//JTSP?= =?us-ascii?q?jSLpWA6zPu1WlyGUIhheuIC7chZwBmnuV87pax2hMN9qlj0627M1iWnWNW4HNj?= =?us-ascii?q?h8dVlBrrqK7SNXmv9/AXBO7mJ5LemYnCaU9/LYJYwIsfRxDSR7ifla7W8hy7RP?= =?us-ascii?q?8iFLXvN1lzXJrtJ0pVGpjPWPwCJ9UBVSsjZLmJ6LvUJ6NKrC95lAVnHE/BQW4G?= =?us-ascii?q?qNFRsFvNplBcfpu6xKzdjPjq3zIi9Y893I5cscG9TUKMWfPXU7PhrmAiDUAxUe?= =?us-ascii?q?QD6sLWHQmUpdkPSI+X2Uqpg1sZ/smZUURr9cTlw1GesQCl55E9waPJd3QjQknK?= =?us-ascii?q?aHjM4P4HqytgPRRMJbv5/ZUPKdGu/vKDGHgrlHfBYH3bT4LYEPOYLhwExidkN2?= =?us-ascii?q?nILUFErMRdpNuDFubhcooEVR93hzVm4z2kLhagyz+3ITEPm0nhA4igRgfeQt6D?= =?us-ascii?q?fs41AyJlXUvicwllc+mcn9izCLbDHxNLuwXZ1RCyfssUg+LIn0QwJuYA2xmkxk?= =?us-ascii?q?LyvESKhXj7t7dmBriRXQuZ1RFv5AVadEegMfxemLZ/U01lRRsj+nylFc5eTbE5?= =?us-ascii?q?RijhclcZ63on1b2gJjdsM6JaveJKpR1FhfmKKPsjWu1u8v3A8UP1wN/3+KeC4U?= =?us-ascii?q?pEwIMaErKDev/uxq7wyNhiVMeGwNV/cxuP1l6Fk9O+OawyLnyb5DJVi7N/aDIK?= =?us-ascii?q?OBp2jAicmIT0st2UwSiUlF/KV50dw4fkWOTUAv1ryRFhoSNcXcNQ5VctBS9HnP?= =?us-ascii?q?fSeOq+nNx4x6P5mlHODyUeCOrLoUgl6jHAsxAosM9doOEYOj0EHCN8jnMqUIyQ?= =?us-ascii?q?436wToOVWFFu5GdAiPkDcapcGw1oV30ZBBJjEaAmV8MSK36qzRpgA0nPqJRM02?= =?us-ascii?q?bWsCXosYKnI2X9W3mypev3RaEja31OMYyA+Z4j/zoCTQESPwb915ZPebfRlsEs?= =?us-ascii?q?25+S0j86iqjl7a6o7eKH/+NdRjvN/P9Owbqo2bBPNTSLlyr13Tm5JER3CwVW7A?= =?us-ascii?q?D8K1LYDqa4Ywddz0Fmq6UlunhjI2VcfwPMyiLq6UgQHoXotUv46b3Cg/OsOnED?= =?us-ascii?q?ERBQtwrfkZ5K1gfQ0Df4Y7YRnwugQiNqy/JQCY0smuQ2etMjZZUvhfzOWgaLNM?= =?us-ascii?q?1SYsaPG1yGc4RJEg0+a36VINRI0NjhzG3/mjY4heXjTtFXNFfgXOpSw5l29nNu?= =?us-ascii?q?ko2eow2xLIvkMaMzySeuxpdXZIv9ciClOOOX92EHY3R0eAjYrf5Q6hx6sd8DVb?= =?us-ascii?q?n9tPy+JKrWb+sYHFYDK3QqOrs5XUvzAnbdg8rK17KZbjLdeetJPCgjzfS4Hdsg?= =?us-ascii?q?KYUC67E/pansZfICdDTfZVh24qIs0GtpBH6UYrUcc+PbNPArE2pr+2cTpkETIS?= =?us-ascii?q?zSgBWoOa2jwCg/uz27vdlheUa5QsKAUKvohYjNYBVCB7eT8RpKimV4rKjWCEUX?= =?us-ascii?q?QLLB0V7QtS+AIKjpVwcfz94IrUUJ9MzCZbo+hpXSTWDZRo+F77S26MjVj+Vvqh?= =?us-ascii?q?j/Sj3RhOw/L0ztkbRBl/BFBHx+lMjEsoL6p4JrIMvo7QqDCIa131vGbsyOugK1?= =?us-ascii?q?lRzczUd1L4DIrZu2rzSDcc+XgOSY9J1n7fCYwYkxBlZ6YzuFVMPIemd17w5jA+?= =?us-ascii?q?24tpH7i4VcWqx1k/rnYLXCaqHMRfBO54ql7XXydlY5+zopX/J5pSWnNQ+IGaq1?= =?us-ascii?q?pBikptKTO5yZxGJ8FO+TMMXTlPoTSBvNSpUsFD39F5D4MUKNdlp3j9AL9EOISW?= =?us-ascii?q?o3Auu7zvzGPZ9C44sFikwTW8BbO4T/hZ/mAFHQUpP3qRqk8qD+Q282fS9kvCsl?= =?us-ascii?q?d7/utBAbiPl0pxqi5nHp9SHjZJyWylL1NrQXlJqeVVMqLVc9BHTvkzYh+uNRo+?= =?us-ascii?q?FeIm30OX/EF0m2v5bDJotgdA/SDSQRU0XzEPgrjxgT0ett2nOTgCRpJUajUhaj?= =?us-ascii?q?zIKx6HlSBSpxlTcUdqVI4FAtxd4bEUwZNU/tbeSUarMSwFXAZtNhgi3vpbiEFO?= =?us-ascii?q?q1iXdj7FDQqwa/nPtgN4fd2LoM6uNvT58x9Nipn7v+Ag66UDW3qmlBWvQdDZsY?= =?us-ascii?q?DxrcCFuVWVdKjmKe28fWHOQyXWgRC2m7gkE4HA/zLPPwpDN5l61X0kbID6Bm7F?= =?us-ascii?q?IRtKO6AWK1dVWK1hddpGpeVaaNN+d6YS5a9hHBSHSQ3zGIa3tvlJMk7TRSjCLy?= =?us-ascii?q?WG6uG/u5zc4qHdSef6esyB3HLHQ6VpPphk9zX0B7Dq3pJA9Ubs3Pdi6F96Q0Dc?= =?us-ascii?q?My+dtNThOh8L5M66e0v6pZ0pASnZD4pskHf23UFAcNcXQze2/5sGzpNZ9GzwRv?= =?us-ascii?q?h80kTpt+1S7bZk45Et47910ce0ObvSKfNCvE97GBibGBtl+Yg2DWhiQ2BRfvUR?= =?us-ascii?q?J+3PfaQYisDur/74F7AN5B2S4exZZsPNJ1vdlcmnFjGcVRtEkR8DqTEANAuc0O?= =?us-ascii?q?WFm6tuRsa7vuX5318t41yiLh4H0L9t5J2L+qyTpOPNaBvR17cEULDwRszvtrQs?= =?us-ascii?q?p1+S5fo8mb4MYGN1ZQOnEPIaVsEA2Gjt1rwqwjgqE8PYGLLs4vhDWGwlnjj4gZ?= =?us-ascii?q?ByA00WGu8IHbqM5YlemGM4lvfYNt0Qd6BOgGePFRiqEr8Y03Gr8DeXIHN4gh7S?= =?us-ascii?q?zxHwXHmz40HsoS9/WyvMwM/pklBJWbmvGUdSQy2pNFd+sDOOIAXos973tr4u7E?= =?us-ascii?q?0sM2zks9WNlHC6OL5MGs3yK9OdLTMzpFINg507Xsav1pwDGdqhPNcR92lzYefE?= =?us-ascii?q?5GOvjSBBuLtHhorZ4syO4fXYAXiggLOcq7WRxTBX0GI0vVch5dC8LvvO/cGFQ+?= =?us-ascii?q?y012YNSCdyow/BXwWwqrHbtF0UN1KE31rMmIwQJN5ZxWM41kbk5Oc9XN0z6B9S?= =?us-ascii?q?FoHaZ/MNvTrzIif7wU6DY9IrUSmTyzlXHlPwEVRjHagzxmLxs9zTlXfR/V0oSZ?= =?us-ascii?q?N8d0r5ihxrF484M14i6EALwiofFggAcRGbDbCyCkv/MYQJTlMDZgqb3LekZqg7?= =?us-ascii?q?x0pzwqmg5OXLd+xzG7INNupBjg6JhFVUAZMWsbYQQb1meV9d9bLXphD4BIj6W/?= =?us-ascii?q?jrjmY/NfqoTc9E688ZqmEi4gGlRxW685tD6KwbiJ+QfK5efZfMpNx871tg5TMX?= =?us-ascii?q?bixCmgR/gA+5UeESo+Dj+NvbvIOz6umwUKYtRuMX9wU7Bmlll5v/mkwjrs3X1+?= =?us-ascii?q?ZSTY3Vk4f//BpOI3GUooba1QdzKe4UJ4KsZrZg+G0NJzICKHIWIdqWd/487jdx?= =?us-ascii?q?MDXJ+VNCBtkDZdUGM8fWhA9Ui0LpWLBP9sXBAV+XEZ1zd90y42rx1j817YM2Uv?= =?us-ascii?q?z85z+uOZDf81ZNMutMjCp2jtLNuvQVwfrJBSgT4HmZdwZ6wiOYxJmQEPb85+OM?= =?us-ascii?q?x8/IV1keBC45T59dJCae+QygXue1m4vmUgWI6s/0h5Iyc1mQSWK1nKQEtKZMDO?= =?us-ascii?q?FBhz7/3jdADID0h+iav8Cq6GRJql1NCJxz4gHdGKVDIpV7Pgz1mdWpRkdmGiTy?= =?us-ascii?q?Y93bdh0quOqSx+cD/f9+N1fgaoAHIhII0bX66WBaTgF2Ur75ok6ZXf4NZNthUP?= =?us-ascii?q?7Eq3dV6YR8K68AIleQv5nqrjZSp1AwHgApdLExrjtAdknNhw1ZQaD0t6AcigEE?= =?us-ascii?q?S952pVdMGX6sOGI5/zfHWrhajLKKCPAM7zudQaoAU0RuMiNjTBK4w5pue76zkv?= =?us-ascii?q?BBrGxKhCR9oOIl0zZ+XhuzpTXsp74R2TIn4Ly4tjIBuXxDTumEjyjICVFDzOkX?= =?us-ascii?q?gqYdCnbi70e8YHoCbIbp/rlnJNrg+pMl43siYBUvZSsGUvq8CyvolaOHHpSPsM?= =?us-ascii?q?5AhB6KoMjObKGzIjIUNrkmzRLjWmVy0gnZnBZz6mcLRS+g7NA8LoWnJckl3jao?= =?us-ascii?q?GXTcdFsU4KNGrsXxtVAPTOYtZ1Ju2mNj3dabRiEXQszABXo1hBA+aWpYaJJD9Q?= =?us-ascii?q?MaF64wjzaHuqlG+Q8VbynQEoSh4YTQhsDI2X88Tdh23G7WoLOKho8y2n1/h9x0?= =?us-ascii?q?9jKOuGgVd+HAUc9sAnjy1p9Yyez6ZvWtrv4IRZBjyLSgTP8CKNes9XGx2JVwVU?= =?us-ascii?q?+v3q4eEEahMO8f2rfbVD+oSXGZWeSOaGWMgzc5PVLx5Ra2Kl07csFKoFEhMuHa?= =?us-ascii?q?nJ5TixXhUa9oRiWXvVLbyW0jMeAZdwIxo4qneRYFTO0WZ+iaO+cuxucyCF0SYH?= =?us-ascii?q?/VBSF2EfO5sUaxnIhnPHVt+V71bvrr8gD6K9aSAR0EEYnGrp5t5/y1WH+ONWVn?= =?us-ascii?q?zB1oM0l+7/3fGEgptu9Ab5aRmsDdh8x80e4BbfhtKyM8utkXmoJt8oSU1cCKcR?= =?us-ascii?q?bKzpnsOd7VuP+YA+bEz0QrfGFaXaAVYQTv54U1JtQ5QaHcHaNFvRQAAqg3WJIh?= =?us-ascii?q?OHn19KF1NAN8bBXcZbW1gsnvo+KEeIFUp3vI4V4qKyfcoRIDwOSuTQNnd5Cqm2?= =?us-ascii?q?nyIJcoSzNPt91tEBpmE5dRFM4bqgqnAoKUmLulhNOr/EN6oeAKu7LqCv/WzNS5?= =?us-ascii?q?w5lxX59C6EyMODbeGrJmglxhjuuomffAzpjxBt/+edMeSud0XHTJarnYEYWjMj?= =?us-ascii?q?iOIN7ze1Za876A17J0ShGRZCH/X6qbuyyoLfFk4UQgyoxkZ+re1z0t4Kvd2Nv1?= =?us-ascii?q?fW1boT2jrXGRPptF8FPKHfDeXw5TSfed62ZqA6kXbYry9OcTPt0ux9eS4xVz7D?= =?us-ascii?q?tcysuKPbChoVXX10J4a53bNk3p1Dg9WYYRPRS/PlEggWjDqnTSGX5cNNSrKdFx?= =?us-ascii?q?gNaJCRzg/0xxlnsxaW5BG2roQ9CRNHMF28K/Yg2F6gZLD9cFn+6qdk80rKqySf?= =?us-ascii?q?NnOp9dg+WlqK0Hkcp1KyHIXMVaPTvfLLxxPjVKFejPuV4oYgIEs7gyR4c1apiO?= =?us-ascii?q?IF8dPEeG1yzy0RPI0VfoeNy0yKaJPCEW/21Iz73fyjdMvQi5tuidgsD4TrDZaI?= =?us-ascii?q?v5XOXTMCo4TD2aQyo9EVqx81e+p/UEpOaYIXsYol0MYCKSDQkTprp1rdjRFW/e?= =?us-ascii?q?gutjc4cPhP+EWiD8Uip4lLA9BixTr0CDX+IDFRXKb3/mmGdcowKiJvpQ8n/kbL?= =?us-ascii?q?CV3bRVVPIMAotNc/yZRN3YdepYJzg2ijVKcNq7KsbRq7c/z0LgUXoSE66O8kaX?= =?us-ascii?q?CkGRXLjUwzPtQJVQuYYvkjQn98iWnSJtFanMebGFqG2A6Im92R2TvvHCHkwkck?= =?us-ascii?q?w4n6pWG2yI0RlNN0keBt0VsV2rSamFMRUfnEk1gP5jjkdfMD94VWdjhzgPxa6w?= X-IPAS-Result: =?us-ascii?q?A2GZAQC3GShZ/wHyM5BdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgwEmA4FvjnqobS2JDlcBAQEBAQEBAQIBAmgogjMkAYJBBgECJ?= =?us-ascii?q?FIDAwkBARcxCAMBKCsHEgWIU4FSrUE6JgKLLAExhl+JL4YjAQSeI5MbDYIGiHU?= =?us-ascii?q?nhlWJAYtNWIEKMCEIGxWHZFqGTII9AQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 26 May 2017 12:06:53 +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 v4QC6oOU010721; Fri, 26 May 2017 08:06:51 -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 v4PL8fGC229996 for ; Thu, 25 May 2017 17:08:41 -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 v4PL8WIr025704; Thu, 25 May 2017 17:08:32 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DxAAB6RydZhxy3hNFdGwEBAQMBAQEJAQEBgywmgXKOeqh0hiQCgwBXAQIBAQEBAQITAQEBCgsJCCiFSAMDJ1IQUSwrBxKIV4FSrFQ6i04BAQEBBgImhl+JL4YjAQSeI5MbDYIGiHWGfIkBi02BYTAhCBoVhVGCCyQ2hmeCPQEBAQ X-IPAS-Result: A1DxAAB6RydZhxy3hNFdGwEBAQMBAQEJAQEBgywmgXKOeqh0hiQCgwBXAQIBAQEBAQITAQEBCgsJCCiFSAMDJ1IQUSwrBxKIV4FSrFQ6i04BAQEBBgImhl+JL4YjAQSeI5MbDYIGiHWGfIkBi02BYTAhCBoVhVGCCyQ2hmeCPQEBAQ X-IronPort-AV: E=Sophos;i="5.38,393,1491278400"; d="scan'208";a="6067021" Received: from emsm-gh1-uea10.corp.nsa.gov (HELO emsm-gh1-uea10.nsa.gov) ([10.208.41.36]) by goalie.tycho.ncsc.mil with ESMTP; 25 May 2017 17:07:57 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AX/+CsRSJ07/v6JMrUdh/zxyhMNpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa69bRaN2/xhgRfzUJnB7Loc0qyN4v+mAjBLvs7JmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBe7oR/fu8QZjodvKLo9wQbVr3VVfO?= =?us-ascii?q?hb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnY?= =?us-ascii?q?UAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhS?= =?us-ascii?q?waLDMy7n3ZhdJsg6JauBKhpgJww4jIYIGOKfFyerrRcc4GSWZdW8pcUTFKDIGh?= =?us-ascii?q?YIsVF+cPPfhWoZTzqVUNrxS+CxKhCP/zxjJSmnP6wbE23/gnHArb3AIgBdUOsH?= =?us-ascii?q?HModvoKKgSVvy1zLXVxjvEdfxX2Tf955bGcxs8pvyMRrdwftDRyEkvCQzEgE6d?= =?us-ascii?q?qZb7MDyI1uQCqXSb4/B8WuKojm4qsgd8qSWsyMc0koTFmJ4Zx1Te+Slkzos5O8?= =?us-ascii?q?e0RFN4bNOqCpdcqSKXOo1rSc04WW5oojw1yrgetJ67YicKzJMnygbaa/2IboSE?= =?us-ascii?q?+AjjW/iMLjd4nn1lZKiziAq18Uil0uH8V8+030hWriddjNXAqnQA2wbO5sWJVP?= =?us-ascii?q?dx5Fqt1DWB2gzJ9O1JIlg4la/BJJ4gxr4wmIATsUPGHiLug0X2ibWZd0Uk+ue2?= =?us-ascii?q?5eXqea/mqYGBOI90kA7+Lr4ildC4AeQ9KgQORXSU+fyg1L3/+k30WK5KgeAtkq?= =?us-ascii?q?TCrJDbJdgUpq6+AwNP1IYj8AywAy2p0NQfg3kNNEhFdw6fj4j1J1HOJ+j1Deyh?= =?us-ascii?q?jFSokTdrwe3GP7L6D5XRLnnMjLfhfbFn505a0wo818pT551TCrEfc7rPXRrqud?= =?us-ascii?q?jZCAIpGxClyObgTtNm38URXnzLSquYNr7C9FmG/coxLOSWIowYojDwL74i/fG9?= =?us-ascii?q?o2U+nAomdq61wdMyYWG4E+sud16caGvsj8gpC2oGvgMiCuftjQvRAnZoe3+uUv?= =?us-ascii?q?dktXkAA4W8ANKGH9j1jQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HAAABNRidZhxy3hNFdGwEBAQMBAQEJA?= =?us-ascii?q?QEBFwEBBAEBCgEBgwEmgXKOeqh0hiQCgwBXAQEBAQEBAQECAQIQAQEBCgsJCCg?= =?us-ascii?q?vgjMkAYJBAwMnUhBRLCsHEohXgVKsYDqLTwEBAQEGAiaGX4kvhiMBBJ4jkxsNg?= =?us-ascii?q?gaIdYZ8iQGLTYFiMCEIGhWFUYILJDaGZ4I9AQEB?= X-IPAS-Result: =?us-ascii?q?A0HAAABNRidZhxy3hNFdGwEBAQMBAQEJAQEBFwEBBAEBCgE?= =?us-ascii?q?BgwEmgXKOeqh0hiQCgwBXAQEBAQEBAQECAQIQAQEBCgsJCCgvgjMkAYJBAwMnU?= =?us-ascii?q?hBRLCsHEohXgVKsYDqLTwEBAQEGAiaGX4kvhiMBBJ4jkxsNggaIdYZ8iQGLTYF?= =?us-ascii?q?iMCEIGhWFUYILJDaGZ4I9AQEB?= X-IronPort-AV: E=Sophos;i="5.38,393,1491264000"; d="scan'208";a="7474427" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mx1.redhat.com ([209.132.183.28]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 May 2017 21:07:56 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 92080C04B95B; Thu, 25 May 2017 21:07:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 92080C04B95B Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=smayhew@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 92080C04B95B Received: from coeurl.usersys.redhat.com (ovpn-121-173.rdu2.redhat.com [10.10.121.173]) by smtp.corp.redhat.com (Postfix) with ESMTP id 51A6960465; Thu, 25 May 2017 21:07:55 +0000 (UTC) Received: by coeurl.usersys.redhat.com (Postfix, from userid 1000) id DD43920678; Thu, 25 May 2017 17:07:54 -0400 (EDT) From: Scott Mayhew To: selinux@tycho.nsa.gov, linux-nfs@vger.kernel.org Subject: [PATCH RFC 2/2] nfs: update labeling behavior on a superblock when submounting Date: Thu, 25 May 2017 17:07:54 -0400 Message-Id: <20170525210754.24265-3-smayhew@redhat.com> In-Reply-To: <20170525210754.24265-1-smayhew@redhat.com> References: <20170404232646.GB24146@parsley.fieldses.org> <20170525210754.24265-1-smayhew@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 25 May 2017 21:07:55 +0000 (UTC) X-Mailman-Approved-At: Fri, 26 May 2017 08:04:02 -0400 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: "J . Bruce Fields" , Stephen Smalley , Trond Myklebust Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP When the client traverses from filesystem exported without the "security_label" option to one exported with the "security_label" option, it needs to pass SECURITY_LSM_NATIVE_LABELS to security_sb_set_mnt_opts() so that the new superblock has SBLABEL_MNT set in its security mount options. Otherwise, attempts to set security labels via setxattr over NFSv4.2 will fail. Signed-off-by: Scott Mayhew --- fs/nfs/super.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 2f3822a..d7a3b89 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -2544,10 +2544,31 @@ EXPORT_SYMBOL_GPL(nfs_set_sb_security); int nfs_clone_sb_security(struct super_block *s, struct dentry *mntroot, struct nfs_mount_info *mount_info) { + int error; + unsigned long kflags = 0, kflags_out = 0; + struct security_mnt_opts opts; + /* clone any lsm security options from the parent to the new sb */ if (d_inode(mntroot)->i_op != NFS_SB(s)->nfs_client->rpc_ops->dir_inode_ops) return -ESTALE; - return security_sb_clone_mnt_opts(mount_info->cloned->sb, s); + error = security_sb_clone_mnt_opts(mount_info->cloned->sb, s); + if (error) + goto err; + + if (NFS_SB(s)->caps & NFS_CAP_SECURITY_LABEL && + !(NFS_SB(mount_info->cloned->sb)->caps & NFS_CAP_SECURITY_LABEL)) { + memset(&opts, 0, sizeof(opts)); + kflags |= SECURITY_LSM_NATIVE_LABELS; + + error = security_sb_set_mnt_opts(s, &opts, kflags, &kflags_out); + if (error) + goto err; + + if (!(kflags_out & SECURITY_LSM_NATIVE_LABELS)) + NFS_SB(s)->caps &= ~NFS_CAP_SECURITY_LABEL; + } +err: + return error; } EXPORT_SYMBOL_GPL(nfs_clone_sb_security);