From patchwork Fri Dec 9 15:10:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vit Mojzis X-Patchwork-Id: 9468467 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 02CC760231 for ; Fri, 9 Dec 2016 15:13:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E874E285AF for ; Fri, 9 Dec 2016 15:13:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DB833285F1; Fri, 9 Dec 2016 15:13:39 +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]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EFA1F285AF for ; Fri, 9 Dec 2016 15:13:38 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,324,1477958400"; d="scan'208";a="1788549" IronPort-PHdr: =?us-ascii?q?9a23=3AMCMb2Rd45JvgSngHFmzXnHAGlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcq5YRaN2/xhgRfzUJnB7Loc0qyN4vumBDJLus7JmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBu7oR/Ru8QXjodvJLo9wQbVr3VVfO?= =?us-ascii?q?hb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnY?= =?us-ascii?q?UAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhS?= =?us-ascii?q?waOTE56mXXgdFugqxdrhyquhhzz5fJbI2JMfZzeL7Wc9EHSmpbRstfVzJPDJ6y?= =?us-ascii?q?YYUMDeUBM/5Yoovgq1YAohSxGQaiC/30yjJTmn/737c33/g9HQ3awgAtGc8Fvn?= =?us-ascii?q?TOrNXyMacfSe+6zKjUzT7eaP1W3jX96YnJchA6vPqBWqxwcc/WyUktFgLFj06Q?= =?us-ascii?q?pJf/PzyLy+sNs3KU7/Z6We2zjG4nrhh8rz6yzckvkonEnp8Zx1/L+CljwIs5OM?= =?us-ascii?q?e0RFB0bNK6CpdcqjmWO5VqTs4mWW1kpSg3xqMctZKmfyUHxo4rywDcZvGBboOG?= =?us-ascii?q?+AjsVPyLLjd9nH9lfbW/iAus/kW40e38U9W00E5NripYjtnArnAN2ALX6siAUv?= =?us-ascii?q?Z94l2u2SyO1wDO8eFIO1w0lKrHJJ4hxb48jJwTvljYHiDqgkn2ia6WdkE89uip?= =?us-ascii?q?7eTofKnmq4eBO4J7hQzyKKQjltGlDegmPQUCQXKX9fmk2L3m50L5QbFKjvMskq?= =?us-ascii?q?netZDXPd8bqbC9Aw9U1IYj9hm+Ay6939QfgHkHKk5Kdwycj4XyJ1HPIOz3Dfe4?= =?us-ascii?q?g1i2ljdr3OrJMqfuApXKMHjPiK3hcqpl605A1AozyshS6IxMCr4bOvLzW1Txuc?= =?us-ascii?q?fADhAjKQy0wv3nCM151owERW2AHLWVMKTIsV+H/ugvOfWDZJcJuDbhLPgo//Du?= =?us-ascii?q?jWUjll8bYaap3IAXZWu9HvR+IkWVeGHsg9kaEWsQuQo+VuPqgkWYUTFPf3ayQ7?= =?us-ascii?q?485jYjBYKlF4jDRYetgKGa0Se4BJJWZWdGCk2WHXfvbYWEVO8GaDiOLc95jjwE?= =?us-ascii?q?Sb+hRpc72h6zrg/6yqRoLvDP9yICqZ3j0cJ55+rJlRE97TZ0FdiS03mRT2FomW?= =?us-ascii?q?MFXz820757oUx5zVeOyqx4g+FEFdxU4vNGSB02NZnGz+x1E9ryQB7Ofs+VSFa6?= =?us-ascii?q?RdWrGSoxTtwrw98JeEZ9B86vjgvF3yqtDb4VkqaEBJou/qLawXfxO953y2za26?= =?us-ascii?q?k5k1kmXsxPOHWoh6Fl8wjTG5DGk1+Cl6uxa6QTwjTN+3yezWqLpk1YVxRwUard?= =?us-ascii?q?V3AFekTWtcj55l/FT7K2FbQoLxZOyc+YJatOcdDmkVJGRPL/N9vEeGKxh328BR?= =?us-ascii?q?CWybOQdIDqYXkS3D3BCEgYlAAe5XCGNQk6BielvW3eFydjGkjxbEP29ulysnS7?= =?us-ascii?q?TlU7zwuSdU1uy6K1+gIJhfybU/4cw6gLuDs7pDpqEla80MnbBMaApwV7ZqVcfc?= =?us-ascii?q?0y4E1d2WLfqQN9IoSqL7p+iV4GbwR3o0Tu2g1pCoVBjccqsHQqzBBoJa2E0FNB?= =?us-ascii?q?cDWY3Z/rN73TK2ny+gqga7TR2l3E19aW4KgP4uwiq1r/pAGpClYi83J/3tlR0n?= =?us-ascii?q?uc/YnKABMJUZ3vVkY39h56p6zVYyQm/IPUzXxsMa+1sjDewNIlHu0lxQi8f91H?= =?us-ascii?q?KqOLCBfyE9EGB8ipMOEqgV+pbhYAPO9M7q47I8SmdvWd1a6wIeZvgCmmgX5A4I?= =?us-ascii?q?Bn3UKG7zB8RfLQ35YZ3/GY2ROKVy/mg1e8tsD7g5pLaSsJEWq4zSjkGIlRZqtp?= =?us-ascii?q?cIYOFWuuJcq3yclki57rRXFY6EapB0ka18+xZRqSc1v90BVV1UQTuHCohy24wi?= =?us-ascii?q?dqkz43qqqf2DLBw/74eBoBJGFLWHFojU3wLoisk9AaQE+oYhAqlBS740b63LNW?= =?us-ascii?q?pKdhIGnVWkdIeTb5L314Xqu3rLqCbNZF6Ik0viVPTOS8fVeaR6bjoxsczizuBH?= =?us-ascii?q?VexDYmeDGqoJn5mQJ1iH6FJnZpsHXZYd1wxQvY5NHEXf5exCcGRC1jhDbLB1i8?= =?us-ascii?q?I9mo8cyal5jZtOCyTWWhVodccSPz14OPqDO75XF2AR24h/2zgsfoERU+0SDlz9?= =?us-ascii?q?llTyPIrAribYnxzKm6LPlncVdyBF/n8cZ6AYZ+kpYqhJ4Mx3caiJKV/WAIkWjt?= =?us-ascii?q?K9lb37zxbGYVTz4R39HV+BTl2FFkLn+RyYL2THOdwtdmZ9m/eW4W1Dwy4N1NCK?= =?us-ascii?q?eO9rNEhTF1ol26rQ3Pffd9gi0Ryfw06H4Vm+sJohYizj2BArAOGklVJSPslxSU?= =?us-ascii?q?4NCkrKRXfHqvcb+r2Up4g9+hEKqCrR1GV3bhZJguBylw4dtjMFjUyn389pnkeM?= =?us-ascii?q?XMbdIUrhCUlg3Pj+xRKJ0vivoKmTBoNnjmsH0j1eE7kQdu0o2gs4ifNWph5qS5?= =?us-ascii?q?DQBENjftfcMc5intjbpCnsaRx42vBI9tGzsRUJvtV/2oFDUStPT8OgmUDDI8r2?= =?us-ascii?q?2XGb3FHQ+Q8E1mtW7AE4i3N3GLI3kU1dNiRAOHK0xHmAAZRzs6np8jFgCx2Mzh?= =?us-ascii?q?fkZ55jYL6V7+thRMy/hnNx3lXmfYvgeoZS8+SIKDIxpO8gFC+0DVPNSG7u1tBC?= =?us-ascii?q?5X4JuhrA2RKmycfAlIDH8GVVKaCFz5Obmu/9bA+fCCBuWiN/vOfamOqetGWviT?= =?us-ascii?q?3p2j1Y9m/zeXNsWTJXluFeY71VRfUnxjAMTWhTEPSy0RlyLQYM+Wvwuz+y1trs?= =?us-ascii?q?Ci6/TnQgzu6pGTC7tJNtVv/Qq6gaCZN+6fnCx5MypX1osQxX/Uz7gSxEUShDtw?= =?us-ascii?q?dza3HrQPqzXNQbnLmqBNER4UcSxzO9VT764m2AlCJ9LbgMvv1rFklv41F0tFVV?= =?us-ascii?q?v5l86yZMwKLGa9NFXcCUmWKruJPjzLzNvxYa+mTr1QlupUvQWquTmHC0/jIiiD?= =?us-ascii?q?lz7xWh+1PuFDlj+bMwJFtYG6ahZiF27jTNf8ZR26NN94ljo2wLIuinPNL24cPi?= =?us-ascii?q?B2c1lRob2I8SNYnvJ/FnRd7npiKOmIgTyZ7+7ZK5kIt/tkGT50l+VE73Q50LZa?= =?us-ascii?q?8CZERPlplyTItd5uv0uqku+RxTp7SBBOsCpEhJqXvUV+PqXU7ppAWHbA/B0T9m?= =?us-ascii?q?iQDhMKp9VrCtLxp6BQ1tjPlKX2KDhc6d7U+9UTB9TMIsKdLHUhKQbpGCLTDAYd?= =?us-ascii?q?TD6rM33fiFJZkP6M832asIQ6qoLsmZcVTb9bTEI6FvUfCkt/HdwCJIx4XjQrkL?= =?us-ascii?q?KBi84I/3W+pgHLRMpGppDHSu6SAfL3JTafk7ZLfR8IzKj7LYQULY37x1Ztal9h?= =?us-ascii?q?nITJGkrcR9ZNrTN9bgUsukVC7GB+TnEv20Licg6t+mEcFeWqkREskAtxfeQt+S?= =?us-ascii?q?z37Fc2PFrFuSwwkEcpmdX/nz+QcCT9LKGuUoFKEyD0rVQ+MovnQwZpag2/hVFr?= =?us-ascii?q?NDDCR7JXkrRva2RriA7HtJRVB/FcV6pEbAUXxfGNaPUiyU5cpTm/xU9b+evFDo?= =?us-ascii?q?NvmxYwfp6yrnJPxhljYcUvKqzKPqpJyVZRhrmQsSC0y+Ax2g4eJ1oN8W+Ifi4H?= =?us-ascii?q?plAIPKE8JyW05uxs9RCCmzxbdWcRTPolvOhl9kwnO+ua0SLtyKVDJVqyN+yCNa?= =?us-ascii?q?OWoXLMlcqVQlM2zEwIjVBJ/aRx0ccgc0uUUFojzL2PGBQVLcDCMx1ab9JO9HjP?= =?us-ascii?q?eiaDqevNwYhrMIqgDeDnV+mOtLoTgkK/BwsmBZgD7sEbEpmrykHYIt/tLKQZxh?= =?us-ascii?q?U1+ATrOFKFAexNeBKMijcIvce/zZ5w3YRGKTEdB3h9PT+w5rbNqQ8gmOCDU8su?= =?us-ascii?q?YncGQosEMWo7WNaklC5dvnRACiS30+0CxQee6D/8ozjfAyPnb9p/fvuUYw1jCM?= =?us-ascii?q?2u8zUl76e2kULX8onZJ2ziNtRioN/O5vkcp5abC/NZVrZ9s0DEm4ZEXXCqVXDA?= =?us-ascii?q?EcKtLZjqd4YsdcD0Cmq9UlGnlzI1TsLxPNGxLqiIgQDlXptbsIib3T85LsCxDD?= =?us-ascii?q?ceFAlsp+sb/qJzeRUDY4YnYR7vrwkxLai/IAaE3dqwW2mtLDtXT/9YzeW8fbNa?= =?us-ascii?q?1DEjbu6gx3smV506wfS3/VQLRJ4UkhHU3eyjaJVGUSjvBnxdfB3CqjEnmGhnLe?= =?us-ascii?q?s92PowwA3WvlkGKDCEbvZpaWxes9E7H1OSLm18CnAkSF+EkYrD/gms0qgd/ytA?= =?us-ascii?q?ntZU1elFv2b7vpLEfT2jRrekqZTPvComd9QmpLdxMYP7KMucqJzehiDfTIXXsg?= =?us-ascii?q?CdSi66EftalcRQICJfRPlIgnkrN9Ubt4Rb9Uc/UdwzKKBICKkpur+lcyFkDTII?= =?us-ascii?q?wS8fSYyAwCQIgv2g1LvCiheQbJMiPQQesJpfn9QQSCF2YiYRpaO5UYXZiXOEQH?= =?us-ascii?q?ARIAgP9QRM+B4Alohoc+/54orHVoNDxiVKrPJzVivLEpho+EXhSmGKn1f3VPWh?= =?us-ascii?q?n/au3QJIw/LmysMbVwJnCUhB2+ZWkVMlKKttJKkKuY7FqSSFdV/gvG331uupOl?= =?us-ascii?q?1RyczSd133CIrFtGX8Ui0A+X0aX4BP0nTfGY4UkwVndKYhvE9ML5y+ekbi+zwk?= =?us-ascii?q?wJxkHrmiWsCw3VklqHcGRyGxHtpAF+FpqknXVyF/bJyxrpXqJYlSSHdK+JKBs1?= =?us-ascii?q?dZjFltMymhxJtSMc1C/j4MXDlKoTWcptSyS9ZO2c5oAJASPNhzoXD9GLlLOJKJ?= =?us-ascii?q?uX05pqTvymPF+zA7qFq13i+zG7K+T+5D/G0TAQQpJ2WfqkkzFOQg6GHS/U7Rsl?= =?us-ascii?q?ps5edUGqCPjVltoDZ6Bp1OCSxJ2mqjL1RvV3RGsuJaKarTc8xAQ/k9ex6vOxoi?= =?us-ascii?q?FfE4xUyF50d0kmnlYyZqrAtV5zjdXxUoVSkSmrrthToeqsS8ND8GV55IaC4uYz?= =?us-ascii?q?3DKw2FhSBdpAxfZF1yW5AFHtZF/KkW3YtO8crYU0msLTwKUQd/OQ0myfpfjVBM?= =?us-ascii?q?sEGGdiDHFwaocuzPshJvd8eLsMGpNOj5/BtAio7/suA48LsMSma7lgKzWtDRsZ?= =?us-ascii?q?X8tsGUuUSTbqv4NfOzYWPZRjjWkR+wnaskD4XN/yXLKwVbJYV1xWYmbJT8B2PG?= =?us-ascii?q?JghJJ6UeJ0VHT696cslGrvpcZ8B6ZKYD4bVtCQ6fRhPzBIyvq+FLLkzNSjvDLy?= =?us-ascii?q?WO6PC/rJnX7bzaV+jveNKAyGrAQ61qIJh28z/7FKn20YVG4Er5xu9t9l9mSVjB?= =?us-ascii?q?Ky2BtM/hJh8R68a/akvvpYYpHTTLAJdqjHXi2EdAd9YNQyKw9JQU0pRZ6Gz/Se?= =?us-ascii?q?hgyEj8rPVS96V46Ykw+71p1d20KrnMJvtHqkJnHxyUBhlw9po3Hmh/RmdRYusP?= =?us-ascii?q?J/fNZ6gZitruq+/vHawN9BKV4/BZacfAJ0zZh8a/DCuTRAdZkwcHszEWNAyc1+?= =?us-ascii?q?SKm6VsU8aqufD52l4x41i5NhMGzqpi5YGK+qqSo+/YcgXewKMYWqfwQMPztbMs?= =?us-ascii?q?t1mU5fI6iL4EYnZ1bBG/EOgBSs4dwX/tzaIwwiI2FMPDBLbg9+RdV38imzLghp?= =?us-ascii?q?R9H0kXGvwIHLqE54Jennwil+zeLN0WfbhImnyTGh68Dr8C1Xmr5jORIGlhmRzO?= =?us-ascii?q?0hfwQWap4F/3qy94TzHMwM34kkpJTLm3GFtdXza0OU9irjyDJg3otMD4ua4t9k?= =?us-ascii?q?E5LnTktM6RlGumIL5XGcz/K8CbISkwvl0Xl4c9Rt2o2YAcAtq9O8wc8HRxY/rR?= =?us-ascii?q?8W+rlDVBo6hfjYrE/s6V4unXHWWnj6CCt7qC3jRYxWYjvVEj6tGgMerD58aWTP?= =?us-ascii?q?SpyWkRSTt/uwrbUBKvrLzUsUwUM1SR0EjXgIwKIs1Z3X4g20Hi/+gjRdI++R5Q?= =?us-ascii?q?FoneevwCoirzNyHswVaFZNI3VDeR3CdLHl7vFll4Aqc80nrqvM3VjXfQ50EoRo?= =?us-ascii?q?5oekzigRx4EYA4KUUz51gT2ScDHhYCaReADLGwH0vlMYoEWlIHaRSG2ri6Zrk4?= =?us-ascii?q?3Ul3wrOu6+/cc+p8CLYTOfpHiA6BgkRbEIoMsaICWLJ8Z0Nd9KnPqwjgCojnWu?= =?us-ascii?q?PrlX8uOvy1XM9a68EZt30t4gqlQRqv94tD5a4BiJ+Ubq5EfYTMvMdk4kdm5D8A?= =?us-ascii?q?bDZCjwRkghOiT+8cuP7s7cTBvJqv8OauW74nR/8L+BgsG2R+k5zwjUg4rtHWzO?= =?us-ascii?q?ddRJfaiYb+8ABRO36Fopva0x1nJOUSLIKkYahv+G8aJygEIHIOJ8CZZ+M74y93?= =?us-ascii?q?PzXZ/0ZCDd8UZdMEIMrNnhhZilXzV7FP6sXbGlGZC4Bpd8Ar9mb30y468Z89Uu?= =?us-ascii?q?bm9T+3KovS70lXMPNfkCpslNzDpO8PwfrREiQX4meWawJzwiycz5mBEfHw/f+D?= =?us-ascii?q?yNvMTVMJAjY2U5tBJDqF4QGnWvC1m4vtUgyO7M/8nokze1+RRny+naQFrrxDEf?= =?us-ascii?q?VahSXhwzhSDIb1iOyJs9C08mtYqkVHEJpv7R3CAKhfMY90OQ7mmcm3RkhxHS//?= =?us-ascii?q?eMDIdhUwuOqZ3PoM4/5kO0v4e4AbPgoOy6jm5npNUgtuVLn2s06WXe0PYttmVP?= =?us-ascii?q?TErndS5YJ7NaAPOFmdpJr3rjZHs102BBEmaKUwrzNAbEXOmhNaW7rssr4algQc?= =?us-ascii?q?ScJ5uVNLGW+oPWI+4DzHVbhajKaPE/EV9zSTQbYIU0p2LiN/TRS12I9te7uyh/?= =?us-ascii?q?xHtH1Jnj9lqvgwzzNmXAe8uTHrp68V1jIv5Kq4tC4YtXJYQeuQlSbICVNezPUF?= =?us-ascii?q?lqocBHPi5ka6YHYddofy56NnJcv4/4k7/3s/eQkjfzEBXem4CSHwiKOIAoqVvN?= =?us-ascii?q?1AhB6NvNjOYqKyLCgTMLQ90hHjR3lm3wjAnRZo7nEEQjG9498lPom9P9gqxjaw?= =?us-ascii?q?E2jBaFkM+r9JsNf2tVMTTes2d0luwGN438iDWy0CWc3PG2EujgQ+bmVEap1D4w?= =?us-ascii?q?cAF6Y0mjaIorVG/gYMbTfWDIul9IfQncPT1HgzV9hqwHzZprGfipMsznJlh8t+?= =?us-ascii?q?7jSSt3QKa+zYT8hsD2D81odbzuz/aeuisuQDSIZ907ShV/kCMsi/9mes3pVlRF?= =?us-ascii?q?OlzKwEH1WlKO8D2qvbUyC9RG2aWeSKc3CMnzE9Mk7z+RmnMEY6aMJLr08hKOvN?= =?us-ascii?q?mIRQlwr7UbN7Xi+Qv0PUzHQ/MeMGcAI7oIinexELTOEMYOiRPvQuwOcgB1sKc3?= =?us-ascii?q?/GBy92BPWwsVGxnYh0IW9s4UPkbuTx6grmKsedGgEYEY7GqZ584eC6RmOEOXJ7?= =?us-ascii?q?0B1yPVV79+TBGFQ1rONcdYiencTIjdRhzeEFb+ttMTE6utMLn4Jj6IqU0MSNcR?= =?us-ascii?q?zKzJb9P9LVov+eA/LByUQmYGdaXaQFYQnt/YU1IsY5W6HPHbtepRkTHrY1QJo9?= =?us-ascii?q?N2rq76F0KARzchLNZLSqnMblu/iHZpxOp3/Z9lgwNjvTuwUfyvyoSgx2d4iqh3?= =?us-ascii?q?L2IJ8qXDJAodptCh9oHIZUHsMAqA2nA4WKl66nkd+x/Fh6u/QLsar2BfDGztO5?= =?us-ascii?q?359+X5JC/0yEIC7RBLV3gkRilumyjOnP0p3wCcP6Z9wJT+l6Qm/Aar/DAIq/MD?= =?us-ascii?q?aONdzmd05B6b6c36pzUg+NayDhQ6qGqCqkOe1k4UUnyox4e+/TwyY277zA3dvy?= =?us-ascii?q?Zn1bpj29onKTM5tf9lPKD/TEXx1IUfqF7HplHaoPYIr67OcOK90iz8SC7ARo6T?= =?us-ascii?q?RC0deFI7K/oUPW3UJ7b53bJlPz2yklQYkKPAi/MUw0jG/ernTSH29RLtCgKcZ3?= =?us-ascii?q?m9aVEh3t6FVtmWE3eGFOBHDkRdGPNmgHw8i+fhGF9BpXD9YfmO66YUo4tqy0Se?= =?us-ascii?q?l1NZRJgOGqtLQckdZ1MCHCX8laMDvWLL9xJDZRCf/PpFcwaB4er7c1Qps1ZYSJ?= =?us-ascii?q?IE4fK0eP1yfyzQrE0U3peN2g06mHIDoW8npZ1bLKzyBMqBOitPaanMLjSrbZY4?= =?us-ascii?q?/yXPHJLSolWSuWRTMoEUam4V2koeYLvOKEIWcDpVAZeiaSCA8IpqBzttXRD3bT?= =?us-ascii?q?met5c5EQgvCVRTzwQjVilKUuHiZLqVyMQ/0bGAnTdXDunGpcuA2kJv9L5n/lcb?= =?us-ascii?q?yYxqxLVOwSA4tMdOCZQtTCdfBZPTcomS0TOPygcN3Es7Y5zlXIQHMbE6bS912e?= =?us-ascii?q?S1WZT+eBxzLtQYUVv480ujcn+tLQgi97CaLIMKiDpzS26I63kD6YufHCVmkqe0?= =?us-ascii?q?E1j/gND3KbwBlBNm4ED8oYuF/pQqGafEZM1W8phfho2xASZAR5Smdu3WFOnPah?= =?us-ascii?q?Bs1ZTkYZjGGrQP0BdlB3FjIw/VSR7w30e9MAvN7cR25E+rsLU4odI+Ei6JPLN6?= =?us-ascii?q?sI3PYpwDVmrTQhsyWTClNSkgOI/qnLEaJi2LJC/2g4/vBxXkGJWT/fdHbIypa+?= =?us-ascii?q?AcJV2ShuuWzk19bTvu11NrtaoId5AFMRDCJzON/S4D5BUWbu2ASuoRm3BjKeLy?= =?us-ascii?q?wF4GVDGStQbetxzulmoD7UZ93B7gWWrKtnp0y1WiiRDb/h5p1XQuTu1xe5cmEf?= =?us-ascii?q?bzCsFYJ3sd5XmdoSaL9hbo+7VQOSZjPiBx6V7nhfvCPhpa6mWI8Tmmg=3D?= X-IPAS-Result: =?us-ascii?q?A2GPBgA6yUpY/wHyM5BdHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAR9agQamYQGUficDgXeFeVMBAQEBAQEBAQIBAl8ogjMagQVbPAYBAjcUI?= =?us-ascii?q?A4DCQEBFykICAMBLRURDgsFGASISqpvKgKLDAElhj6IdREBaIUVAQSaa4ZPilI?= =?us-ascii?q?CiiyGF5IZVmI/JIU2cYcOgi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 09 Dec 2016 15:13:33 +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 uB9FDUUO019799; Fri, 9 Dec 2016 10:13:31 -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 uB9FAWFT038740 for ; Fri, 9 Dec 2016 10:10:32 -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 uB9FAW0o018955 for ; Fri, 9 Dec 2016 10:10:32 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1CVAAAnyEpYhxy3hNFdHAEBBAEBCgEBgzcBAQEBAXmBBrdQhBkhhgACgW5TAQIBAQEBAQITAQEBCgsJCR2FGQMDeRBRVxmIa6ppiywBAQgohj6Jb4UVBZprhk+KUgKQQ5IZgXeDcYFpPTSJPAEBAQ X-IPAS-Result: A1CVAAAnyEpYhxy3hNFdHAEBBAEBCgEBgzcBAQEBAXmBBrdQhBkhhgACgW5TAQIBAQEBAQITAQEBCgsJCR2FGQMDeRBRVxmIa6ppiywBAQgohj6Jb4UVBZprhk+KUgKQQ5IZgXeDcYFpPTSJPAEBAQ X-IronPort-AV: E=Sophos;i="5.33,324,1477972800"; d="scan'208";a="5870313" 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; 09 Dec 2016 10:10:32 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AoR5CmxHfzrRAcXJm+W3aBZ1GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ79ocSwAkXT6L1XgUPTWs2DsrQf2rGQ7v6rAz1IyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZb1/IA+2oAjQucUan49vIbstxxXUpXdFZ/?= =?us-ascii?q?5Yzn5yK1KJmBb86Maw/Jp9/ClVpvks6c1OX7jkcqohVbBXAygoPG4z5M3wqBnM?= =?us-ascii?q?VhCP6WcGUmUXiRVHHQ7I5wznU5jrsyv6su192DSGPcDzULs5Vyiu47ttRRT1ji?= =?us-ascii?q?oMKjw3/3zNisFojKxVvg+vqRJ8zYHWboGYL+Zycr/HcN8GWWZNQtpdWipcCY28?= =?us-ascii?q?dYsPCO8BMP5XoIn8u1sFsBywBQ6uBOLuyz9InWL90Kok0+QkFgHG3g0hH9MVsH?= =?us-ascii?q?nPttX6KrodUeCvw6nU1znMc/RW2TLk5YXObxsvoumMUKpufcbNzUQjDR7Jg1uO?= =?us-ascii?q?pYD/Ij+Y1eoAv3KF4+djU++klnQppBtroje1w8chkonJiZwRylDD7Sh5xYk0Kc?= =?us-ascii?q?CiRE5hf9GrDZtQuDuGN4dsXswiRGRotD47yr0Ap5G7YDAHxIo7yxPbcfCLboaF?= =?us-ascii?q?7gz5WOqMIjp1imhpdKy8ihqq9Eiv0Oz8Vs260FZQqSpFl8HBtm4I1xzU6MiGS/?= =?us-ascii?q?p9/ly61DaVyQ/c9+FELloolabBN5EhxbswmoIJsUvfBi/2hFn2jKiOe0U/5Oeo?= =?us-ascii?q?7+XnYrP7pp6TLIJ0lgH/Pbgumsy4G+g4NBMOUHKB9eSz073j4x6xfLIflfAyk6?= =?us-ascii?q?/EoLjGNM8boei/GAYT3YE9uDilCDLz7tUE1VwALkBEY1rTkY3uOUPPO9jiAPu/?= =?us-ascii?q?ikjqmzBukaOVdob9C4nAeyCQ2IzqeqxwvhZR?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0E2AQA6yUpYhxy3hNFdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwwBAQEBAXmBBqZikG6EGSGBd4QJAoFuUwEBAQEBAQEBAgECEAE?= =?us-ascii?q?BAQoLCQkdMIIzGIEHWzwDA3kQUVcZiGuqb4ssAQEIAiaGPolvhRUFmmuGT4pSA?= =?us-ascii?q?pBDkhmBd4NxgWk9NIk8AQEB?= X-IPAS-Result: =?us-ascii?q?A0E2AQA6yUpYhxy3hNFdHAEBBAEBCgEBFwEBBAEBCgEBgww?= =?us-ascii?q?BAQEBAXmBBqZikG6EGSGBd4QJAoFuUwEBAQEBAQEBAgECEAEBAQoLCQkdMIIzG?= =?us-ascii?q?IEHWzwDA3kQUVcZiGuqb4ssAQEIAiaGPolvhRUFmmuGT4pSApBDkhmBd4NxgWk?= =?us-ascii?q?9NIk8AQEB?= X-IronPort-AV: E=Sophos;i="5.33,324,1477958400"; d="scan'208";a="1788201" Received: from mx1.redhat.com ([209.132.183.28]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Dec 2016 15:10:10 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C57E72EBD06 for ; Fri, 9 Dec 2016 15:10:08 +0000 (UTC) Received: from Thinkpad_450.brq.redhat.com ([10.40.3.114]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uB9FA6Si002300; Fri, 9 Dec 2016 10:10:08 -0500 From: Vit Mojzis To: selinux@tycho.nsa.gov Subject: [PATCH 2/2] python/sepolicy/sepolicy: optimise sepolicy gui loading Date: Fri, 9 Dec 2016 16:10:00 +0100 Message-Id: <1481296200-28904-2-git-send-email-vmojzis@redhat.com> In-Reply-To: <1481296200-28904-1-git-send-email-vmojzis@redhat.com> References: <1481296200-28904-1-git-send-email-vmojzis@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 09 Dec 2016 15:10:08 +0000 (UTC) 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 Significantly speed up sepolicy gui loading by aggregating setools queries. Signed-off-by: Vit Mojzis --- python/sepolicy/sepolicy/__init__.py | 17 +++++++++++++++++ python/sepolicy/sepolicy/gui.py | 5 +++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/python/sepolicy/sepolicy/__init__.py b/python/sepolicy/sepolicy/__init__.py index fee6438..22c72b2 100644 --- a/python/sepolicy/sepolicy/__init__.py +++ b/python/sepolicy/sepolicy/__init__.py @@ -663,6 +663,23 @@ def get_init_entrypoint(transtype): return entrypoints +def get_init_entrypoints_str(): + q = setools.TERuleQuery(_pol, + ruletype=["type_transition"], + source="init_t", + tclass=["process"]) + entrypoints = {} + for i in q.results(): + try: + transtype = str(i.default) + if transtype in entrypoints: + entrypoints[transtype].append(str(i.target)) + else: + entrypoints[transtype] = [str(i.target)] + except AttributeError: + continue + + return entrypoints def get_init_entrypoint_target(entrypoint): try: diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py index 115e18b..c9dd4c1 100644 --- a/python/sepolicy/sepolicy/gui.py +++ b/python/sepolicy/sepolicy/gui.py @@ -499,6 +499,8 @@ class SELinuxGui(): loading_gui.show() length = len(self.all_domains) + + entrypoint_dict = sepolicy.get_init_entrypoints_str() for domain in self.all_domains: # After the user selects a path in the drop down menu call # get_init_entrypoint_target(entrypoint) to get the transtype @@ -509,8 +511,7 @@ class SELinuxGui(): self.progress_bar.set_pulse_step(self.percentage) self.idle_func() - entrypoints = [str(x) for x in sepolicy.get_init_entrypoint(domain)] - for entrypoint in entrypoints: + for entrypoint in entrypoint_dict.get(domain, []): path = sepolicy.find_entrypoint_path(entrypoint) if path: self.combo_box_add(path, domain)