From patchwork Tue Jun 12 08:09:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Enderborg X-Patchwork-Id: 10460967 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 38C0C601A0 for ; Tue, 12 Jun 2018 19:23:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2574F28956 for ; Tue, 12 Jun 2018 19:23:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1966C2899F; Tue, 12 Jun 2018 19:23: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=-5.2 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from upbd19pa07.eemsg.mail.mil (upbd19pa07.eemsg.mail.mil [214.24.27.82]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9245828956 for ; Tue, 12 Jun 2018 19:23:12 +0000 (UTC) Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by upbd19pa07.eemsg.mail.mil with ESMTP; 12 Jun 2018 19:23:10 +0000 X-IronPort-AV: E=Sophos;i="5.51,215,1526342400"; d="scan'208";a="14489818" IronPort-PHdr: =?us-ascii?q?9a23=3A5UUcWhB5A812kVYk47dtUyQJP3N1i/DPJgcQr6?= =?us-ascii?q?AfoPdwSPn8rsWwAkXT6L1XgUPTWs2DsrQY07eQ6/iocFdDyK7JiGoFfp1IWk?= =?us-ascii?q?1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBA?= =?us-ascii?q?j0OxZrKeTpAI7SiNm82/yv95HJbAhEmDqwbaluIBmqsA7cqtQYjYx+J6gr1x?= =?us-ascii?q?DHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PG?= =?us-ascii?q?Au+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC?= =?us-ascii?q?+85Kl3VhDnlCYHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6zTZ9MaQX?= =?us-ascii?q?dKUNhXWSJPH4iwa5IDA/cdMepdqYT2ulkAogakBQS0BO3h1DFGiHzx06I43e?= =?us-ascii?q?QuHhzI3BQiEt4TvnnbsNr7O7kJUe2u0KnFzy/OY+9M1Dvh9oTFdA0qr/GWXb?= =?us-ascii?q?J3dMrc0VMhGB3ZjlqOs4zuIjyb1uIQvGeF9epvTuWvi3QoqwpspTWv3tkjip?= =?us-ascii?q?XXiYIP0FzL6yN5z5srKt2iU0F7ZsSkEJRLuiGBMIt2RMMjT3t0tyY9z70LoJ?= =?us-ascii?q?i2dzUJxpQ/3xPTdvOKfoeS7h/jSeqdOyl0iX17dL6lmhq+6Uatx+/mWsWp3l?= =?us-ascii?q?tHqjBJnsTMu30MzRDf9MyKR/1g9Um7wzmPzRrc6uRcLEAxkqrUNoAuz6Yrlp?= =?us-ascii?q?oWrUTDBij2mFjqjKOOdkUr5Oyo6+P/b7X6vJCcLY50ihzlMqg0hsy+Afg3Mg?= =?us-ascii?q?gJX2SB/+SzyKbj8lHjTLVPj/02lrHVsJHcJcsFuq60GxJZ34ks5hqlDzqqzc?= =?us-ascii?q?4UkWcIIV5bYh6LkpDlO1TUL/D5Cfe/jU6skDBux/3eJb3uHJHNLnnFkLf8cr?= =?us-ascii?q?dx8lVTyA0uzdBZ+51bFKoBLenvWk7xqNPYDhg5Pxayw+b8EtpxzIweWWWRAq?= =?us-ascii?q?OBKqPdrUeI5v4zI+mLfIIVujH9K/4/6P7yjX82g1kdcLKr3ZsQbnC4G+5pI1?= =?us-ascii?q?6FYXXymNcBCn0Gvg0kTOzlkFeCSyJcZ26uX6Ig4TE2EISmDZ3ZSYC1mLyMxy?= =?us-ascii?q?m7HpxMZmBdFlCMH3bod4OeVPcKdC2SI9VukjgeWbimUY8h2gmktBXmxLp/Mu?= =?us-ascii?q?rU5ioYuIrh1Nh3/eLciRIy9SdzD8Sb0mGNUXp5nm0MRz8r06FwulF9ylGf0a?= =?us-ascii?q?hlmfBYEsZT5/xRWAcgKZHc1/B6C8z1Wg/ZcNaJSVKmQtC4DjErVd8xzcEBbF?= =?us-ascii?q?t6G9W4lB/DxzCqA7gXl7OVGJM07rjQ33/rJ8Zy03zGzrUuj0E6QstTMm2rnr?= =?us-ascii?q?Nw+BTWB47OlUWZi7umeL8C3CHT7meDzGuPvEZeUAJqV6XKQ2wfbFPMrdvl/k?= =?us-ascii?q?PCU6OuCbM/PwRc1c6NMLFKZ8b1glVBQffsJM7RY3mtm2uqAxaH2K+MZpLwe2?= =?us-ascii?q?oBxCXdFFQEkwcL8HaFLwc+BSCho3/FATxtD13vYETs8fRkpHO8VE80wBmAb1?= =?us-ascii?q?d92Lqt5h4VmfucRusJ0b0Zoichqit7HEym0t3MF9WAohBtfKJGYdMy+F1Hz3?= =?us-ascii?q?7WtxRhPpy8KKBvnkQefBlqsE712BV3D4pBndIsrHw00Ap4MbiY309ZdzOEwZ?= =?us-ascii?q?DwPaXaKnL8/BC1bK7WwU3e3c2N+qcJ7/Q5pVDjsxuvFkY49XVozcVV2WOG5p?= =?us-ascii?q?rWFAoSTY7xUkEv+hl0vb7aZjU96J3O1X13KqS0rCHN28gyC+s4zxasZdBfML?= =?us-ascii?q?mLFAXqCc0VG9CuKPA2m1iudh8EOuFS9KowP8y4bPuLw7SkM/h6nDKhl2hH55?= =?us-ascii?q?p90k2U/SpmVuHIx4oFw+2f3gafSTf8jUuustzwmYBefz0dAmq/yS/iBI5efa?= =?us-ascii?q?ByeYcLCWG0LM2twdVynZntW2RX9FS7HVMJxNepeQaOb1z6xQBQ0UUXoWe7mS?= =?us-ascii?q?eh1Dx7jTUprquZ3CzTzOXvbwEHOnZKRGlkjFfjPZO0g8ocXEe2cwgjjAGl6l?= =?us-ascii?q?rix6hHuKR/KHHeQV1PfyjyK2FtTLGwuaaFY89B854oqjhXX/inYVyATb79uR?= =?us-ascii?q?Qa2Tv5H2RC3DA7ay2qupLhkhx5lm2dKm1zoWHaec5uwxff/9rcSuBN3jYcQy?= =?us-ascii?q?l4kzbXDECmP9a15dWUi4vDsuemWmK5TJJTbC3rwp2YtCSh421qHQOwn+qol9?= =?us-ascii?q?36Cgg1zzX718JwWSXTqxb8f5Pr2LikPuJpeUloHlD85NRgFoF4jIQwmIka2W?= =?us-ascii?q?IGiZWN4XoHjWDzPM1F2aL4cXUAXiALw9jI7wjlwkFjKGyGx57hXHWH3sRhf8?= =?us-ascii?q?W6Yn8R2i8l98BFErqU7LhfkCRpo1q4sQLQbeFznjgHz/si8nkag/sGuAA11C?= =?us-ascii?q?WSHqgSHVVEPSzrjxmI4cqxrKNLZGaodLi9z0R+ks68A7GFuAFTQm75eo0lHS?= =?us-ascii?q?9y8MpwLE7M3Gf06oH+d9nadcgTuQGMkxfck+hVL4o8lv8QiipjPWLyo2Ely/?= =?us-ascii?q?IhghN0xpy6upaIK3l2/K2lGBFYLiP6a9kV+j7zkaZUhtyW0Jy3HpV9BjULW4?= =?us-ascii?q?PlTfyyED0MqPvnLByBEDsgqnecArrSBhWQ51tjr37VFJCrLX6XLmEDzdp+XB?= =?us-ascii?q?mdOFBfgAcMUTUigJE2DR6lxMrgcEdl4TAc/V/4pQVSxe12LRX/VX3fpAiwYD?= =?us-ascii?q?cuVJefNAZW7h1F50rNKsOR9eV/HyVZ/p26sAyNMXaXZx9WAm4VQECEHE7sPr?= =?us-ascii?q?2v5dnG7uiZCfGzIOfOYLWUtOxeTO2ExJy13Yt65DaMMcOPMmNlD/0h1UpJRW?= =?us-ascii?q?p5FNjBmzUTVywXkDrAYNWapBez/S13qNuy/+n1Vw305IuAEb1SPc9o+xCsjq?= =?us-ascii?q?eJL/SQizphKTZEypMMwmfFx6IQ3FEIlSFhaSKgEbMYtSHTSqLQn7VYDx8fay?= =?us-ascii?q?xoM8tJ4Lgw3g5XOc7Uktn1zKJ3juYpC1dZUlzsgt2pZcsPI22nLlPHA0eKO6?= =?us-ascii?q?qAJTLQ2cH3Zr2zSb5LgepIsB2wvCqUHFX4PjSfjTXpUQ6gMf1UhiGBIBNeoJ?= =?us-ascii?q?29cgpqCWX7TtLmah26MMdwjT0ywL00mm3FOHUZMTh9b0NNtKOf4TlfgvVlFG?= =?us-ascii?q?xL9mBlIvWcmyaF8+nYLY4bsfhrAyRwie1X+3E6y7xb7CFKWvN1hDfSrt5po1?= =?us-ascii?q?GjjOaD0DxnXwRSqjxTnoKEoV1iObnF9plHQXvE+gwC4n+UCxkRpNtlDcbvu7?= =?us-ascii?q?xKxdjJj6LzKzZC/8jS/cQCG8jeMNiHP2Y5MRr1BD7UCxMITSS1OmHEmUNSiu?= =?us-ascii?q?uS+WGVrpUhsZfsmYAORaJcVFw7DvMaEFpqHdwYLJdxQDwkjaaRjNQU6nqmsB?= =?us-ascii?q?nRWMJas4jaWfKVB/XvLiuWgqdAZxsJ2r73N5ocNpf820B4bVl6hovKEVLKXd?= =?us-ascii?q?9Rui1hchM0oEJV/XdjVGIzxUPlZR624HIID/G0hAQ2igxwYOQ26jjj/0o3Jk?= =?us-ascii?q?DLpCsskEg9g9Plji6NcDTpNqe/QZlWCzbot0g2Kp77RwF1bReskkxiNTbEQK?= =?us-ascii?q?lcj7RmdWB2kgPcvoFPGfFER61efBAQ3e2XZ+kv0VlEsSWo20tH5erDCZt/mw?= =?us-ascii?q?onaoKjr3VF2w1/dtE1PrDQKLBPzldOmqKEpjWo2fwpwA8CO0YN93ufeDIJuE?= =?us-ascii?q?wNMbkmOyqo/+x35AOfmjtCeHIDWOEwrvJs6Ew9J/yKzzj83L5bNkCxK+ufIr?= =?us-ascii?q?uDtGjElM6HXk0/2VsNl0hF+7h21sEjfFCPWk80zbueDRIJOdPMKQFIdcZS8m?= =?us-ascii?q?bcfTqWu+XX3Z11J5m9FvzvTeKWr6kbnESkER0zEIsR8MQOAIOs0FrCIsf9LL?= =?us-ascii?q?8J0xIt5B7kJF+dFvRGZAqLkCsbo8G41JJ30pRdJjAZAWV5Lyq3463aqRI0j/?= =?us-ascii?q?WYXdc5eHEaUpEDNnIsV82wgzRZsGhYDDmrzuIZzxCP7yX6piTREDb8b91jZP?= =?us-ascii?q?OPZR10Ed+45C8x/rSxh1PM7preIGT6Osh4td/U9eMWvZCHBO1ITbNlqUfTh5?= =?us-ascii?q?FYR2C2U27ICdO1KYLwZJMqbdPoC3a6SUeyizctT8fwJdqtNaaJgRrySYZTqo?= =?us-ascii?q?mb0ygpNdWhGTEGBxdwu+YD6bpmZQIZeZo7ZgXnuh8iN6ylOgiYzMuhQ2KsKT?= =?us-ascii?q?tQQPlfyeS6Z7NXzyowYO+10mEgTpQgw+mx70ENWIkAjgvCyva7e4leTS/zF2?= =?us-ascii?q?RTegnVuSU5l2lhNuMzwuglwxPFqlgcPC6Ve+N3cmBEuMs8BVyKK3VsFmU4X0?= =?us-ascii?q?OcjZbE4gO02rAd5TFdn9VK3u1ZsXj+uJDfbSmiWaOxr5Xary4gbd87o6JsKo?= =?us-ascii?q?zvOM2Gu43CnjbHVpnfrhWFUDKmF/pdgtVfOjhYQOROmW0/OswLootB6UswVs?= =?us-ascii?q?ciPLNDEq8sqa62aTB8Fy4d0TcZV5+c3DwFmuq82r3alguOf5QmLhMEtYtNgs?= =?us-ascii?q?cHUy92eS4eo7ejWJvQl2+BUGcLIQMT4h9L5AMPjINwefrl4IXQRp9W1zFWu+?= =?us-ascii?q?50UjfMFpRw61v7TWSWjEPkSPm9luymxhhezPTy3dkHQBR/E1RSx/5Klks0L7?= =?us-ascii?q?F6M6sQvonUvTKTaEz1onntx/W8JFlN18Lbakf0DIzbumrgSicc42EbRZdTyH?= =?us-ascii?q?HDEpQfixZ5Z7s2q1VNOo+mfl3z6CAjx4RsA7a3T9urx0o/oXYAWSiqD8JLC/?= =?us-ascii?q?t6v1LPRD1lf5erpY3+NJVcXmBc5J+Qp0pXnUh2LyG5zp9cJN1X7T4XQDhDuz?= =?us-ascii?q?Ods8WuSMdbw895E4cMIstju3f6AK5EIoaerGA2urP11n/U4DQ8sFCkxDqtBa?= =?us-ascii?q?O3U+VZ8HAAFQkzIWSRtFUvBfM28mjO6lDNrkx0/+BDC7iXlkVxvCxyEY1SBj?= =?us-ascii?q?tSznClKElzTGNavOpELqTVb9ZcTOM2ZRO1PBw+D/Em1VST/U5ohXf5fzBytg?= =?us-ascii?q?xC9iDBRQk7Szcajar2lD0DrsGnJSUaRIhWbTUgaCfFLxyUmTxNsBZYcUFqVI?= =?us-ascii?q?gTAsxZ9LEDwYtU4s3CRF6uKS4fRhxiMRk40f5Fmk5dq0iYfD3dDQ60dfbOrh?= =?us-ascii?q?J3fN2erMiyLPjj+wdHkIznuvgi96ofX32mhRGtQdfGoo/+rNKKsEWOdL3/M+?= =?us-ascii?q?Khf3DMVyTMggq2hbc/CJnG5S7TPxRHK5Ni03orfYDhCXLXPRRBP68bIU5bWL?= =?us-ascii?q?t7adVAp+BWfc5keKAH+a93HB2HXQ/vGJayrPZaMlbTWC7eIDub/uy4u4LT4q?= =?us-ascii?q?TXSfL8acyU23bHX6V3M4986Tn6B7jq1ote9VDt2vt390N6Tl/GMzuarNn6Iw?= =?us-ascii?q?MG68ajelHlvp0zEjPcGI1wn2b1xkFca8oXRDWn/4gCx5Nd9nnwUv5400j0sO?= =?us-ascii?q?BJ7Llr9Yg37K5vyceoJKfdM+5WsUl5DRiIHg9q7IkiAHBjR2BNZe8cMPPRfb?= =?us-ascii?q?8cjc3usO33GbIY5wCS++xDc9THP1vBms69Cj6CVRNEgB0NqTkALguTz/SFgb?= =?us-ascii?q?N7Sd65pejl3UIg+1q+Lh8DzL124IeL5KqJq/HNbxvQy7gEVbLmRsXtobQwo0?= =?us-ascii?q?mS/+ErlKYSemxpZA2qCOkdV88HyWj60a8n1jksHN3fH73+5PFPTXU5nijvm5?= =?us-ascii?q?plBVUZBusUHaaX/YRZhmo3gO3ZNsYYc69YmGaPFAKkEqcYxn627yuaO3Vqgh?= =?us-ascii?q?bT3B7uW2yz8UX2rShiQSTW1dvjlVBVVravD0dIQyWpIVN4sC+IPAfwrNr4o7?= =?us-ascii?q?g14102Mm3qs9KNjmihNKpMH8LhINycIC80pE8YjZAqXtygw5wbFsa9INYf93?= =?us-ascii?q?F+dPje53mokyBfuadHgZTR4sWP9vXQB3mggLWQq6+RyzBA1ng4oVY/58ivNv?= =?us-ascii?q?7U/d2FXeio12YKQid7ugvBQwC6qrzBoFAJIkyHykHLl5IWPttBx3k3ylnm5P?= =?us-ascii?q?Q/QNI07AheGZjPZ/UepTD0Pzv4xk2fbMwzVimf1TtXA130HEJ8GKciwmLxvN?= =?us-ascii?q?jGmW3W+1I2Wol6b1bnigBvD4UkNUIt70AazTYBEQcXdR+WF62nBUPhLYsAVE?= =?us-ascii?q?gMdw6H3KSkdagr3U1/2LSv5PXcbeZkHaoCKu5djhKSnFhcAp8WtKoeQLRge1?= =?us-ascii?q?9S6qHavQ3iC4n9UPjgi3UwKfO0QsdA8cAarHsu+AC/SAS86Z1b9bYUlIiIdr?= =?us-ascii?q?JYYZjLpM184Fto5SUUdiBUnRZxgBW3UeEapOD+7dnWq5Wo6uO0W6YrWeob7R?= =?us-ascii?q?80B35xj5HomlAsvcnX1/tASo3SkYn/8gdNI36MuIrAzxZ8Ke4OK5+2c7dh9n?= =?us-ascii?q?UHITMeJ3EPPdeNdfk84jFtPy/X51NfA8MAf9UYM9TRmQpMkE3mRKlT9tbHGl?= =?us-ascii?q?+fE4pzdt4o4HDxyD0u9Zs8T/vv6D6xJZDE9V1NOOlDjCp0ntLYuOcV2ebSCD?= =?us-ascii?q?QQ4XSBaRh63C2Cy5eJC/vr8+SD0tfUWE0aHiIsVYdSOiaC8xS9RuWpjJXpTh?= =?us-ascii?q?+U6sjrjZIxcEKQQXKwk7oBsqZICuNAkSL73j5fFo/pnf6VtcSj6HdPvF1dDI?= =?us-ascii?q?lz9QHFGLlYPphjPBT4l8qrRkt7BibkesHbbBkuuO2QxugS5eVyLU3+apEHIh?= =?us-ascii?q?gc0bL19WJVThdySL7xpluWRvweZN16SP7ftXBV7YVgK7MTPFiDupPlsy1EqF?= =?us-ascii?q?csAA8mcLUwtCBVdlHSnA1JXKb5oKYAigwYUdFjo09NF2WwOGYw5zfcUKRVi6?= =?us-ascii?q?6RCOcL/TqPVKwOVF5oMjh/QxOz15ViYbypnepIsmlehCNyvOAq0yB6RBu7oS?= =?us-ascii?q?DsqbwC2TYh+LGgqjoMon1ETuSbkyfNF1pD1vAKgrkGB3bl81y8b2EJbJHu77?= =?us-ascii?q?l/OcTg6Y4h7mwxYBU7ZS0GXPivBD/rgqONA4yPrMhciwCXtMXJd7+zIjAYNq?= =?us-ascii?q?4hxhL7W3h9zg/ekQ5v8GsPXDqt98ckJIGnNsY+2iqoGHTUdEoW4qxXrsT9r1?= =?us-ascii?q?gLQ/UqaVl52mVsztCHRjERRMzIA2s1igkkaWNZcJNM8BMaE6gogi2Uvqld5Q?= =?us-ascii?q?wUYS3bEoKi+oXKmsfIw3Y9R89wxm3Kvq2Fmo8q0Hp9ltNx9CGBpHQSd+3eU8?= =?us-ascii?q?9rGXXzyIZfyergaPWps+AHTpZmybu7XP8FKMmj9nO82I92VU+92rQeA125Pf?= =?us-ascii?q?cBxrjBUCelTnaXVP+Wc2iKgzY5Mkny5QSnLl03dMdGtUk9PfXehpREjQ3uTa?= =?us-ascii?q?t0RjmMpV/c1GEjKu0adwcqt4qmeAEHV/ARaPaGJegvwfw+D10MY2XPHSRoF+?= =?us-ascii?q?/l+WKqydxjNmlt+wP3Z+jg6ArhKtS6AR4CAMjRqZsnvbSCT3+FcVpnywd/dB?= =?us-ascii?q?1s/vrbP0w4q+sZdpGWh9WWjNN+h6pNTOtgKS0wvJYon4tn7YSFmJORfQr50o?= =?us-ascii?q?f5JdaTpOORRfLY0RJuMkxAU7FRWQrv5p5yatMhUqfSBpNBtA4dHrA+SZcscW?= =?us-ascii?q?Dr+/cwZCF6dwPKLJGzmNPrvarfZJ5TvWXX9Xo2JSLRulsE0PPiCURXZparin?= =?us-ascii?q?G6Ao0qST9HtJU5BhJgHYZLGesFog6jCpiTiOewjNrnvwtWvPIF+Y79Bv7Nzt?= =?us-ascii?q?jxi4l1UpRU4laHFCzcCKlingJuieHkxr+UyZT1CMX/afsYReN7RSjDcbaAEY?= =?us-ascii?q?KhfHbGbsb9fVNWtqWR269jUwmAISX+U7eCuQW6O/h+p0Y20Ip1eKzU1jN7q/?= =?us-ascii?q?mP3Nr0enEepSq5q3ONHIVQ4UaMBuHEWR9QD/2f/zAhVecsYJH7+a8jeZpq4N?= =?us-ascii?q?GY5xh1pnwWy8afLKWJrkbI3lN9M5ncKR269Tw+XNwyLQiyKwMBh2PUsH7aG3?= =?us-ascii?q?sUetCpNcR3xtuTAhH37U5rlkk2YWhQXGHvQIHCaiAgx8uiaVjSp0pwBNEZkr?= =?us-ascii?q?vyIBdg7PfgQPR0OphDheShvakGltAsMSzUWcxGJH6LfoJOEhEKJd3m/Adubx?= =?us-ascii?q?MBqLdzX440Yd6LIUdUVSXIxSDzyF7E1kv5P5yp2b2SKSkbunNA0/re0DdKqg?= =?us-ascii?q?X48faUi8HuSvbYOZfxWvPf?= X-IPAS-Result: =?us-ascii?q?A2BkAwDFHCBb/wHyM5BcGgEBAQEBAgEBAQEIAQEBAYNAA?= =?us-ascii?q?4EFKjIWEoxbjAqWWhSBVjETAYZ0ITYWAQIBAQEBAQECAWwoQhABgWIkAYJPA?= =?us-ascii?q?wMBAiQTFCAOAwkBAT4CCAgDAS0VEQYBBwsFGASDAYIBAwGtJDODeQEBhE6Ba?= =?us-ascii?q?IhIgVQ/iFsBEgGFdQKHLRkIhGiBI4stBwKBZ4NaiS0LjTKTAAEwYXFNI1CCQ?= =?us-ascii?q?4IhF41hATQDbXoBAYEziymCOQEB?= Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 12 Jun 2018 19:23:09 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus.infosec.tycho.ncsc.mil [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w5CJN649031469; Tue, 12 Jun 2018 15:23:08 -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 w5C89rQ3001246 for ; Tue, 12 Jun 2018 04:09:53 -0400 Received: from goalie.tycho.ncsc.mil (goalie.infosec.tycho.ncsc.mil [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w5C89wCd009808; Tue, 12 Jun 2018 04:09:58 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A1CbBQBwfx9bly0bGNZcHAEBAQQBAQoBA?= =?us-ascii?q?YNAgTIyFhKYYphShHcCgkwhNxUBAgEBAQEBAQIUAQEBAQEGGAaBGhABhFYDAyd?= =?us-ascii?q?iPxJXBgESgyKCBAGsKzODeQEBhEyBaIhIgVQ/jmMChywZCIRogSOLKwcCgWeDW?= =?us-ascii?q?okpC40vkwyBdE0jgxOCIQ4JjWEBNANtgjGOAAEB?= X-IPAS-Result: =?us-ascii?q?A1CbBQBwfx9bly0bGNZcHAEBAQQBAQoBAYNAgTIyFhKYYph?= =?us-ascii?q?ShHcCgkwhNxUBAgEBAQEBAQIUAQEBAQEGGAaBGhABhFYDAydiPxJXBgESgyKCB?= =?us-ascii?q?AGsKzODeQEBhEyBaIhIgVQ/jmMChywZCIRogSOLKwcCgWeDWokpC40vkwyBdE0?= =?us-ascii?q?jgxOCIQ4JjWEBNANtgjGOAAEB?= X-IronPort-AV: E=Sophos;i="5.51,213,1526356800"; d="scan'208";a="298872" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 12 Jun 2018 04:09:58 -0400 IronPort-PHdr: =?us-ascii?q?9a23=3AHnQ8uRwrGoyNDavXCy+O+j09IxM/srCxBDY+r6?= =?us-ascii?q?Qd0ugWK/ad9pjvdHbS+e9qxAeQG9mDtrQc06L/iOPJYSQ4+5GPsXQPItRndi?= =?us-ascii?q?QuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBg?= =?us-ascii?q?vwNRZvJuTyB4Xek9m72/q99pHPYwhEniaxba9vJxiqsAvdsdUbj5F/Iagr0B?= =?us-ascii?q?vJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PG?= =?us-ascii?q?Av5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7Vq4/Vy?= =?us-ascii?q?i84Kh3SR/okCYHOCA/8GHLkcx7kaZXrAu8qxBj34LYZYeYP+d8cKzAZ9MXXX?= =?us-ascii?q?dPUMZPWSJPAY2yaIkAD+QOMulEtIT9u0cCoAGiCQS2GO/j1jlFjWL2060g1O?= =?us-ascii?q?QhFBnL0hY+ENISrnvUtsj+OqgUUe+o0qbI1y7Mb/RM2Tfy9YPFdQghru+QXb?= =?us-ascii?q?1ua8rd01cgFwXYgVqOs4zqJDSV1v4Cs2WA9OpgUuSvim49pw5tpTivw94hh4?= =?us-ascii?q?/UjYwW0lDJ7Tt1zJs6KNGiVkJ2bsSoHIVSui2AOIZ7QtsuTm9qtSog17ELt5?= =?us-ascii?q?q2cDIXxJknxhPTceKLfoyO7xn+TuieOy14i2hgeL+nhxa970ygyurkW8a6yl?= =?us-ascii?q?hEoDRIn9fSu34XyxHf9smKRuFj8Ui/3DaPzA/T5vtBIU8ulKrbL4Qtwrsxlp?= =?us-ascii?q?oXqUjDHyn2l1vqjKKOaEko5+el5/75brjpvJOQKY15hhvxP6kugsC/BP43Mg?= =?us-ascii?q?kKX2iV4+S807jj8FXjTrpUkv05jLPZvIrVK8Qdu6G2HRVV3Z0k6xalADery8?= =?us-ascii?q?8YnX4BLFNFYh6Ik4/pO1TWLPDiEfi/m0iskCtsx/3eJb3uH47NI2PfkLbhYb?= =?us-ascii?q?l960lcxBA1zdBE/Z1YEL4BIPXtWkXprtzXEgc5MxCow+bgENh9zZ0RWWaOAq?= =?us-ascii?q?+fLaPTvkSF5v4vIuaQZI8VvyzxK/4+5/H0l3M5llgdfbf6lacQPSSgE+hrOQ?= =?us-ascii?q?OUZ3bhmN0GC2gipQ04Xarhj1jUFXZrbmu2F4c74Ss2QNa+BJrHbpiknbjE2S?= =?us-ascii?q?C8BJAQbWdDXBTEKmvlb4WJXb83bSuWJsJw2mgfWaOJV54q1RboshTzjbVgML?= =?us-ascii?q?yQsgACtJmr7NFv5vabwRwq/CZ1FOyF2nuMVHlwl2gFATgs0/Y76W50z1qYmY?= =?us-ascii?q?1/meZZDpQH5fZOSB07Lrbaxul3Cpb1QA2XOp+lQVCnT9HuIywrQd832Jdab0?= =?us-ascii?q?97GtimjDjG0i6uCrkSh/qAA5liturw2GX+b+Jwx3jBzqVp21UiT8dBMneqrr?= =?us-ascii?q?Ry+wjaG8jClEDP0+7+bqkY3SjQ5E+f3GGOuwdeSwc2XqLbCzRXMk/Xq8npo1?= =?us-ascii?q?jPRKK0CKg2dw5GxdOGJ4NUZdDzy1ZLXvHuPJLZeW3n3y/kAReO26PJb4fwfW?= =?us-ascii?q?gZ9DvSBVJCkA0J+3uCcw8kCXHl6yjlASZhGBrCKwWk0eB6rGK9BAdg1AyQYE?= =?us-ascii?q?BJ17Ox/g8Tw/ebTqVA8KgDvXIZpil5Bh6Q2d7bEdCHvQUpKL1Rfd4nplpB2W?= =?us-ascii?q?/DvQtnMbS7KKZzwFUZdlIk7AvVyxxrB9AYwoARp3QwwV83cPrAigkTfi6E3Z?= =?us-ascii?q?32JrzcI3Xz+xbqcaPNx1XCy4nPqJo3xN9jgG3K5F7vG0cn6Hoh1tBU1z2Z55?= =?us-ascii?q?GZRAYRUJekVEEx+lA6orzBeSAy6svS0mEkKqi7tDLOmpopCeIpxwzmfoJZN6?= =?us-ascii?q?WJGQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BvBACUfx9bly0bGNZcHAEBAQQBAQo?= =?us-ascii?q?BAYNAgTIyFhKYYphShHcCgkohNxUBAgEBAQEBAQIBEwEBAQEBBhgGWEIQAYF?= =?us-ascii?q?iJAGCTwMDJ2I/ElcGARKDIoIEAawrM4N5AQGETIFoiEiBVD+OYwKHLBkIhGi?= =?us-ascii?q?BI4srBwKBZ4NaiSkLjS+TDIF0TSODE4IhDgmNYQE0A22CMY4AAQE?= X-IPAS-Result: =?us-ascii?q?A0BvBACUfx9bly0bGNZcHAEBAQQBAQoBAYNAgTIyFhKYY?= =?us-ascii?q?phShHcCgkohNxUBAgEBAQEBAQIBEwEBAQEBBhgGWEIQAYFiJAGCTwMDJ2I/E?= =?us-ascii?q?lcGARKDIoIEAawrM4N5AQGETIFoiEiBVD+OYwKHLBkIhGiBI4srBwKBZ4Nai?= =?us-ascii?q?SkLjS+TDIF0TSODE4IhDgmNYQE0A22CMY4AAQE?= X-IronPort-AV: E=Sophos;i="5.51,213,1526342400"; d="scan'208";a="14449650" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from updc3cpa06.eemsg.mail.mil ([214.24.27.45]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 12 Jun 2018 08:09:51 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;bf10707f-479f-4e9a-aa5e-95045e28bb03 Received: from localhost.localdomain (localhost [127.0.0.1]) by UPDCF3IC03.oob.disa.mil (Postfix) with SMTP id 414jGk3LBYzJmrK; Tue, 12 Jun 2018 08:09:50 +0000 (UTC) Received: from UPDC3CPA07_EEMSG_MP23.eemsg.mil (unknown [192.168.18.18]) by UPDCF3IC03.oob.disa.mil (Postfix) with ESMTP id 414jGj4N7ZzJmrD; Tue, 12 Jun 2018 08:09:49 +0000 (UTC) Authentication-Results: UPDC3CPA07.eemsg.mail.mil; dkim=none (message not signed) header.i=none X-EEMSG-check-008: 22674608|UPDC3CPA07_EEMSG_MP23.csd.disa.mil X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 37.139.156.29 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CUBQBofB9bhx2ciyVcHAEBAQQBAQoBAYRySBKYYpZagXiEdwIIglEhNhYBAgEBAQEBAQIUAQEBCA0JCCkvQhABhFYDAydiPxJXBgESgyKCBawoM4N5AQGETIFoCQGIPoFUP45jAocsGQiEaIEjiysHAoFnjQMLjS+SfQyBd00jgxOCIQ4JjWEBNAM9MIIxjgABAQ X-IPAS-Result: A0CUBQBofB9bhx2ciyVcHAEBAQQBAQoBAYRySBKYYpZagXiEdwIIglEhNhYBAgEBAQEBAQIUAQEBCA0JCCkvQhABhFYDAydiPxJXBgESgyKCBawoM4N5AQGETIFoCQGIPoFUP45jAocsGQiEaIEjiysHAoFnjQMLjS+SfQyBd00jgxOCIQ4JjWEBNAM9MIIxjgABAQ Received: from seldsegrel01.sonyericsson.com ([37.139.156.29]) by UPDC3CPA07.eemsg.mail.mil with ESMTP; 12 Jun 2018 08:09:48 +0000 X-EEMSG-check-009: 444-444 From: Peter Enderborg To: , Paul Moore , Stephen Smalley , Eric Paris , James Morris , Daniel Jurgens , Doug Ledford , , , , "Serge E . Hallyn" Date: Tue, 12 Jun 2018 10:09:02 +0200 Message-ID: <20180612080912.7827-4-peter.enderborg@sony.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180612080912.7827-1-peter.enderborg@sony.com> References: <20180612080912.7827-1-peter.enderborg@sony.com> MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 12 Jun 2018 15:18:27 -0400 Subject: [PATCH 03/13] selinux: Cleanup printk logging in policydb X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 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 Replace printk with pr_* to avoid checkpatch warnings and replace KERN_CONT with 2 longer prints. Signed-off-by: Peter Enderborg --- security/selinux/ss/policydb.c | 91 +++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 6e8c8056d7ad..4e82c5fcd1a1 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -504,7 +504,7 @@ static void hash_eval(struct hashtab *h, const char *hash_name) struct hashtab_info info; hashtab_stat(h, &info); - printk(KERN_DEBUG "SELinux: %s: %d entries and %d/%d buckets used, " + pr_debug("SELinux: %s: %d entries and %d/%d buckets used, " "longest chain length %d\n", hash_name, h->nel, info.slots_used, h->size, info.max_chain_len); } @@ -533,15 +533,17 @@ static int policydb_index(struct policydb *p) { int i, rc; - printk(KERN_DEBUG "SELinux: %d users, %d roles, %d types, %d bools", - p->p_users.nprim, p->p_roles.nprim, p->p_types.nprim, p->p_bools.nprim); if (p->mls_enabled) - printk(KERN_CONT ", %d sens, %d cats", p->p_levels.nprim, - p->p_cats.nprim); - printk(KERN_CONT "\n"); + pr_debug("SELinux: %d users, %d roles, %d types, %d bools, %d sens, %d cats", + p->p_users.nprim, p->p_roles.nprim, p->p_types.nprim, + p->p_bools.nprim, p->p_levels.nprim, p->p_cats.nprim); + else + pr_debug("SELinux: %d users, %d roles, %d types, %d bools", + p->p_users.nprim, p->p_roles.nprim, p->p_types.nprim, + p->p_bools.nprim); - printk(KERN_DEBUG "SELinux: %d classes, %d rules\n", - p->p_classes.nprim, p->te_avtab.nel); + pr_debug("SELinux: %d classes, %d rules\n", + p->p_classes.nprim, p->te_avtab.nel); #ifdef DEBUG_HASHES avtab_hash_eval(&p->te_avtab, "rules"); @@ -897,7 +899,7 @@ int policydb_load_isids(struct policydb *p, struct sidtab *s) rc = sidtab_init(s); if (rc) { - printk(KERN_ERR "SELinux: out of memory on SID table init\n"); + pr_err("SELinux: out of memory on SID table init\n"); goto out; } @@ -905,14 +907,14 @@ int policydb_load_isids(struct policydb *p, struct sidtab *s) for (c = head; c; c = c->next) { rc = -EINVAL; if (!c->context[0].user) { - printk(KERN_ERR "SELinux: SID %s was never defined.\n", + pr_err("SELinux: SID %s was never defined.\n", c->u.name); goto out; } rc = sidtab_insert(s, c->sid[0], &c->context[0]); if (rc) { - printk(KERN_ERR "SELinux: unable to load initial SID %s.\n", + pr_err("SELinux: unable to load initial SID %s.\n", c->u.name); goto out; } @@ -1005,13 +1007,13 @@ static int mls_read_range_helper(struct mls_range *r, void *fp) rc = -EINVAL; items = le32_to_cpu(buf[0]); if (items > ARRAY_SIZE(buf)) { - printk(KERN_ERR "SELinux: mls: range overflow\n"); + pr_err("SELinux: mls: range overflow\n"); goto out; } rc = next_entry(buf, fp, sizeof(u32) * items); if (rc) { - printk(KERN_ERR "SELinux: mls: truncated range\n"); + pr_err("SELinux: mls: truncated range\n"); goto out; } @@ -1023,19 +1025,19 @@ static int mls_read_range_helper(struct mls_range *r, void *fp) rc = ebitmap_read(&r->level[0].cat, fp); if (rc) { - printk(KERN_ERR "SELinux: mls: error reading low categories\n"); + pr_err("SELinux: mls: error reading low categories\n"); goto out; } if (items > 1) { rc = ebitmap_read(&r->level[1].cat, fp); if (rc) { - printk(KERN_ERR "SELinux: mls: error reading high categories\n"); + pr_err("SELinux: mls: error reading high categories\n"); goto bad_high; } } else { rc = ebitmap_cpy(&r->level[1].cat, &r->level[0].cat); if (rc) { - printk(KERN_ERR "SELinux: mls: out of memory\n"); + pr_err("SELinux: mls: out of memory\n"); goto bad_high; } } @@ -1060,7 +1062,7 @@ static int context_read_and_validate(struct context *c, rc = next_entry(buf, fp, sizeof buf); if (rc) { - printk(KERN_ERR "SELinux: context truncated\n"); + pr_err("SELinux: context truncated\n"); goto out; } c->user = le32_to_cpu(buf[0]); @@ -1069,14 +1071,14 @@ static int context_read_and_validate(struct context *c, if (p->policyvers >= POLICYDB_VERSION_MLS) { rc = mls_read_range_helper(&c->range, fp); if (rc) { - printk(KERN_ERR "SELinux: error reading MLS range of context\n"); + pr_err("SELinux: error reading MLS range of context\n"); goto out; } } rc = -EINVAL; if (!policydb_context_isvalid(p, c)) { - printk(KERN_ERR "SELinux: invalid security context\n"); + pr_err("SELinux: invalid security context\n"); context_destroy(c); goto out; } @@ -1352,7 +1354,8 @@ static int class_read(struct policydb *p, struct hashtab *h, void *fp) rc = -EINVAL; cladatum->comdatum = hashtab_search(p->p_commons.table, cladatum->comkey); if (!cladatum->comdatum) { - printk(KERN_ERR "SELinux: unknown common %s\n", cladatum->comkey); + pr_err("SELinux: unknown common %s\n", + cladatum->comkey); goto bad; } } @@ -1444,7 +1447,7 @@ static int role_read(struct policydb *p, struct hashtab *h, void *fp) if (strcmp(key, OBJECT_R) == 0) { rc = -EINVAL; if (role->value != OBJECT_R_VAL) { - printk(KERN_ERR "SELinux: Role %s has wrong value %d\n", + pr_err("SELinux: Role %s has wrong value %d\n", OBJECT_R, role->value); goto bad; } @@ -1522,14 +1525,14 @@ static int mls_read_level(struct mls_level *lp, void *fp) rc = next_entry(buf, fp, sizeof buf); if (rc) { - printk(KERN_ERR "SELinux: mls: truncated level\n"); + pr_err("SELinux: mls: truncated level\n"); return rc; } lp->sens = le32_to_cpu(buf[0]); rc = ebitmap_read(&lp->cat, fp); if (rc) { - printk(KERN_ERR "SELinux: mls: error reading level categories\n"); + pr_err("SELinux: mls: error reading level categories\n"); return rc; } return 0; @@ -1683,7 +1686,7 @@ static int user_bounds_sanity_check(void *key, void *datum, void *datap) unsigned long bit; if (++depth == POLICYDB_BOUNDS_MAXDEPTH) { - printk(KERN_ERR "SELinux: user %s: " + pr_err("SELinux: user %s: " "too deep or looped boundary", (char *) key); return -EINVAL; @@ -1694,8 +1697,7 @@ static int user_bounds_sanity_check(void *key, void *datum, void *datap) if (ebitmap_get_bit(&upper->roles, bit)) continue; - printk(KERN_ERR - "SELinux: boundary violated policy: " + pr_err("SELinux: boundary violated policy: " "user=%s role=%s bounds=%s\n", sym_name(p, SYM_USERS, user->value - 1), sym_name(p, SYM_ROLES, bit), @@ -1720,7 +1722,7 @@ static int role_bounds_sanity_check(void *key, void *datum, void *datap) unsigned long bit; if (++depth == POLICYDB_BOUNDS_MAXDEPTH) { - printk(KERN_ERR "SELinux: role %s: " + pr_err("SELinux: role %s: " "too deep or looped bounds\n", (char *) key); return -EINVAL; @@ -1731,8 +1733,7 @@ static int role_bounds_sanity_check(void *key, void *datum, void *datap) if (ebitmap_get_bit(&upper->types, bit)) continue; - printk(KERN_ERR - "SELinux: boundary violated policy: " + pr_err("SELinux: boundary violated policy: " "role=%s type=%s bounds=%s\n", sym_name(p, SYM_ROLES, role->value - 1), sym_name(p, SYM_TYPES, bit), @@ -1754,7 +1755,7 @@ static int type_bounds_sanity_check(void *key, void *datum, void *datap) upper = datum; while (upper->bounds) { if (++depth == POLICYDB_BOUNDS_MAXDEPTH) { - printk(KERN_ERR "SELinux: type %s: " + pr_err("SELinux: type %s: " "too deep or looped boundary\n", (char *) key); return -EINVAL; @@ -1765,7 +1766,7 @@ static int type_bounds_sanity_check(void *key, void *datum, void *datap) BUG_ON(!upper); if (upper->attribute) { - printk(KERN_ERR "SELinux: type %s: " + pr_err("SELinux: type %s: " "bounded by attribute %s", (char *) key, sym_name(p, SYM_TYPES, upper->value - 1)); @@ -1888,7 +1889,7 @@ static int range_read(struct policydb *p, void *fp) rc = -EINVAL; if (!mls_range_isvalid(p, r)) { - printk(KERN_WARNING "SELinux: rangetrans: invalid range\n"); + pr_warn("SELinux: rangetrans: invalid range\n"); goto out; } @@ -2023,7 +2024,7 @@ static int genfs_read(struct policydb *p, void *fp) genfs_p = genfs, genfs = genfs->next) { rc = -EINVAL; if (strcmp(newgenfs->fstype, genfs->fstype) == 0) { - printk(KERN_ERR "SELinux: dup genfs fstype %s\n", + pr_err("SELinux: dup genfs fstype %s\n", newgenfs->fstype); goto out; } @@ -2073,7 +2074,7 @@ static int genfs_read(struct policydb *p, void *fp) if (!strcmp(newc->u.name, c->u.name) && (!c->v.sclass || !newc->v.sclass || newc->v.sclass == c->v.sclass)) { - printk(KERN_ERR "SELinux: dup genfs entry (%s,%s)\n", + pr_err("SELinux: dup genfs entry (%s,%s)\n", genfs->fstype, c->u.name); goto out; } @@ -2295,7 +2296,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; if (le32_to_cpu(buf[0]) != POLICYDB_MAGIC) { - printk(KERN_ERR "SELinux: policydb magic number 0x%x does " + pr_err("SELinux: policydb magic number 0x%x does " "not match expected magic number 0x%x\n", le32_to_cpu(buf[0]), POLICYDB_MAGIC); goto bad; @@ -2304,7 +2305,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; len = le32_to_cpu(buf[1]); if (len != strlen(POLICYDB_STRING)) { - printk(KERN_ERR "SELinux: policydb string length %d does not " + pr_err("SELinux: policydb string length %d does not " "match expected length %zu\n", len, strlen(POLICYDB_STRING)); goto bad; @@ -2313,14 +2314,14 @@ int policydb_read(struct policydb *p, void *fp) rc = -ENOMEM; policydb_str = kmalloc(len + 1, GFP_KERNEL); if (!policydb_str) { - printk(KERN_ERR "SELinux: unable to allocate memory for policydb " + pr_err("SELinux: unable to allocate memory for policydb " "string of length %d\n", len); goto bad; } rc = next_entry(policydb_str, fp, len); if (rc) { - printk(KERN_ERR "SELinux: truncated policydb string identifier\n"); + pr_err("SELinux: truncated policydb string identifier\n"); kfree(policydb_str); goto bad; } @@ -2328,7 +2329,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; policydb_str[len] = '\0'; if (strcmp(policydb_str, POLICYDB_STRING)) { - printk(KERN_ERR "SELinux: policydb string %s does not match " + pr_err("SELinux: policydb string %s does not match " "my string %s\n", policydb_str, POLICYDB_STRING); kfree(policydb_str); goto bad; @@ -2346,7 +2347,7 @@ int policydb_read(struct policydb *p, void *fp) p->policyvers = le32_to_cpu(buf[0]); if (p->policyvers < POLICYDB_VERSION_MIN || p->policyvers > POLICYDB_VERSION_MAX) { - printk(KERN_ERR "SELinux: policydb version %d does not match " + pr_err("SELinux: policydb version %d does not match " "my version range %d-%d\n", le32_to_cpu(buf[0]), POLICYDB_VERSION_MIN, POLICYDB_VERSION_MAX); goto bad; @@ -2357,7 +2358,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; if (p->policyvers < POLICYDB_VERSION_MLS) { - printk(KERN_ERR "SELinux: security policydb version %d " + pr_err("SELinux: security policydb version %d " "(MLS) not backwards compatible\n", p->policyvers); goto bad; @@ -2381,7 +2382,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; info = policydb_lookup_compat(p->policyvers); if (!info) { - printk(KERN_ERR "SELinux: unable to find policy compat info " + pr_err("SELinux: unable to find policy compat info " "for version %d\n", p->policyvers); goto bad; } @@ -2389,7 +2390,7 @@ int policydb_read(struct policydb *p, void *fp) rc = -EINVAL; if (le32_to_cpu(buf[2]) != info->sym_num || le32_to_cpu(buf[3]) != info->ocon_num) { - printk(KERN_ERR "SELinux: policydb table sizes (%d,%d) do " + pr_err("SELinux: policydb table sizes (%d,%d) do " "not match mine (%d,%d)\n", le32_to_cpu(buf[2]), le32_to_cpu(buf[3]), info->sym_num, info->ocon_num); @@ -3417,7 +3418,7 @@ int policydb_write(struct policydb *p, void *fp) * careful if you ever try to remove this restriction */ if (p->policyvers < POLICYDB_VERSION_AVTAB) { - printk(KERN_ERR "SELinux: refusing to write policy version %d." + pr_err("SELinux: refusing to write policy version %d." " Because it is less than version %d\n", p->policyvers, POLICYDB_VERSION_AVTAB); return -EINVAL; @@ -3446,7 +3447,7 @@ int policydb_write(struct policydb *p, void *fp) /* Write the version, config, and table sizes. */ info = policydb_lookup_compat(p->policyvers); if (!info) { - printk(KERN_ERR "SELinux: compatibility lookup failed for policy " + pr_err("SELinux: compatibility lookup failed for policy " "version %d", p->policyvers); return -EINVAL; }