From patchwork Wed Dec 28 23:05:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guido Trentalancia X-Patchwork-Id: 9490811 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 B3DD462AB0 for ; Wed, 28 Dec 2016 23:06:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9CCDF26242 for ; Wed, 28 Dec 2016 23:06:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 913E526419; Wed, 28 Dec 2016 23:06:15 +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.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (smtp.nsa.gov [8.44.101.9]) (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 5894B26242 for ; Wed, 28 Dec 2016 23:06:12 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,423,1477958400"; d="scan'208";a="1887964" IronPort-PHdr: =?us-ascii?q?9a23=3A6fckhRMwEuBT/xRfzFgl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LPj/psbcNUDSrc9gkEXOFd2CrakV16yO6Ou4CSQp2tWoiDg6aptCVhsI24?= =?us-ascii?q?09vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7?= =?us-ascii?q?Ovr6GpLIj8Swyuu+54Dfbx9GiTe5br5+Ngm6oAveusUKgoZpN7o8xAbOrnZUYe?= =?us-ascii?q?pd2HlmJUiUnxby58ew+IBs/iFNsP8/9MBOTLv3cb0gQbNXEDopPWY15Nb2tRbY?= =?us-ascii?q?VguA+mEcUmQNnRVWBQXO8Qz3UY3wsiv+sep9xTWaMMjrRr06RTiu86FmQwL1hi?= =?us-ascii?q?cfLTE59WPZhdJqg61Gvh2hvRxxw4/Kb4GRKfV1Y6HTcs0ASmVcQMlRTTFKDJ6g?= =?us-ascii?q?YIsIFeoBPOBYr4bgrFcKoxayGQygCeXhxT9Sgn/9wLM03eIvHwrb2AAsBs8CvG?= =?us-ascii?q?jRoNjzKawcU/26zLPQwDvAcv1Y2Snz5obPfB8uufGBX698fMTNxkcgCQzFlU6d?= =?us-ascii?q?qZDnMj6PyugAqXSX4/RmWOmyi2AnsQZxoj23y8ktl4nJh58aylfZ/itn2oY6O9?= =?us-ascii?q?u4SFJhbt6gCpRQsT2VN4psTcg/RGxotzs6yrwbtp68ZyUK1I4nyADZa/ybaYeI?= =?us-ascii?q?5gjsVOCNLjd5nn1pYrS/iAiu8UW5zOD3S8q60E5SoyZYndTBuWoB2hzO5sSdVP?= =?us-ascii?q?dw8Vmt1SyS2wzL9+1JIV04mbDZJpMg2LI9mZQevV7HEyL1nkj9kbWYeV8++uey?= =?us-ascii?q?7uTqerDmppiBOIBqkgz+KaEumtCnAeQ/LwgOQ3CX+eSi273n+k30WKlKgecskq?= =?us-ascii?q?nYrZDaPt4XprK5AgBJ0oYj7AyzDzG639QDgXYLNldFeBODj4TxOlHOJu73Deun?= =?us-ascii?q?jlixnzpmyOrKM738DpnXMHTOn6ntcaxg50JEzQo819Ff55ZaCrEbJ/LzX1f8tM?= =?us-ascii?q?fGAR89Mgy0xfvnCdpk2owFXmKPH6mZP7/Mvl+T/e8vP+mNa5MVuDb6MfQl4eXu?= =?us-ascii?q?gmUjlV8Seqmpw4MbaGqkEfR+P0WZfX3sj88ZEWgUpQUxUurqiFyeUT5UfHuyXr?= =?us-ascii?q?wz6S8lB468CofDXI+tiqSb3CinBp1WenxGCleUHHj1cIWEXfEMZz+MLc9lkzwJ?= =?us-ascii?q?TqKuRJE71RGprgP6zKBnLuXM8C0CqZ3jzMR15/HUlRwq6DN0E96S03uWQm5omW?= =?us-ascii?q?MIQiM507pkoUxh0FuD17Z3g+BAH9xJ+/xJShs6NYLbz+FiCtDyXB7BccmNSFm4?= =?us-ascii?q?R9WpHy0xTsgxwtIVZEZ9A8utjhbG3yWwAr8Vk6eEBJs7867G2HjxPcl9wW7c1K?= =?us-ascii?q?Y9l1kmXtdPNWq+i69/9gnTAIjJnl6cl6aubKgc3SjN+H2FzWWUpkFYUw9wUbvb?= =?us-ascii?q?UnwFYEvZs8j57FvYT7CyEbQnLhdBycmaJ6RUct3ml09GRPb4ONnFe2K+gX2wBR?= =?us-ascii?q?eTxrOUaIrlYXkS0zvHBEgDiQAT8m6MNRIiCSe5v2LeEDtuGErhYkPt9el+rW20?= =?us-ascii?q?TlUvwgGEcUJuyr21+gQPivyEUfMT2bAEtzk9pDVoBlq92MjWC9WYrQp7YKpcec?= =?us-ascii?q?894EtA1W/BuQx9JIavL6Z+iV4faAR6pEbu1w12ColZisgromgqwBB1KaKC31NL?= =?us-ascii?q?bymY0ozoOr3LNmny+wiia63M1VHd19aW57wC6PcipFXguwGpC1Au83J909lay3?= =?us-ascii?q?Gc/InFDBIOUZLtVUY67wJ1qKzAYik8+YzUz2ZhPrOovT/Hwd4pA/Elyhm4dddF?= =?us-ascii?q?LKyEDBPyE9EdB8W2NOMlgVypYQwfPOBO9K80ONird+Ca166qIulgmi6mjWVd74?= =?us-ascii?q?xn1EKD6TZ8QPbS35kZ2/GYwheHVzDkgVehrM/3nYREZTYJE2q71CjkGIlRZqho?= =?us-ascii?q?cooRDmeuOcK3zM1kh5HxQ35Y6EKjB1Qe1c+ydxqSdVv93RZM1UkMunynnyy4zj?= =?us-ascii?q?Jxkz4zqKqTxirOzPr+dBAfIG5EWHFijUvwIYizl90bUlKnbww1lBS7/0b63LNW?= =?us-ascii?q?pLphIGnJWkhIYi32I3tlUququbqIe9RP548wsSVLTOS8ZkiXSqLgrBQH0iPsBW?= =?us-ascii?q?9eySsneDGtv5X2gwZ1iHmBLHppqnrWZ91wzw/F5NPAXf5RwiYGRC5ghDnRB1i8?= =?us-ascii?q?O92p8suPl5rYqO+xSXihVppJfSns14OAuzOx5Xd2Dh2ng/CzhtrnHBAk0S/6y9?= =?us-ascii?q?ZqSSLIrAzmbob316S6NuRnfkZzCV/46sp6HJtxkpE3hJ0K3nganJqV92IdkWjv?= =?us-ascii?q?KdVbxb7+bH0VSD4Pwt7V+xTl1FR4Ln2Xw4L5V3OdwtZuZtSheWMWwiM978ZLCK?= =?us-ascii?q?iI97xIhy11rUSkrQjJe/hygi8dyecy6H4dm+wJog0tziGZAr8MB0lXISvslhqT?= =?us-ascii?q?4tClsaVYeH2vfaK31EpkktCrFKuCrR1EWHblZpciGjd97t1lP1LR1H3/8JvrdM?= =?us-ascii?q?PLYtIUsh2UjxDAj+5OJZI0ivYKgy1nNn7nsX0j1eE7kQRk3Yums4ifN2Vt4KW5?= =?us-ascii?q?DwZdNj3xfs8c5DftgL1AnsmI24CvGotuGi8RUJvuU/2oDCoYte77OAaWDD08tn?= =?us-ascii?q?CbFKLcHQCB7kdmtGnCE5O1OHGRP3kZy8ttRAWHKExYmgAUUy0wnoQlGQCy2Mzh?= =?us-ascii?q?bEB56ygJ5lHitxtMzvxnNwHlXWfZuAendC00RYOCLBpN8A5C/VzVPdaF7uJ0Ai?= =?us-ascii?q?FY5IGuoxKDKmycfQRIAn8GVlaCB1/9Irmk/cPA/PSABuqiM/vOZq2DqfJYV/iV?= =?us-ascii?q?3p+vzI1m8CuMNsmVOHltEeE70FJZXX9lA8TZhykPSysPmiLVdcGbuRO89zZroc?= =?us-ascii?q?C+7PTqWBvj5YWVBLtUK9lv/Aq2gaibPe6KmCl5MSpY1o8LxXLQy7ge3FoShD91?= =?us-ascii?q?ejmoFrQAuyDNQ7zMmq9LDx4bbCZzO9VS46I6wAZNJdbRisnp2b5gkv41F1BFWE?= =?us-ascii?q?Tvms6zY8wKP2a9NFbcCUaFKruJODrLw9vtbqOkU71Qi+dUuAOstjaHCUPjOS6D?= =?us-ascii?q?lzbxXRC1Le5MlD2bPABZuIylbxltD3LsQcn7ZR29KtB7lzo2wac7hnnSL24TLS?= =?us-ascii?q?B8c19Rrr2X9S5YmO9zGmJb4npgN+aEnyGZ7unDJ5kMrfRrBz54l+VA4HQ107FV?= =?us-ascii?q?9j1LRORpmCvOqd5ju1emkvOVxTp/SBpDsThLhIORvUV5JaXZ+JhAWXDe8xIL8W?= =?us-ascii?q?qQCg4Fp99/Bt3ooaBQxcDFlLjvJzda79LU4cwcCtDJJ8KcLnUuKxXpGCTOAwsb?= =?us-ascii?q?VjOrLnvQh09AkPGI7HKZtJw6qoXqmJUUUL9XTUA1FvQZCkVlG9wOOpF3US04kb?= =?us-ascii?q?SDls4H+WK+rAXNRMVdpp3ITfOSAfroKDaflrRLegUHzqj5LYsJMI33wUtiakN1?= =?us-ascii?q?nI7SAUrfQchNojF9bg8zuEhC6nd+QXct2037cQ6t52cTGuCynh4zkAR+YOAt+y?= =?us-ascii?q?zr41Y4PFbKozEwkEYpk9X/nT+RaCLxLLu3XYxOFyr0sE0xPonhQwZybAy9g0pk?= =?us-ascii?q?OyzeR7JWkbRgdntmhxPbuZtKBfFTV7ZEYAMKyfGRefoozUxWqj+7yk9f+evFFZ?= =?us-ascii?q?ximRMqcZ6wr3JA3AdjY8QuJaHLIapJz0RQhriQsSOy0eAx2gAeLV4X8GyOYC4I?= =?us-ascii?q?pFAINr4+Kiqu4ONj8wiCliBAeGgLTPoqvuhl9kUmO+SDziLsybhDJV6tN+aHNa?= =?us-ascii?q?OWp3DAldKUQlM3zk4IjVdK/aNo3sg5aUqbS0AvwaCKGBQIL8rNNAZVb8RK9HjJ?= =?us-ascii?q?YymPsf/BwZRrMIWhDuroV/OBtL4IgkK4GwYkB5kD4d4fHpmtzU7YNtzqI6QfyR?= =?us-ascii?q?U34wTqKk6FA+pVdxKWijcHot2/zZ9t0YlbOD4dHX13MT+r6bbPug8qnP2DUc84?= =?us-ascii?q?YncAQIQLK2k2V9e8my5FuHRAFyK63fgFxwiH9TP8oT7QDDbkZdp5ePiUfQ9sCM?= =?us-ascii?q?2x+Tgn96i2jkTX/YvYJ2D7MtRvodDP6eUHp5qdDPNUV7Z9uV/Gm4ZEX3yqT3LP?= =?us-ascii?q?EdmtKpjrdYYsad30CnCnUl2wkD86U8DxPNOxIaeSmgHoWZxYsI+F0zA/LcW9DC?= =?us-ascii?q?0RGw9sp+Ef46JxfRAMbIY+YR7vsQQ+K7GzLRyG0tqwWWatKDpXT/5ZzemgYbxY?= =?us-ascii?q?0TYsZPegyHQ8VpE60/W38UkVSZEJlBHfxeysZ49CUSjzAXFddALPpTIlmGR7MO?= =?us-ascii?q?Y93Ps/ygvSsVYAKzCLaPBpaGtcstEgBFOSJHJ2CnY4R16clofM/w+s3rAI8CRG?= =?us-ascii?q?hdpU1/NKsGTmtJ/FfD2sQLCrqYnSsyc4Ytgmubd+MYr/IsadtZPemTLeTJ/Msg?= =?us-ascii?q?2FTiG6FvxamsROLyJCWvVIn38qOdAes4pb9UUxTts+J6BICKQ0vL+qbTtkAjIM?= =?us-ascii?q?wiABUoOB3DoCguC627TAjRqfa5UiPwYCsJlbjNsdTjR6YiUAq6+/T4/WjXOLSn?= =?us-ascii?q?AXIAcP6gRB/BkPmZF2fu3++oXHUYFMxCBMo/JvSCTLDJlp+0H8SmGMjljyUO+h?= =?us-ascii?q?nPCx3QJO0PLs1cEWWAR5CUhc2+lWlkwoKLVsK6cIp4DEryWGeF/9sm/21OSmI1?= =?us-ascii?q?xRxtHOeF3jEIrJr2z8XTMA+XcMX49A1GnfFYgOkwp+cKskuFdML5q6dUvl+zMk?= =?us-ascii?q?wIBpH725Vc+13VYlsWgJSDuqE9ZbDOFmql3XUiV/Y5+3sJXlJ4lSQmhI9Z2HsV?= =?us-ascii?q?hZikJtPDWixJpAMcFC+CAMUyZLoTWcutuyR8lD2c55D58MPtd/tW3yGLlBOJSL?= =?us-ascii?q?pX05pKDvwGfD+z8gqFe62CmzG6igQuNX5WERBgUpJ2WbqkkuFeQs8Xzf8lHTvV?= =?us-ascii?q?9q4ehXHL+PjV9+oDxlBJBBGi5J1Wy5L1R0VHRGq+JaKKDPfMxGTfgyYhuvOxIl?= =?us-ascii?q?GP4j2EyJ+lp0kmnlbCxosQta4DvdXwgyVSkamLvtniceqs6/Mz8AV51IdSkhbz?= =?us-ascii?q?vCKw+Dgy9Xpgtfa0dwV5AaGdtF+rAb3YpI/sXZU0qsLz8KXAB6PAIizfVfjVJD?= =?us-ascii?q?sFmfeS3FEQqocvPPvwZrfcuNqc6mN+71/AFZhYP7qOo47bkMR2W6mQ2xRtDTt4?= =?us-ascii?q?/8uceQtkSUcKf3LvaxbmLfQzjUlRC/m7MkAIfQ/yTJNwpbMZZ6w2I+YZf9EW7L?= =?us-ascii?q?IQhGJ6UDKkpZUqB1d85Lrf1EaM9/ZqkJ47NtCQyaSR/1HoygsuVGJE7JRTvCNy?= =?us-ascii?q?WB7vC/oYXL4LPGR+jvetCAynTaT695JZp19T77G7L23oBE4Ur2xu1h9kVkRlja?= =?us-ascii?q?KyqBtsjuJhsX5Mm+cUvvpocpEi3LD5dwinXt2lpNd84QQy207psU1o9W6HHtRu?= =?us-ascii?q?1myETztvNd96V844kt/79p0du0JbvVKflCqU9nGQSUCR93+ZUxG2V/XGdRYvIL?= =?us-ascii?q?KPjNY6sZi9zuq/rtGKwT8hGV/PZZadTfLUHbhsa/Ei2cSQBDnAoZtT4aNBWT2O?= =?us-ascii?q?CYlKJvVMalofT52lg37FigLx4Gy7Rt6pmY+qaSo+/XdRTRx6AeWqf2XsPzsqgs?= =?us-ascii?q?u0SK6P0hjrEOfmh1bBO7EOgBTMES3HztzaY0wiIwCMPMA6jv+OZdWH4jmDLvhY?= =?us-ascii?q?x9FU0MGvwIBbqL4ZhenmAgluzbLNIWaKdCmn2LFRG+DL8P0nur6zaTIGl5gxHB?= =?us-ascii?q?zxDwTnm17F/ttyN4RjHMz9j7mEpPSra3HVtSXzauOUJgsjOAJgzotNTtuaQy8U?= =?us-ascii?q?45LHfptM6Xm2unI7NXGNfzJNqCLikovFgXloE+RsSz2YAHHtqwONgR8Gx/bvva?= =?us-ascii?q?72OkjSpBrrxaiIXA+c6V++/YHX+6g62dsbWNyyhSymIkslEn9tCgKvbO6sWMQ/?= =?us-ascii?q?SszGsRTiF/uw7bUx60rLzboUoUNlaQ0EfXgowKI81W3WUl1kH8+ucvWtUz9B9R?= =?us-ascii?q?FozYffMNuSjzOCfowVaYe983Uy6e0z1LHlL6D1Z1A6082GPqs8LPi3jQ51MpRo?= =?us-ascii?q?5qd0zknhx7FYM4Jlwx6FIP2CoMDRANaQyHDLGvHUnlN5YLWlUYZBSI2bi7db07?= =?us-ascii?q?3UttzbOz/OXTd/BzB7IRNvZBiQ6DhFxbGokTsaAeW798dUFS+7PQpgj4EYfnR+?= =?us-ascii?q?LmlX0yNfKrXs9a7doVt3w44gawXxCg84tM764HiJCUca5JeYPMs9pi70h96j4A?= =?us-ascii?q?aDdNjQNkjxyjT+ATvu/j7cbAsJay7OahSrotTf0N9xcoH2R+k4fwgFc7rNHV1u?= =?us-ascii?q?dcT5bYiYHh/wFNPXGKoofa0x9zKeYULYKkYqpg/W0dJycCP3IOIcaWa/4k7i9s?= =?us-ascii?q?MTTc/UZNDd8XaNMDIsXNhR5bhVHzVLFU7MrbFUeSC51veMAw82r31Dc1/IMnXe?= =?us-ascii?q?bh8z+3K4rQ71NMP/NflCVjjs/CpOwOzPXODygY/GeWZAJowiOYzJmNEez/8f+L?= =?us-ascii?q?yNHOWFMMBjQ2XJtFJDqe5QynQfK4lI3zXQOI9sDzgJw/dEWKRnyyhagFqbhDEe?= =?us-ascii?q?pBiiX9wzhfGZv4h+qPvNqw9GRXtlNGEIFp7R3GAqlfPYt0OQ7+lsa1QkhwHCz/?= =?us-ascii?q?eNvbdhA2ouqZ2v8M4/liN0v5fYIbPggExKz+6XVPSAthVqX7sUuYXeIeZdtmVO?= =?us-ascii?q?nLrmtP5oJ6Nq8DJl6dq4L2rj1QslA5HBcpaKMsrjxdbkTOkxdaW7zqt74cigsR?= =?us-ascii?q?Stp5uU5QGW2uOGIx/SfHVb9PgKmXFvMV7i2ZTrYSXEVwLiN+XxS11Y1he7S3m/?= =?us-ascii?q?BHrmRGniR6rPgxzTNmQBq8uSvxp6MCwj8g/K+3tC8BuHNfVOmelTnHCUlbxvQQ?= =?us-ascii?q?kagcE2ri6UC7YHQbaovy4aVoJcPk9YY7+HQzexQjfyoBXeS7ECH9lKaID4OAsd?= =?us-ascii?q?5Ggx6NosrOZ6epLScOLrQ91Q7jR39l3wjRgBlo63ALTiy94tErIou9OMAlxjen?= =?us-ascii?q?GGXAe1YM57lGsM3vulIRS+s2c1xhyn150sebXi0NWNDPG2EtgwgmbmVEcJRD5Q?= =?us-ascii?q?UGGKkohjaIo7RJ/wAVYDfSCYSl+YjQkNzW2Xk8U9dl3GbWqbCEhp8w1n1qhc90?= =?us-ascii?q?5DaUuHsOb+zYT9NsAn/r24de1+zxffOtv/sDSIt71buhUfgCMtK59WuxwpVqVV?= =?us-ascii?q?evxq4CEFqhLO8D2rDbXj+nSWKGV+SLfWyMki03M0Ho4xmnMEE3ZN1Mr0AjLuvI?= =?us-ascii?q?noRcmBH5UbNoWiWQokfWzGMnMeMdeQM5poOnewgRQe4KYOicI+kuz+EkBFsKcX?= =?us-ascii?q?DJATN8C/Wqvl61gIh7J3Jg7F34YeTt8gHmKNySGh0FEY7GsJF84vm6RmOdOX96?= =?us-ascii?q?0hJ+Jk509/3QF14prO9Tb46RncTMh9R8yeMFeOptMSwgtd4UgY9j9ZOU39mMcR?= =?us-ascii?q?HN1JnyIcvaov6EDP3e1UsmYGdaXaQFYQnt/YU1IsY5W6HPHbtepRkcGak6QJk6?= =?us-ascii?q?Omft9aF7MABzfRDVZLiuhMnluP6LbINOp3DK9lIwMDvcuxobx/yxTAx7bJOqh3?= =?us-ascii?q?LpLZAyXD1BrNptCh14E4tJAc8AqRSoA4KMkqGhl9Cx4196u/MNsafoEf/FytK5?= =?us-ascii?q?35lqUphB4UyLOyrRBLV1gkt7k+u+mPDA0oP+Ccn6Y9MLSPB7QnLZar/BBoi/JC?= =?us-ascii?q?yBOsb9e05e7bGRy7N4UhSUZCD8QaWGrimkO+t+7UU80Ix4c/LZzCYx4LHDxNvy?= =?us-ascii?q?e2Zbqz+trH6RLptf7UDFCvLFUhJRSPqF7HxlErMNYYvz7ucOPsQowMKA7Alr8D?= =?us-ascii?q?RCzMyFLrCmrk/IxE12borbLE/z1CYiRYkKIQiwMVc2gWDHtHvRG3JcIda4KcN1?= =?us-ascii?q?mtaaEgTt51VtmWEqfmNBHmvoRdGMOWkUws6+YAyK9BlXD9YYhOO3eFQ3tqu1Se?= =?us-ascii?q?VyPZVFg+qqvq0dkdl1MyHPWNRaPybIIb9tIDVRCuTPpF41Yh8LtLQ7VZs1ZZiQ?= =?us-ascii?q?L0MdLkiA0Tn9wBDB0ULqbdys0riGICIN/XVawLLJyz9MpxO2ufyBmM3sTKjZbI?= =?us-ascii?q?3qXP7VKCclUjCaRS8uEUuy+FakovwEs+CCLWcZvF8UfjqYCBQPqaB3sdjQEmjT?= =?us-ascii?q?lPVmfJIQmP+aWyHwSCt/lKcpGCZLtEaMTOQHFQnXaX/hnWVdtBalJv9W8nLvd6?= =?us-ascii?q?eYybZNW+wKHotMdeWUQ9nCdvBdIDcnjS4UOPu6f93Ar7Y51U/ITWQZE6nU7lGe?= =?us-ascii?q?SlCZQuCEzTLxQYoVp5Q0ujYv+t/IhSB4CKPEP7Kepz617o64lzyUufbAWWYxeU?= =?us-ascii?q?A1m/wNAG2AwBlGNWEFBMoYt13tQ66aekZMz2gliOx01B8QYwRzVXtu3mdRnPan?= =?us-ascii?q?Fc1TUUQUg3+2QP0acFB3Cys9/UCQ7QLpe9wAuN7cR2tF+7sSTYoSNuIo6IjKOK?= =?us-ascii?q?cKxvYmwi5mqjQgsyqBF1Ndkh6F863IEaJ+w71C4nM4/+t3XkGUWD7fdHLIyo+4?= =?us-ascii?q?BMJO3ytupmrk18XMtOB3KLRav515AEsNAS9uPdDd8zVBXn311QaxpBu7AiqRIC?= =?us-ascii?q?gY4DcKIiwFcPx5z+llvxbUbtzB81+ft7o9qEu3DgaGEri02JtNCsHtzgi4bDdE?= =?us-ascii?q?fiilF5BxsPZCiMgdbbkhZYegH1CSZjT5WxmVvyEK6Qii9q+mCctM33U2jrQnKN?= =?us-ascii?q?avWZIDS9bewmcr7WxPwc8g0GydBZvjfJD/98V8DHcFN5D1HXb2YZ7OFynoufYf?= =?us-ascii?q?25MnEU2TYaMcMX4N4M1+rXvjc179odS4xSSKNKztL2S0?= X-IPAS-Result: =?us-ascii?q?A2ESBQA3RWRY/wHyM5BVCR4GDBkGDIMMAQEBAQEfgWuORqp?= =?us-ascii?q?vJodeUwEBAQEBAQEBAgECXyiCMwqCMwIkExQgDgMJAhcjBggIAwEtFRcICwUYB?= =?us-ascii?q?IhPBK9MOicCilCMeoJKBwoBaoUTBY8Gi3eSJok+F4Yaji+ED1hoQi6DFQwBgj9?= =?us-ascii?q?xhkyCLgEBAQ?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 28 Dec 2016 23:06:05 +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 uBSN5Tkc001803; Wed, 28 Dec 2016 18:05:38 -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 uBSN5QF1181316 for ; Wed, 28 Dec 2016 18:05:26 -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 uBSN5Qec001800 for ; Wed, 28 Dec 2016 18:05:26 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1APAAC+RGRYhiwwWFFVCR4GDIM3AQEBAQGCCo5GqnYaiDYBAgEBAQEBAhMBAQEICwsJHYVCBIEHAhQSAl8TiHSdYJAAgWs6inmBC4tvglF1gjaCXQWPBot3kiaJPoYxji+ED4IBg0MBCwFVgWpxiHoBAQE X-IPAS-Result: A1APAAC+RGRYhiwwWFFVCR4GDIM3AQEBAQGCCo5GqnYaiDYBAgEBAQEBAhMBAQEICwsJHYVCBIEHAhQSAl8TiHSdYJAAgWs6inmBC4tvglF1gjaCXQWPBot3kiaJPoYxji+ED4IBg0MBCwFVgWpxiHoBAQE X-IronPort-AV: E=Sophos;i="5.33,423,1477972800"; d="scan'208";a="5891862" 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; 28 Dec 2016 18:05:21 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AKmKgExOwCMemf8Prt08l6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0Iv74rarrMEGX3/hxlliBBdydsKMYzbKN+PiwEUU7or+5+EgYd5JNUxJXwe?= =?us-ascii?q?43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRp?= =?us-ascii?q?OOv1BpTSj8Oq3Oyu5pHfeQtFiT6ybL9oMBm7owrdutUVjIB/Nqs/1xzFr2dSde?= =?us-ascii?q?9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLY?= =?us-ascii?q?TQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVQLmiD?= =?us-ascii?q?8dOD488m/YlNZ/g79FrxK7pxJ/wpDbYIWIO/FjfK3SY8kVSndfUcZLSidPH5+z?= =?us-ascii?q?b4wVD+oAO+ZYoJT2q18AoBeiAAWhAv7kxD1ViX/sxaA00PkvHwHY0gIuA90At3?= =?us-ascii?q?vbotruOacOU+241rXEwC/fY/5U3zr29YjGcgomofGJRb9+cNfRyUgyGAPCk16e?= =?us-ascii?q?t5blMC2T1uQRqWeb6/BvVeSzhG4msQ56vz+ixsgxionIm40VzUvJ9TljwIkrI9?= =?us-ascii?q?24VFR0Ydq+H5tWqy6aNpF5TtkkQ252pCY307sLsoO4cigS0JkqxAPTZ+aEfoWL?= =?us-ascii?q?+B7uW+WcLS13iX9qYL6zmha//VW6xuD+V8S4yllHoyRfntTItX0A0QHY5NKdRf?= =?us-ascii?q?tn5Eih3C6C1wDN5eFAJkA5jbDUK4M9wr4wjZoTtFjDHjfslEXskqCWeUQk+vO0?= =?us-ascii?q?6+v5eLXqvJ6cN5NshgH/NKQhhNC/DPw7PwQTRWSW+uex2Kfs8ED6WrlHgfI7nr?= =?us-ascii?q?HcsJ/AJMQboqC5AxVS0oYm8xu/ACqm0NUFknkAN19FZAiHgJbvO1HSOv/4Ce2w?= =?us-ascii?q?g1Kwnzdq3f/KJLvhDYvRLnTbirfuYa5961JAyAo01d1f/IxbCrUAIPL1R0/wu8?= =?us-ascii?q?fVDgM5MgOow+bnD89x1oUFWW2VGKOZP6TSsUHbrt4odvKBYI4TpSa1f+Mo4//o?= =?us-ascii?q?kG8RhU4Wfa7v24AeLn+/AKI1DV+eZC/Dn9YNFi82pAc4UOXugVuJUDcbM3mvXq?= =?us-ascii?q?47zi0hBYS6BIPKQIusifqH0TvtTc4eXXxPFl3ZSSSgTI6DQfpZM3qf?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FEAAALRGRYhiwwWFFVCYNnAQEBAQGCC?= =?us-ascii?q?o5GqnYaiDYBAQEBAQEBAQIBAhABAQEICwsJHTCCMwqCVQSBBwIUEgJfE4h0nWC?= =?us-ascii?q?QAIFrOop5gQuLb4JRdYI2gl0FjwaLd5ImiT6GMY4vhA+CAoNDAQsBVYFqcYh6A?= =?us-ascii?q?QEB?= X-IPAS-Result: =?us-ascii?q?A0FEAAALRGRYhiwwWFFVCYNnAQEBAQGCCo5GqnYaiDYBAQE?= =?us-ascii?q?BAQEBAQIBAhABAQEICwsJHTCCMwqCVQSBBwIUEgJfE4h0nWCQAIFrOop5gQuLb?= =?us-ascii?q?4JRdYI2gl0FjwaLd5ImiT6GMY4vhA+CAoNDAQsBVYFqcYh6AQEB?= X-IronPort-AV: E=Sophos;i="5.33,423,1477958400"; d="scan'208";a="1887958" Received: from authsmtp21.register.it (HELO authsmtp.register.it) ([81.88.48.44]) by emsm-gh1-uea11.nsa.gov with ESMTP/TLS/DHE-RSA-AES128-SHA; 28 Dec 2016 23:05:21 +0000 Received: from [192.168.42.137] ([151.76.43.98]) by paganini35 with id Rb5K1u00Q2751LP01b5KTS; Thu, 29 Dec 2016 00:05:19 +0100 X-Rid: guido@trentalancia.net@151.76.43.98 Message-ID: <1482966318.30976.5.camel@trentalancia.net> Subject: libsemanage: special handling of the identity reserved to system objects From: Guido Trentalancia To: selinux Date: Thu, 29 Dec 2016 00:05:18 +0100 X-Mailer: Evolution 3.20.5 Mime-Version: 1.0 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: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP The following patch makes sure that the SELinux identity reserved for system processes and objects is skipped when adding users and that no prefix is associated to it. A warning is produced when a Unix identity is found to be equal to the SELinux user identity for system processes and objects. Signed-off-by: Guido Trentalancia --- include/semanage/user_record.h | 2 ++ src/genhomedircon.c | 20 ++++++++++++++++---- src/user_record.c | 15 ++++++++++++--- 3 files changed, 30 insertions(+), 7 deletions(-) diff -pru libsemanage-2.6-orig/include/semanage/user_record.h libsemanage-2.6/include/semanage/user_record.h --- libsemanage-2.6-orig/include/semanage/user_record.h 2016-10-14 17:31:26.000000000 +0200 +++ libsemanage-2.6/include/semanage/user_record.h 2016-12-28 23:22:50.848589870 +0100 @@ -6,6 +6,8 @@ #include #include +#define SYS_OBJECTS_USERID "system_u" + struct semanage_user; typedef struct semanage_user semanage_user_t; diff -pru libsemanage-2.6-orig/src/genhomedircon.c libsemanage-2.6/src/genhomedircon.c --- libsemanage-2.6-orig/src/genhomedircon.c 2016-10-14 17:31:26.000000000 +0200 +++ libsemanage-2.6/src/genhomedircon.c 2016-12-28 23:34:38.510319855 +0100 @@ -998,14 +998,26 @@ static int add_user(genhomedircon_settin homedir_role = prefix; } + /* There should be no Unix identity corresponding + * to SELinux user reserved for system processes + * and objects */ retval = getpwnam_r(name, &pwstorage, rbuf, rbuflen, &pwent); - if (retval != 0 || pwent == NULL) { - if (retval != 0 && retval != ENOENT) { + if (strcmp(name, SYS_OBJECTS_USERID)) { + if (retval != 0 || pwent == NULL) { + if (retval != 0 && retval != ENOENT) { + goto cleanup; + } + + WARN(s->h_semanage, + "user %s not in password file", name); + retval = STATUS_SUCCESS; goto cleanup; } + } else { + if (retval) + WARN(s->h_semanage, + "There should be no Unix identity \"%s\" !", SYS_OBJECTS_USERID); - WARN(s->h_semanage, - "user %s not in password file", name); retval = STATUS_SUCCESS; goto cleanup; } diff -pru libsemanage-2.6-orig/src/user_record.c libsemanage-2.6/src/user_record.c --- libsemanage-2.6-orig/src/user_record.c 2016-10-14 17:31:26.000000000 +0200 +++ libsemanage-2.6/src/user_record.c 2016-12-28 23:30:51.544449423 +0100 @@ -348,9 +348,18 @@ hidden int semanage_user_join(semanage_h if (semanage_user_extra_set_name(handle, tmp_user->extra, name) < 0) goto err; - if (semanage_user_extra_set_prefix - (handle, tmp_user->extra, "user") < 0) - goto err; + + /* The user identity reserved for system processes + * and objects shall have no prefix */ + if (strcmp(name, SYS_OBJECTS_USERID)) { + if (semanage_user_extra_set_prefix + (handle, tmp_user->extra, "user") < 0) + goto err; + } else { + if (semanage_user_extra_set_prefix + (handle, tmp_user->extra, "") < 0) + goto err; + } } if (semanage_user_set_name(handle, tmp_user, name) < 0)