From patchwork Sun Jan 15 15:04:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 9520915 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 B8D9C6043D for ; Tue, 17 Jan 2017 13:31:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9810E26E91 for ; Tue, 17 Jan 2017 13:31:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8C5B8284E7; Tue, 17 Jan 2017 13:31:11 +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=unavailable version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (smtp.nsa.gov [8.44.101.9]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0783D26E91 for ; Tue, 17 Jan 2017 13:31:10 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,244,1477958400"; d="scan'208";a="2323405" IronPort-PHdr: =?us-ascii?q?9a23=3AUf3FwxTxhHQJqqD+JPRrvNlP7tpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa68YRKBt8tkgFKBZ4jH8fUM07OQ6PG8HzdfqsvY+Fk5M7V0Hycfjs?= =?us-ascii?q?sXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6?= =?us-ascii?q?KfroEYDOkcu3y/qy+5rOaAlUmTaxe71/IRG5oAnLuMQbg4RuJ6YsxhDUvnZGZu?= =?us-ascii?q?NayH9yK1mOhRj8/MCw/JBi8yRUpf0s8tNLXLv5caolU7FWFSwqPG8p6sLlsxnD?= =?us-ascii?q?VhaP6WAHUmoKiBpIAhPK4w/8U5zsryb1rOt92C2dPc3rUbA5XCmp4ql3RBP0ji?= =?us-ascii?q?oMKiU0+3/LhMNukK1boQqhpx1hzI7SfIGVL+d1cqfEcd8HWWZNQsNdWipPDYOm?= =?us-ascii?q?a4sEEvQPM+BWoYLgo1cCtAayCRWpCO7p1zRGhGL53bci3uo8Dw/G0gwuEdEAvn?= =?us-ascii?q?vao9r6Nr8SXOKowKTG0TrNYO1Z2Szm5YjUcB0su+2AUa5+fMbPz0QkCgPLjk+X?= =?us-ascii?q?qYzgJz6by+QDuHWc4eV6T+KviHMnqxpsqTagwscshJPJhoMTylDL6C50x5g6Jd?= =?us-ascii?q?m2SE5hYN6kFpRQujqHN4ttXMwiWXpotDwhyr0BpJ67ZjQFx4opxx7YcfyHfJaH?= =?us-ascii?q?7gjlVOmPPTd1nXRoc6+8iRaq6UWs1+LxW8au3FtKsyZJiMfAu38T2xDJ98SLUv?= =?us-ascii?q?lw80S71TuA0w3f8PxILE82mKbBNpIsxro9m5wOukrZBCD2gl/5jKqOe0Uh/ein?= =?us-ascii?q?9vrob639pp+ZK490kgb+MrkymsCnAeQ3LAwOX2+D9OSgzrLj50z5QKhRjvEsjq?= =?us-ascii?q?nYsIzVJcQcpqKjBQ9azp0j5AqlAzej0dQYmWELLFNDeB2Zk4jkI0zCLf/3APul?= =?us-ascii?q?g1mgjS1ny+7JM7H/GJnBM2DPkLL7crZ8705cxhAzzdda559MEbEOPvbzWk73tN?= =?us-ascii?q?zFAR41Khe7w+H6CNV7yowRR3mPD7SFMKLSrVCI5uUvL/OKZI8OojnxMfcl5/nw?= =?us-ascii?q?jXMhg18SYbGp3YcLaHC/BvlmIUKZYXz2jdcdEWcFpAw+QffoiF2FVz5TYmy9X7?= =?us-ascii?q?kg5j4lEoKmFp3PRoe3gLyOxC27BIFZZnhaClCQFnflb4eEW/UWZy2OIc9hiTsE?= =?us-ascii?q?Vb6gS48/zhyuugv6y6doL+XP5y0Ys47j1MVv6+3UjxEy+iR+D96B3GGVU2F0gm?= =?us-ascii?q?QISic43aB+pUx9z0mM0bJjjvxWC9Nc+vRJUh0gOp7E1ex6DNLyVRzdcdeVUlqm?= =?us-ascii?q?Rc+mAT4pRNIr39AOe1p9G8mljh3bwiWlH7oVl7uNBJwo767RxGbxKNhny3bH1a?= =?us-ascii?q?ghiF8mTtFJNWK4mq517xLTCJLRk0WFi6aqcrwR0zPR9GiZ12qDp11XUAl1UarZ?= =?us-ascii?q?R38ffVfWoc7/5kzcU7+kEa4nPRdZyc6eNqtKbcXkjFVHRffkPtTTeGexm2OpCR?= =?us-ascii?q?aJwLOAdozqdH8H3CXeCUgEjR4c8WyANQcgGieru3jeAyB2FVLzf0Ps9vFzqH2h?= =?us-ascii?q?TkAuyQGFc0xh16Gu9x4QnfycSuof3qkKuSc6sTl0G0y9393OAdqauwVhZLlcYc?= =?us-ascii?q?864Fpf1mLWrQ99Ppu9L615hV4RaQd3v0Tz1xltDYVAi8cqpmswzAVuMaKYzE9B?= =?us-ascii?q?dzSA0J/qJ7LXMGjy8w61a6PNwF7RzNOW9r0I6PQipFXppBupGVY683V7z9lV1G?= =?us-ascii?q?OR5pXUAwoWVZLxVV069xxnp7HGZSk94pnb2WdrMamuvT/Iw8gpC/c9yha8Y9df?= =?us-ascii?q?N7uJFBT8E80AAMiuM/AqlkOybhICO+BT+qs0MNmgd/ec3q6kIvpgliq8jWtb+I?= =?us-ascii?q?B9zl6M9y1kR+/GxZkFx+2Y0RWdVzfnl1qhrN74mZpfajEPG2qz0y/kBJReZqdq?= =?us-ascii?q?Z4YEFX+uI9GrxtV5n5PtR2NX+0OiB1wc3M+kYgadb1v43QJMz0sXumCnlTG+zz?= =?us-ascii?q?NqjzEjtrCf0zDWw+T+aBoHPXZGRG9jjVfoJYi7kcsaUVOyYAc3jhul4lz2x69B?= =?us-ascii?q?pKRwN2PTW1tHfzDqL2F+Vau9rqSCY89T55M0tiVXSv6wbkyaSr76pRsa3DjuH2?= =?us-ascii?q?9fxDA9bT6qoJL5kwZ9iGKHI3Z5tGDZdt1oxRfD+NzcQuZc3j4HRCljlTnbH0O8?= =?us-ascii?q?MMet/dWVkZfDr++/Wnm6Vp1LcCnry4KAuzeg5WFwBx2wgeyzkMX9EQcmyS/7y8?= =?us-ascii?q?VqVSLQoRbmZYnr06C6Pvx9fkZ0A1/95dF3GppjkoQsn5Ecw38aho+a/XAfi2f8?= =?us-ascii?q?Lc1b2b7ibHoKXTML28Ta4BXh2EF5NH2F3Zn2VnKZwst9YNm6ZHgb2ich48BMD6?= =?us-ascii?q?eb8KZInS1rrVqktQjRe+Ryni8Byfsy734Xm+IJtxQrziWGGb0SHldXPSr3lxSO?= =?us-ascii?q?8d++sL9bZGG1cbi/zEB+h8yuDKmeogFAX3b0YokiHSlt4chkLlLM1mD86oH+dN?= =?us-ascii?q?nWc90TqgWekw3cgOhNNJIxiv0KiDJ/OW3noH0lz/U2ggBv3ZGmvImLMmtt87i/?= =?us-ascii?q?AhJCMT31fcwT8Cn3jalChsaWw5yvHpJ5FzUTRpToUPaoHywKtfv9MQaODCMzqm?= =?us-ascii?q?2AFLrCBg+Q9l1mr2nVH5CwMHGXOWMZwsl8SxmTI0xfmg8UUysgkp4/CA+q2NTr?= =?us-ascii?q?cF1l6TAJ+l74thxMx/pmNxblVGffuACoajIvRZiRMhVZ8wZC513PPsyG9OJzGC?= =?us-ascii?q?NY8YO9owyRMGCbYB5IDW4RUEyeG1/jJqWu5cXH8+WAA+qxNf/OYbGQpuxCS/eH?= =?us-ascii?q?34ig35Bg/zmSKsWPJWVtAOcj2kVdR3x5HdrWmykXQSwNiy3Nd9KbpAu7+iBvtM?= =?us-ascii?q?Cz6vrqVBjq5YSVD7tSNtVu9gusjqifMu6cniF5KSxX1pkU33/H1KAf3EIOiyFp?= =?us-ascii?q?bzStF64AujTVTKLIgaJXAR8bazloNMtU4aI83w9NNtTditzp1753lPo1B01CVV?= =?us-ascii?q?z7lcGjfdYKLH2lNFPbGEaLM6yLJSXVzM7sf6y8T7xQjPlTtxCruDaUDVHsMSqZ?= =?us-ascii?q?mznuTRCvPvlGjDuHMxxGpIG9bhFtBHD4Q939bRG7NN53jSYqwb0vnH/KLnATPi?= =?us-ascii?q?Rmf0NWsLKQ6SJYgvNiG21O9XdqMemFmzyE7+nDMJoXv+FkAjhvl+Jd5nQ20bxV?= =?us-ascii?q?7DtLRPZtgivdssZuo026kumI0jdnSwBBqihRi4KEo0piIr7U9oJaVnba5h0N4n?= =?us-ascii?q?ufCw8Qq9tjFNLvp7haysLTm6LrNDdC79XU8NMHCMjVJ8KHN3whPAH0FzHKFwQF?= =?us-ascii?q?TCSkNWfFi0xaivGS+WWfroImpZj0hJoOVrhbWUQvGfMVEEtlAsINLYxwXjM8j7?= =?us-ascii?q?GbissI6mC/rBnVX8pauZ/GWuiVAfX1JzaTlaNEaAcQwbPkMYQTMZX221Blall/?= =?us-ascii?q?hojKAU3QXNFTrS1ndQA0ukJN/2Z9TmAox03lbQat72MJGv6vgh46kA1+bvox9D?= =?us-ascii?q?30+Vc4OkLKpDcskEk2gdjlgjCQcDrvI6qrWIFWDCT0t0YvPZPnXwZ1bQqynUl6?= =?us-ascii?q?OzveQbJekadgf3hxiADAoZtPBeJcTapcbR8W2/6YffEo3E9fqiWg3k9H+fHKCZ?= =?us-ascii?q?15lAspcJ6gtXRA1Bx/bNQtP6zfOLJJzkRMhqKJpiKozP4+wBQAKEkX6mOdZC4I?= =?us-ascii?q?tVcTObknPSqn4+ts6QKamztZZmcNV+AmovR0+UMhI+6A1T7v06ZfKkCtMOySN7?= =?us-ascii?q?6Wu2/Glc6OX1w/yEcIl0he8Ldsz8gjaU2UW1oozLuLGBQDLdDCJh1Nb8pO6HjT?= =?us-ascii?q?ej6DvvjXzpJrPoWyC/voQPSUu6YOmEKkGwgoH58S4csdA5msykDYLdvnLbIfzx?= =?us-ascii?q?Ui+hjrLk2fDPtVYBKLjCsHo8anwZBqxolSOCsSAWpnMSqt+LbavRQqj+CAXNcr?= =?us-ascii?q?eHcVRJEINnYrWM28gSFZpW1MDCWw0uIayAmC6CXwpiLOAzngd9BjfuubZQtwCN?= =?us-ascii?q?Gq/jUy66a2iUTJ/ZrDPGH1L9JiusPI6eMBvJuIEe9bTbxnv0fbgYlYSGSgU3TT?= =?us-ascii?q?Ht6tO5jwd44sYMTwCna9SFywlTQ1Tsb2PNu2IaiIhxzoSZxTsImB0zApLdW9GS?= =?us-ascii?q?0GGxdsu+ED47pxZRYdbJo/YB7osRk+NqOkLQiE1dWuRnqiJiFNT/lD1+m6YaJY?= =?us-ascii?q?zzY0ZO+g1HQgVo06z/Ww8UMVR5EKlBHfyuylZ4lCUSj+AXNdewLXpSUljWRhMP?= =?us-ascii?q?g9wvsnyhPSrVYcKyyLdPBuaGFco9E8BFaSIXJqCmo4R16RlpfM4g+s3r8I5CRR?= =?us-ascii?q?hdBU3vNZsHLmpJ/QfCqsWLC3qZXSqycvd9wmo6xtPoP9OsSGsZPfnjrYTJnWqA?= =?us-ascii?q?KISzW1F/tAldhWOS5YTuRIlXsjOcMYpYpL8VAxWdsmJ7xTFKksoainZiF6Ai4U?= =?us-ascii?q?1iIWTZ6P3CIcjeemwLvVjA2QcZQ4PBwDqpVCjcMXUzRqbSMGuK+jS4LWmneLSm?= =?us-ascii?q?gWIQcT6QBM6xwFloJrY+/q/pHHTJ5WxD5Quf50VTHLFpZw/VvhVm6WmUT4SOmm?= =?us-ascii?q?k+GxxwJSyvPs3cUbWB54DUhd3P5YmFI1Jr9tN6QeuZXHvSOPdUP/oG3i0vCmJE?= =?us-ascii?q?VLxc3SaVL4EJLPtXDgXS0E5X0UWYhPxWnFFZsPjgV0c6krpFBDIYy8fEbx+SAk?= =?us-ascii?q?zZxzH7akTcCr20olrXEeSii2EdpOEf1pvUnLVz1iZ5CrrJTlNItIQm9M5pKSt1?= =?us-ascii?q?dZnF9qMy6jxppWM9tN7SIUXDhTvTWdu8O/SNdZ1s9sCJ8DOcxyu2vnGKxeJpie?= =?us-ascii?q?vXk2ur3pyn/W/zA8sVi6xDWvG6+2Ve1Z5WgeFh8vJ2uAtkklF/Es/XvK8lDRrl?= =?us-ascii?q?B0+P9WB7aVgUptoDZ9H5VOBjdT2nCmNFlzTWdJvPtEJ6jPdMxcWfYybwe1OxMi?= =?us-ascii?q?Df4mw1CJ/UZskHjjeSxyqw1a9zreXwQvVCkVg7btmSEFpc29Pz8VVY5IZy07by?= =?us-ascii?q?jZMwKbhTxXvBFHZkFrXZAZHshK+7UF0otR4MXCVVysKCEeURxlLgI3z/xflUtZ?= =?us-ascii?q?v0WZfSDSFg2odPnVvh1wZ8eRo9ajLO7l8wdfloPnrOc4+r0MR328gwKtR8zeop?= =?us-ascii?q?T9tt2NuEqOcrv4M+2ibn/ASjjMkQ6/ha0+A5nM4SfTLBJRK4Nmxno8fZjhFWnL?= =?us-ascii?q?MAxaJ6IcIkpWTrx6ZclDou9BfcNkfrgG+bN1DBKdWhzvAJCvrOVBLlvLRTTRNT?= =?us-ascii?q?+B/fa7oY3O9rHSVPbvZtSUx3nZR6J4II165SP8G7fw3o9U4lD21et19kNmVVjG?= =?us-ascii?q?NDiMrNbmJgwV/8Sta1XtvoY3EjPMHJd/jmfiyltGd8UJXy2g6I4Yx49B6HbsVe?= =?us-ascii?q?J41VD+v/Zc97Z49YU64a1lxMmvKKjOLvRatFNoDQKPBgV27JktBnZwR3xJaO8L?= =?us-ascii?q?NPjRZbgZjdzpq+3vDawY9gCa++xDZtvbPEzBns6/Ci+CRhBagAgBriMVIRWG2/?= =?us-ascii?q?6DhaB0Vd6vpfLl1UI1/1i+MhkGwah15Yef5qqHvvLYbwfKwLgfXajqW9nzoagy?= =?us-ascii?q?tEOU+f0kjqQBemhvbw2gCugdWdYXxn38wqAy0SIsD8TDEqr8+P5ZSX02gC/vlo?= =?us-ascii?q?tgH1USBvMUB6CE/Zpfnmc/n+zWKMEWfrpFmmaVGh6uCqUCxmKz6yuLPGllhQnD?= =?us-ascii?q?3Az2QWyp91L5sCl4TjHWw9fkiEpVWaG9BV1OUCqxJU94rDSPMRLqtNXto6Q161?= =?us-ascii?q?o2Mmj+u9KTj2ahPa5XH8njJNydPSY0pUgYjJsqRtC13oAbA9W9Ks8L8H5idvve?= =?us-ascii?q?93+rkyhZrqdFnYXe5M+V+u/QHXa9kaKXsKmNyypeyngjulEz8NagOe/S59eSWf?= =?us-ascii?q?Sny34RTztjuwvGRxO1rLjboksVOUyN1UfHgo0KPtdX3XkizE7m//QjQMgu9ApC?= =?us-ascii?q?CobAeukCqi7pNDvz21afbMo9VjOC3DtPAlL1DV54FbA62GLxoM3JknPQ9EczRo?= =?us-ascii?q?Vqdkznght3D54jKU827VgazSUCHRIKaRCBA7GiHV7lIpccVUgfdRSH26C3dbst?= =?us-ascii?q?0k133Lyv//PTbOx7B6cWLfZSkg+Ok0ZdGpIKsK0RWqhwe1lD+67LvgLiEZToX+?= =?us-ascii?q?D6lXosMv24WsRa8dsct3Yi+Qu/SQSv5opE77YBkp+IbrREYZ/OvM9i80hn+SQD?= =?us-ascii?q?ditXgBhwlxm5S/wTpPj/4tjHt5ql8uSuVKcoR+gM8hg7GWR/gIXqgFAip9HX2P?= =?us-ascii?q?1QSovLhoTj6ApNOWKFuJ7G0xlgLuoDM4Orfbd6+HodOycTPGkOMsSKa/Yi/yBh?= =?us-ascii?q?KjLT50ZNAskUf9MXINLNmRxIik3uQLxc7cvbGkSWCohpdcAo7nb3yCgv/pshVu?= =?us-ascii?q?bt8yO5JZfC4F5TJfxDkT9slNXYpOcP2/bSDzIX4XaBYRhv3iyC04WNC+r3/eiU?= =?us-ascii?q?0NHbTU8GETI2U4ZTIzqC4w+nSvOulJr3VgOU68nzgI8xdU+LXny+hrgFvbpMEe?= =?us-ascii?q?9OjSX7xDteGpr2h/2Lqdqs7nVYtlldHIZ09x3FF71VPo9nNhTgismrWk98CzPj?= =?us-ascii?q?eMHOaBUuvPCZxuES7OhlKkT+ZIAbIhMYy73g8npaVBFuSKPsslafQ+0ReMNsSO?= =?us-ascii?q?nYoXBN9YJgN6gPMUCSpJPwtDdHtkw2AA8yZb80rzxaalfBnA1PVKbpo74MkA0c?= =?us-ascii?q?XsBluUVUA2K/JHo+5ybbVaRSlKSRB+Ia8jOPTqwJVEVkNTh+TA2x2JVvfbupgP?= =?us-ascii?q?9Gv3hCnixjuvgr0yZpSAG6uSLyu6IHwSgg962gtDUdpXxFSf2TkyLPCVVF0PQK?= =?us-ascii?q?grkTBm3n6Vy9enYDapX94KVpJMTn74kh4G8/bQ8lfyIYQeSqEzvwgL+QAoyTrN?= =?us-ascii?q?JcgwaAuMrSYr+oNigeL6kzxx3lSXh81AjegRlp/XAEQjWl9tAkIpuyNdwixiqy?= =?us-ascii?q?FmjRbEwM7b9RsMvtqV4LS/M7aVFmwGVj1MiLXDECRMzLG2YokwclaGREcJRY6R?= =?us-ascii?q?8ZFqklmSiIvqhY/g4OZDfbD4Wl9pPWncjWxXk3Vc1qyX7Opq2ZmpMq12Vom9Jq?= =?us-ascii?q?7iGUvnQfbOjYU9JxDXjy0Ydf0vbyZ/K3suAIUIFm0qiuUOceMsm//mu7wJdqVV?= =?us-ascii?q?GrxrQQG1q0K+ECya3dUyi7VW2UQ+KLfHaQnzwhKE79+QGoLkEraMdNt0I9Pe/C?= =?us-ascii?q?hplSlgL/VbN0Qj6dpUTczGwlMOMVaxg6uIG5dAwWVOQRffSTJfAywP0iD1sBd3?= =?us-ascii?q?3JHSt2Cu+utl6tmIl7O2l+7kjhZOTt8xzmMMGMFRUeFo7atJFx8+SgRm2dIX9g?= =?us-ascii?q?0AFyPE5s+ufDFlQxs/RRc4qQndfMhNR0z+oFe+1rMSIjpt4Zgphj5pWM0MeWbR?= =?us-ascii?q?HRyY7/JdTUovibAP3fyF8nemNAXboaZgP14Zs1PtgjV73VA7RZoQwWBbImT5w5?= =?us-ascii?q?K2fx6KZ0IRtofQHPYrS0ntLnpvmPZptTu3/W8kwwIznBtBEZzfy0VwN7ZYiwh3?= =?us-ascii?q?ruOJAwWi5Br9p1Bxt+G4tPH9kPrxCpAp6TnKG7hcS8+0Z9u+8Nqqr/FOzF1M6+?= =?us-ascii?q?34VqRJha5EqLPDnLCKlsmERlgfy4gu3c3ZnpFcPiZdQEWfB1QmHbbr/GH52/JS?= =?us-ascii?q?yVN8P9ek5G9ruc36xjUhWVei/1Ra2GtDerNP98+0U01pR4fPbPzDwq97za1sPy?= =?us-ascii?q?Z3tapii/s3GEL55f7F3WBezEQR1YU/2F8HxqHacPd4v76P8OMcA+wNib+wRz6z?= =?us-ascii?q?BC39WeLqi5qk/DwFl7dY7aLET1xyY5Q5cFLwqlPUsqn2DZtmzXAW5AIci8Nclt?= =?us-ascii?q?nNGVAwTp50lwn2Ete2FAFnPsRdeQImgbx9m+aRaL9A1RCdYDmPS7eUkitq29Ue?= =?us-ascii?q?NoIIlKmf22tLUbltZkMzrPS9ZePyHRKr92IzVQAuLAqlg0Yh4LraI1VZktZZeU?= =?us-ascii?q?O04HM1mPyTn0zQTc1U37bMGs1KmTLCYR6HVHwKrP0SJQqAmhpfaZnsrjXajcbJ?= =?us-ascii?q?7sQPHSMCslVjedRTkpD0ap+FGktOQAvPqZJ2cfv18VbjiVCA4JqaBltcLQAXPL?= =?us-ascii?q?me1/YJ0Kg+iXWyLqRy17k6o9HT1GtV2KQ/ofFQnWaGLhgGVcuAy+PPNM+2zqb6?= =?us-ascii?q?GAzKpPR+MWGpdMcuGeQ9bAdvBRPSwnli8YOOmie93RtKg50lbSQmsCEqnI6UeS?= =?us-ascii?q?TEiITfyA3zjrR5kav5Aouio0/dLdhi13E6HPP7aFvT6u85W4gT2eueLEU2kifU?= =?us-ascii?q?01jPgFAGmbzxlKMHsEBM0NuEHxXq6AYF5B1GknieJrxxABeQd+X2Zw0nJIhva9?= =?us-ascii?q?G8xYSVkSjG+0Rv0Jckx3Bisq/UCW+g3yfcAAucfLSm9c8bsMT44dIeIt6IbJJa?= =?us-ascii?q?QQzvEp3Ch6ryMkqSmdCU1Sjh7Wu5bXSaZ9wKBSoHI19OxsX12eBjbYfnXDx6K4?= =?us-ascii?q?BM9VgyRju3bp04zTpO8pfKBXo4B/HUciHTN9Jteb+ytIF27zxk/6kgy6F3ymKS?= =?us-ascii?q?gY+35fKDQMbOdu5/dyqhfTbtLI4k7WsLgu/g/jKw+OB6H8/ZtREMDynVG6YCxG?= =?us-ascii?q?anOvUZVxsOxMj/4Ve6osYYX4CFfEeEy2NguFv2gp8x/wr/z/FcNXxk0Gm7gobd?= =?us-ascii?q?TuWJMHS9Le2Wc8izxzyYAAwCW8RJv/b5n9+soyTSUVO4OyRFHraZbNLjO0v/cG?= =?us-ascii?q?hNNmLFqfcOUXOipgtpcykmr7Jwez9ZzY4j6GLqb+cyewfs4JLsLsw1ZPhqLAP4?= =?us-ascii?q?am3ftIBGAb5uBolsLEsXHXr3KXJ8ywdHLk3g4BNxuwZMDV8pZ4ZM0CdbRvROBO?= =?us-ascii?q?E2cHqR4iYbgaA8y0qT3kkUPOWexluTU4UQ7/E4mwl5hUaSR46J6jmV6es/fwXe?= =?us-ascii?q?LKXIzr/4T/NFUwjeNOb9iLpsn2l9nNDA=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2H6BAAzHH5Y/wHyM5BdGgEBAQECAQEBAQgBAQEBFQEBAQE?= =?us-ascii?q?CAQEBAQgBAQEBgw4BAQEBAR9igQaOSpEHH5cuKIJNhUVXAQEBAQEBAQECAQJgK?= =?us-ascii?q?IIzGwGCGwYBAiQTFCALAwMJAQEXBwEhCAgDAS0VEQYBBwUGAgEBARgEiGIEsRM?= =?us-ascii?q?6JgKJZQEBCAEBAQEkiEcIhncRAYYAAQSIepJAkV+KIAoFF4YnSJIkWHE2KAo6h?= =?us-ascii?q?GuBSHKGKoIuAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 17 Jan 2017 13:30: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 v0HDUpQj014320; Tue, 17 Jan 2017 08:30:51 -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 v0FF5CQl226271 for ; Sun, 15 Jan 2017 10:05:12 -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 v0FF5BlN021005; Sun, 15 Jan 2017 10:05:11 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AABAB5j3tYhw4P49RdGwEBAQMBAQEJAQEBgzkBAQEBAYEBgQaDUZt6H5MdhBqCbIM2AoIYVwECAQEBAQECEwEBAQgNCQodhRoDAyMEUhAfAQUCJgICVwYBDAYCAQGJA696gWs6iXwBAQEBAQUBAQEBASOBC4c8CIorgl4BBIh6kkCRX4ogCgWGPkiSJIF+KAqFAiOBSHKIYgEBAQ X-IPAS-Result: A1AABAB5j3tYhw4P49RdGwEBAQMBAQEJAQEBgzkBAQEBAYEBgQaDUZt6H5MdhBqCbIM2AoIYVwECAQEBAQECEwEBAQgNCQodhRoDAyMEUhAfAQUCJgICVwYBDAYCAQGJA696gWs6iXwBAQEBAQUBAQEBASOBC4c8CIorgl4BBIh6kkCRX4ogCgWGPkiSJIF+KAqFAiOBSHKIYgEBAQ X-IronPort-AV: E=Sophos;i="5.33,233,1477972800"; d="scan'208";a="5907577" 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; 15 Jan 2017 10:05:00 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3Ab5NUtRCeIZwt7hcegwAqUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSP36pMuwAkXT6L1XgUPTWs2DsrQf2raQ6PyrADFeqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRo?= =?us-ascii?q?LerpBIHSk9631+ev8JHPfglEnjSwbLd9IRmsowjcucYajZZiJ6sw1xDEvmZGd+?= =?us-ascii?q?NKyG1yOFmdhQz85sC+/J5i9yRfpfcs/NNeXKv5Yqo1U6VWACwpPG4p6sLrswLD?= =?us-ascii?q?TRaU6XsHTmoWiBtIDBPb4xz8Q5z8rzH1tut52CmdIM32UbU5Uims4qt3VBPljj?= =?us-ascii?q?oMOiUn+2/LlMN/kKNboAqgpxNhxY7UfJqVP+d6cq/EYN8WWXZNUsNXWidcAI2z?= =?us-ascii?q?cpEPAvIcM+hGoYnzp1gAoxWwCgajBuzg1jBGi2Tq3aA4yektDR3K0QIiEt8IrX?= =?us-ascii?q?/arM/1NKAXUe2t0afGzSjIYfRM1jfn64jIbwshquyDU7J0f8rR00gvFwXKjl6N?= =?us-ascii?q?roHqITeV1uoXs2ia6epgWvmii3M8qw5vuDiv3d0gipLOhoII0FDL6Tt2wIgyJd?= =?us-ascii?q?2iR050f8SoEJ1OuCGGLoZ7RN4pTWJwuCsi1LEKpIC3cDIUxJg5xRPTceGLfoiS?= =?us-ascii?q?7h7+W+udOTV1iXF/dL+wgxu+61Wsx+L+W8WuzVpHqi5In9/RvX4XzRPT8NKISv?= =?us-ascii?q?5l80ehxzmP0wfT5/lBIUAziKrbN4Qtw7AumZUIq0jMAzH5lF33jK+QaEok5vCl?= =?us-ascii?q?5/r6brn4vJOQKZF4hwPkPqgzmsGzG/k0PwcWU2ie4+u81bnj/UPjQLVNi/07ir?= =?us-ascii?q?fWsJTUJcQBp665BQBV350+6xakETimys8YkWMcLFJCZRKHlZTmNE/AIPD/F/e/?= =?us-ascii?q?jEqjnC1tx//YIr3tGo/NIWTbkLf9YbZ97FZRyBEtwtBb5pJUDKwBIf3oV0/ttN?= =?us-ascii?q?3XEh85Mwuuz+bhE9VyzJkSWW2IAq+HKKnSq0OH5vozI+mQY48YoC39JOU+5/P1?= =?us-ascii?q?kX84mUMSfamu3ZcNbnC4Be5pL1+WYXrrnNdSWVsN6w4/SvH6zUaPWiNJZmqjGq?= =?us-ascii?q?c76iw/Baq4AorZAIOgmrqM2GG8BJISLntLDlGKDGfAa5SPW/BKbjmbZMBmjHhM?= =?us-ascii?q?eKKgQMcZ3Auvr0euxqJuNOvP0jURr5P4zNx87OCVkgs9o3g8Lc2Y3nrFamZuhG?= =?us-ascii?q?ITD2s01aVyugp5jFKEy7J5mNRfD9VY4/4PWQA/Y9qU9+VnD5jXXQXbc5/dUF+7?= =?us-ascii?q?Rv2+CCw1C9c2xMUDJU16HoPmxlr40jClDvc40fSrDZgw46SWlyzqKtxyxl7G3a?= =?us-ascii?q?0lnl9gScxKYynuvbJy7wjeAcbylkydk6u7PfAH0DXl6HaIzW3IulpRFgF3T/OB?= =?us-ascii?q?FU8eYk/XpNGx3ETIQqWyEvxzLQpFzc+LL+1BLMfuh1hcWOzLOdLCbmb3kGC1U0?= =?us-ascii?q?Wm3LSJObHEM0AUxibAEwAplw4J/HCJfVwzAim7omTRJCF1GEj0JVjr7PN1pX28?= =?us-ascii?q?VEA5iQeHcxsyhPKO5hcJiKnEGLso1bUetXJk8m0sEQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HTAwBMjntYhw4P49RdGwEBAQMBAQEJA?= =?us-ascii?q?QEBFgEBAQMBAQEJAQEBgw4BAQEBAYEBgQaDUZt6H5MdhBqCbIM2AoIYVwEBAQE?= =?us-ascii?q?BAQEBAgECEAEBAQgNCQodMIIzGwGCGwMDIwRSEB8BBQImAgJXBgEMBgIBAYkDr?= =?us-ascii?q?3eBazqJfAEBAQEBBQEBAQEBI4ELhzwIiiuCXgWIepJAkV+KIAoFhj5IkiSBfyg?= =?us-ascii?q?KhQIjgUhyiGIBAQE?= X-IPAS-Result: =?us-ascii?q?A0HTAwBMjntYhw4P49RdGwEBAQMBAQEJAQEBFgEBAQMBAQE?= =?us-ascii?q?JAQEBgw4BAQEBAYEBgQaDUZt6H5MdhBqCbIM2AoIYVwEBAQEBAQEBAgECEAEBA?= =?us-ascii?q?QgNCQodMIIzGwGCGwMDIwRSEB8BBQImAgJXBgEMBgIBAYkDr3eBazqJfAEBAQE?= =?us-ascii?q?BBQEBAQEBI4ELhzwIiiuCXgWIepJAkV+KIAoFhj5IkiSBfygKhQIjgUhyiGIBA?= =?us-ascii?q?QE?= X-IronPort-AV: E=Sophos;i="5.33,233,1477958400"; d="scan'208";a="2831610" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from mout.web.de ([212.227.15.14]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2017 15:04:59 +0000 Received: from [192.168.1.2] ([78.49.147.199]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M3BeZ-1ckZnR3jLL-00swaL; Sun, 15 Jan 2017 16:04:51 +0100 Subject: [PATCH 07/46] selinux: Delete unnecessary variable assignments in policydb_index() To: linux-security-module@vger.kernel.org, selinux@tycho.nsa.gov, Eric Paris , James Morris , Paul Moore , "Serge E. Hallyn" , Stephen Smalley , William Roberts References: From: SF Markus Elfring Message-ID: <247c0e27-c442-3408-4f92-492629d61fbf@users.sourceforge.net> Date: Sun, 15 Jan 2017 16:04:48 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: X-Provags-ID: V03:K0:wjP36bF6Q1DpwZqBZmJDUEFPTklhWtZZMeaSr+FL5adyfAcRBy0 EvfGE6a/9XO1fZ4LWPw8I+5+Cenu9WDrHneXYwFQWUgbipoMn2tbKkKGd1fAvJMRuSjJezw mhYX/rJJoO0kQhiH/ZPb/4cpvpB+eolOEstwO0AtQjQHVH5/W4b2JA06r67EORiCGhfOr3r WgFGCcU/wL6CcQ6i85G9w== X-UI-Out-Filterresults: notjunk:1; V01:K0:Z8x/1lRzXnc=:UIXe3DMSy9WNFf548RgUhe S8dLZGAs6O2ZAM6lsyu3nBSlvi1CsZf7x94o9rfXdXEkcSt6VK3UINBPsxBabXfvuyBjwLps5 JzIzlBq6dFXzVgFqPmS68zg30QbNSSPy7JXXwoQP3GqCe1KwNgwYT0c647+Q3yLP/FZeRDz1x bN69mXayvti9r+/co4jq9cqKGV4pNqGYILoZbHTNFjitT0tCq/5GqxRFDNY3puC0upis49w/4 JkfiKJptiLu8X2UzbA18rkfkMwvSPVDkSCCjlmNv2PSrpnLotyxqBjOGqiMy00CiH+YBpnQRY qlO2ssNNjg9CUl+/b64gZ9c7kmMTEt0w97hdP2TidIzc7xY+92fKGVfYoEyMZeGxFRrOZS0KN QZKj3hw21eTPU30AXEWQZlryjUW+evk43B5GWYu9Jl5xAxxQQxyQpIlI4fGero3zxfwv7XFVu 1VGhJnSz+hUXIcUhaQzbXD/rFegMC6ciTwTZOHmJRguyOSd1j1IbSGoK6cODAvk4fZLz+ElMW 807egjmfAQ9wAVnY/Fe9IXmDv+i1tZttX1XSw+CQyR3gg818jGKjfcuipo7mBWYqiIhmt1Jhs JE3EXNT5zRb1oDCjXy3Hjo0aryrEOCp/ArUDlRaDtH35xGPTf5AoiLyC2AozgTLWbvjffwSyR 9rLVWLUaaJdsyGz8/AgPIP0VCdSVqpksfXRpXqBhLbT3eR/nSG8hFPyqHd1Q1IqChQ5jRy5RL 60uooOoo70p//2I229wDH7AJ4gMAUg2+TWRZz+AqG/DLVuIe2TvjH8j0nqVX9CUL6D6y+i0su P4XaGd0 X-Mailman-Approved-At: Tue, 17 Jan 2017 08:26:53 -0500 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: kernel-janitors@vger.kernel.org, LKML Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP From: Markus Elfring Date: Sat, 14 Jan 2017 13:40:25 +0100 The local variable "rc" was reset with an error code up to five times before a memory allocation failure was detected. Add a jump target so that this assignment will only be performed after a concrete software failure. Signed-off-by: Markus Elfring --- security/selinux/ss/policydb.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 21869b622c0c..4d4ba1ad910d 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -539,34 +539,30 @@ static int policydb_index(struct policydb *p) symtab_hash_eval(p->symtab); #endif - rc = -ENOMEM; p->class_val_to_struct = kcalloc(p->p_classes.nprim, sizeof(*p->class_val_to_struct), GFP_KERNEL); if (!p->class_val_to_struct) - goto out; + goto failure_indication; - rc = -ENOMEM; p->role_val_to_struct = kcalloc(p->p_roles.nprim, sizeof(*p->role_val_to_struct), GFP_KERNEL); if (!p->role_val_to_struct) - goto out; + goto failure_indication; - rc = -ENOMEM; p->user_val_to_struct = kcalloc(p->p_users.nprim, sizeof(*p->user_val_to_struct), GFP_KERNEL); if (!p->user_val_to_struct) - goto out; + goto failure_indication; /* Yes, I want the sizeof the pointer, not the structure */ - rc = -ENOMEM; p->type_val_to_struct_array = flex_array_alloc(sizeof(struct type_datum *), p->p_types.nprim, GFP_KERNEL | __GFP_ZERO); if (!p->type_val_to_struct_array) - goto out; + goto failure_indication; rc = flex_array_prealloc(p->type_val_to_struct_array, 0, p->p_types.nprim, GFP_KERNEL | __GFP_ZERO); @@ -578,12 +574,11 @@ static int policydb_index(struct policydb *p) goto out; for (i = 0; i < SYM_NUM; i++) { - rc = -ENOMEM; p->sym_val_to_name[i] = flex_array_alloc(sizeof(char *), p->symtab[i].nprim, GFP_KERNEL | __GFP_ZERO); if (!p->sym_val_to_name[i]) - goto out; + goto failure_indication; rc = flex_array_prealloc(p->sym_val_to_name[i], 0, p->symtab[i].nprim, @@ -598,6 +593,9 @@ static int policydb_index(struct policydb *p) rc = 0; out: return rc; +failure_indication: + rc = -ENOMEM; + goto out; } /*