From patchwork Mon Jan 9 18:12:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleg Nesterov X-Patchwork-Id: 9505713 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 572216071A for ; Mon, 9 Jan 2017 18:18:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 649242849A for ; Mon, 9 Jan 2017 18:18:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 554E728507; Mon, 9 Jan 2017 18:18:35 +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]) (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 643AA28503 for ; Mon, 9 Jan 2017 18:18:33 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,340,1477958400"; d="scan'208";a="2625049" IronPort-PHdr: =?us-ascii?q?9a23=3AGGybERMLXdztEt2tOOsl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0LP/9rsbcNUDSrc9gkEXOFd2CrakV16yM7+u5AT1IyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbx/IA+ooQjeucUanJduJ6IswRbVv3VEfP?= =?us-ascii?q?hby3l1LlyJhRb84cmw/J9n8ytOvv8q6tBNX6bncakmVLJUFDspPXw7683trhnD?= =?us-ascii?q?UBCA5mAAXWUMkxpHGBbK4RfnVZrsqCT6t+592C6HPc3qSL0/RDqv47t3RBLulS?= =?us-ascii?q?wKLCAy/n3JhcNsjaJbuBOhqAJ5w47Ie4GeKf5ycrrAcd8GWWZNW8BcWCJbAoO4?= =?us-ascii?q?coABEewPM+hFpIX5vlcCsAeyCQyqCejyyDFHm2X20LU03eohDw/IwQ8uH9wBv3?= =?us-ascii?q?vJrtr6Or8SXOKowKTG0TrNYO1Z2Szm5YjUcB0su+2AUa5qfMbPz0QkCgPLjk+X?= =?us-ascii?q?qYzgJz6bz+ANvHaU7+F9TeyglXUnqx1vrTi1wccslJTCi4USylDA6yp5z504Jc?= =?us-ascii?q?emR0FmYd6rCodQuzuGOItxR8MvWmdlszs5xL0eoZO3YScHxZs9yxPfdvCLaZaE?= =?us-ascii?q?7x39WOqLPDt0nGxpdK67ihqo7EStxPPwWtOp3FtJoCdJiMfAu3ML2hfO8MaIUO?= =?us-ascii?q?F98V2k2TuX0gDT7fxLLl4smKrALp4h3qYwlp0OsUTfBiP2mFv5jKuRdkg85uin?= =?us-ascii?q?8f7nYrT7pp+HLYN0lgH/Pbgumsy4G+g4NBQBX3OH9uim0b3j/En5TK1Ljv0wjK?= =?us-ascii?q?bZrIjXKdkUq6O2GQNY0psv5wyhAzqpztgUh2QLIEpAeB2djojpP1/OIOr/Dfe6?= =?us-ascii?q?m1msiylkx/THPr3nH5XMIWHPn6zmfbZg7U5T1BQ8zctE6pJICrAOPPLzWkjruN?= =?us-ascii?q?zeFR82KRa4w+ngCNVjzo8eQ36AAreFMKPOtl+F/uAvI+6KZIAPpDb9K+Iq5/j1?= =?us-ascii?q?gH87nl8de6yp0oEMaHCkAPtmOV6ZbWDrgtcbHmcAphA+Q/DyiF2eTT5TYG6/X6?= =?us-ascii?q?A+5j4hFI2mDpzDRoergLyAwie2BZNWZmRbClGDCnjoaoOEW+sRaC6IJc9hiDME?= =?us-ascii?q?X6C7S4A9zRGuqBP6y71/I+rM5CIXrozs1N505+3PkhE/7j10ANqD3G6TVW10mX?= =?us-ascii?q?kIRzAu1qBlvUN90kuD0bR/g/FACNNT4PVJUgEnOpHCy+x6Csv/VRjfcdeTT1aq?= =?us-ascii?q?WNKmASs+Ttgp2d8Bf159G8m+jhDExyelHqMVmKaRBJEv7q3c2H3xKNpnxHbdyK?= =?us-ascii?q?ktlV8mTdVTNWe+nK5w6xDTB5LVk0Wej6uqdKIc3DLT+2eH02WOuV9XUBJqUaTF?= =?us-ascii?q?Rn0fYVPWosr/5kPHVbCuCLAnPRBGyc+NMKdKbcfpjVpeTvf5JNvee36xm3u3BR?= =?us-ascii?q?uQxrKNbY3qe2MG0SXYDEgIigET/XCcOQg4HCihuWHeDD1wFV3xeU/s9/dxqG+j?= =?us-ascii?q?RE8u0w6Kd1Fh16ay+hMNi/2cSvcT3rcatyc7sDh0Ekiy0M/RC9qavQVhZL9cYd?= =?us-ascii?q?Q/4FhZyW3ZqxZxPpu6L6BtnlQeaRh4v1vy1xVrDYVNicYqrGkwwwp0Na2Y0UhB?= =?us-ascii?q?eiid3ZDoO73bM3Ly/R60a6LM3VHeytmW8L8V6Psks1XjoB2pFk06/nVkydZV0H?= =?us-ascii?q?yc5ojRAQoRS53xUUE39wVgq7HdeCk96Jve1WdwPqmsrj/Cx9UpCfM/xRm9Zddf?= =?us-ascii?q?Mb2LFBXpHsIAG8euLfYmm1+zbhILJOpS7rI7P9u6d/ua366mJPpvkyiijWtZ+4?= =?us-ascii?q?B9zkKN9y1nR+7Tw5kFwu+X3g2bVzf9llitqMb3lp5YZTsKBGqw1TDkBJJNZq11?= =?us-ascii?q?ZYsLCXmhI8mzxtV5nJPtX2NY9EKkB1MDwsClYx2Sb0by3QdIz0QYvWSnmTekzz?= =?us-ascii?q?xzizwptaSf3DbJw+T5aBoKIXVLRG9ljVbiJIi7ldYaUFKubwc3iBuv/Vz6yLRD?= =?us-ascii?q?pKRjM2nTRl9FfibsIGFmTqu/qKCCY9VU5ZM2rypXSv+zYU2fSrLnpBsaySzjFX?= =?us-ascii?q?NExD8nbzGqpon5nxtihWKBMXl8sXvZdtt0xRrE+NPcQvtR0SYcSyljlTnbHF68?= =?us-ascii?q?MMe1/d+MjZfMrvi+V369Vp1UaSTry4KAtC+/5WJ0Gh2yhOq8lcP9EQg9yyP70M?= =?us-ascii?q?NqVSrQphbmfobrz7i6Mf5gfkRwGl/86tZ1Gp15kosqnp0fxXgahpKT/XoIimrz?= =?us-ascii?q?NdRb2aTkY3oXQj4H2dnV4BLq2Ed7NHKG25r5VmmBwstmf9S6ZmIW2jkh78xTE6?= =?us-ascii?q?eb8rhEnSpzolqlogPceuN9ni8cyfso6X4Vn/oJtBArziqDHrAYBVNYMjD0lxSU?= =?us-ascii?q?89C+q71aZHyocbi00Epxg8qhA62FogBSQ3v5YYoiEjNr7sllN1LMynLz4Jn+eN?= =?us-ascii?q?bMddITqgGUkxDYguhNMp0xi/4KiTB9Nm7npnIlzOo7jQBp3ZG8p4WHLnlh/KS+?= =?us-ascii?q?AhFELDH1Yd0c+i31h6ZEgsmWx5yvHolmGjgTX5vnU/SoECkJuPTkKQmOFiY8qn?= =?us-ascii?q?GFFrrDBwOf711mr33XGZCxK36XPGUZzcllRBSFPExQmh0UXDEkkZ4hDA+qwtDh?= =?us-ascii?q?f1lj5j0K+174sQVDyvhzNxXlSWffoxqoai0oR5eBIhpW6RtC50jLPsCE6OJ8AT?= =?us-ascii?q?1Y9IW7rAORMmybexhIDWYRV0yaAVDsI6Kj5cfG8+eFBuqyNf3ObquSqeZGTfeH?= =?us-ascii?q?2Yqv0pd6/zaLLsiPJmNtD+A/2kdYQX95GtjZmjUWRywZjS3NadSXpBCm+i14ts?= =?us-ascii?q?q/6ujkWBrz5YuTDLtfKdZv+hCygaidLOOQgSF5KThW1pwS2X/I1Lgf3FkXiy5w?= =?us-ascii?q?bTWtF6oPtTLVRqLKhqBXFwIbaz90NMZQ4aIzxA9NOdLcitPwzbN4gOA6BEpCVV?= =?us-ascii?q?z7gM6pfdYKI2a/NFzZGEmLKK6KJTrRw8H4eam8U6FfjP1Itx2svjaWC1LsPjKZ?= =?us-ascii?q?mDTySh+vN/tDgDucPBxEt4G3agxtBnT7TNL6dh27N8d6jScrzrIpnX7KOmscMD?= =?us-ascii?q?dmf0NLsLKQ8TtSgu9jFGxZ8nplMe6Elj6D7+XCJJcaq/5rDT5wl+Jd4HU30KFa?= =?us-ascii?q?4z1BRPBvnyvStNFuqUm8kuaT0jpnTAZOqjFTiYKNp0VtI73Z9oFbVHbK/RIN93?= =?us-ascii?q?6QCwgEp9tkDN3goaZQxcTOlK3pLDdO6dXU/dETB8LMMsKILGIhMQb1GD7TFAYK?= =?us-ascii?q?UCWrOn/FiExSivGd7GOVo4Mhqpf2m5oOV6VbW0YvGvMeF0RlGsYNII1uUjM4lr?= =?us-ascii?q?6bj84J5X2koBnXWspaoojNVuiODvX3NDaZkb5EagMTzrP5IoQTMYv71ld/ZVZk?= =?us-ascii?q?h4vKGlDfXdZXri1mdA80r11H8GJiQW0rx0LldgSt7WcJGv67hBE2lBVxbP8q9D?= =?us-ascii?q?f0/Vg3IF/KqzExkEk1gtrlhj+QfCT2LKeqUoFcEzD0uFQpMpPnXwZ1ahW/nVBj?= =?us-ascii?q?NDfBXb5RlbxgdGF1hw/aopRPA/lcQrNHYBIL2f6XYPAo3khGpSW82U9L/+3FBo?= =?us-ascii?q?V+lAEya56js2pA2x5/bN4yPaHQJLZJzlhXhqKLpCCozfs8wAofJ0YR6mOdZjQE?= =?us-ascii?q?uEsSNrkpPyCo5PBj6RSemztff2gBT/wqrexw+UM5IOmAzCXg06VfKk+rMeyfNK?= =?us-ascii?q?CZu2namc6OXFwwylsCl1NZ8rhuzccjb02UWlg1zLSPDBQGK9DNKRtJYMpS73Xc?= =?us-ascii?q?ZieOsf/QzpJyMYW9DvroQvGOtaoOhEKrAhopFZwW7ssdBpmszF3YLcD/IbEY0x?= =?us-ascii?q?ot+gXrK0ieDPlSYh2Lii0Ho8axzZ9sw4ZSOiwdAX98MSWr5rfbvAkqj+SfXN0u?= =?us-ascii?q?eHcVQpMENm4qWM29gyNZsW5AAyeq3eIC0geC6SP8piPLDDTnddVsePKUaQlrCN?= =?us-ascii?q?Gs9jU167K2hkLP8pXCO2H6MsxvutvI6eMAuZmHDfJVTb5mvkfTnYlYWmamU2nV?= =?us-ascii?q?Ed66P5LwcZUjbcToCnamVVyykyk1QNn1PNasKKiInA7pSJ1Iv4mc2TAsKdWyFi?= =?us-ascii?q?oCGxtqoeEM+r58bxUZY5UneR7oqxg+N6unLQiFztquRmGtKT1KT/VC1ui6eaJY?= =?us-ascii?q?zzAtbu67z3sgSIs2z++p/k4RXJsKlA3Rxe6/Z4lCVij+An9dex/PpCUjkWhhKu?= =?us-ascii?q?Yyz/wwwBPPqVkTLyqHdOp3Z2xYp9s8H0+dIW1qCmokQF+RlZbD4g+p37AV4ytd?= =?us-ascii?q?n9ZV3PZYv3j/vp7QeimjVLatqZrLryoqdcImrLFpMYz/PsuGs4vTnjPFTJbKtA?= =?us-ascii?q?2FTDW3F/tdmtleJiJYXPlIln8kOcwApYpO91AxWt04J7NRFKkmvqqqZiZ8DS4O?= =?us-ascii?q?0S8ZUJuN0yYGgue9x7TViA+fcJEiMRwCt5VChMESXjVtbSMfvqCjUZzal2GZSm?= =?us-ascii?q?QRJgcc8xhM7hoaloBsZuDl/JbITJhUxjFNvf10VDDGGYN1+FvlVG6Wm0P4R++7?= =?us-ascii?q?k+2pxw5Sy+js0tYDUh5lFUdd3/pWllcvKLxvMakQuI/KvSOIdUP9uGLt0/OoKk?= =?us-ascii?q?BMx8POa1D2C5HIunb7Ui0Z5XIbX5RPyG3FGZQUjQV5dL4hpE9QL4C+Zkb++zsk?= =?us-ascii?q?ypx1ELm6T8+k200oomoBRyeuF9pBCv9psEjLWDJ7f5+rqI/pO5JIQm9f4JedsU?= =?us-ascii?q?tWkF1xMy6lzppRM9tN7SQWXDhIujqQp8eySNdZ1s9oEZAMJtZ/u3HyGKNAOZiR?= =?us-ascii?q?rH02uqDhynDD4TA8tU22xDOtFK+kV+hZ5XERGh01J2SCrUkiF+Ut/n3O/VDNs1?= =?us-ascii?q?B0+uZbCaKMjUhqoTZyAI5BCShT2XCiNVRzQ2FMs/9GJ6TNb8xcX/4yaAe3Oxw5?= =?us-ascii?q?Ef4pxVaJ/E9znXf9bSx/rQ5a+yfaXwkvSyYanq3tmToFqsG8OD8aTZ1IYS8mby?= =?us-ascii?q?ffJAKRgTpXswpHa0F2R5AZBc5I9KsB3YtJ+MrOU0WsJDoEXBxjNwI4zeFQmVRF?= =?us-ascii?q?sEqGZSDXFRCoeurXsh1rYceRq9akLOj+/AdCkY7nrPw096AYSHG8nw2iX8zepZ?= =?us-ascii?q?fmttKWrkuOaLv4M+qkbH/BVjfMlwq/hbM5AJTR4ifcLhJbK4Fkxnogf5fhE3TH?= =?us-ascii?q?PRNcJ6IUP0BbT7x1ac1aouBGYM9pYKQJ+ahzCR+cWxzgBpevo+dcLlbPWzvRMj?= =?us-ascii?q?+N8uqhroLP9bbdU/TvZtSQx3bbRKJ6Jox16TfnFLv204JS50T71+xx+UN9TFjJ?= =?us-ascii?q?LzqOrM/9Jg8R4smtaFfitIUzHTzKGJdwjGbtxkZYesoNXSKl7ZQYx4lF6HvrTe?= =?us-ascii?q?J41Vbzv/NM+7Z47ok4/q5mxd2yJajMNfRQqVVnDQSMBgV26pUtB3ByR3hKYu8N?= =?us-ascii?q?MvjeYLgZgNv1q+DwCqwX8gGa9PJfadvbPUHOgM2/BiubSRxekwcLsSQaIReE1/?= =?us-ascii?q?6Zh690Tt6opfTj2k0z/VexMwULzK1p5YeY4KqHvvHXbxrWzbgARKfqWtn/rrM2?= =?us-ascii?q?u0Od/fckjqIBenRpYw27F+gQTssdyX3kzaAu0y0sD9/DEKj69/NYUXI2gC7gm4?= =?us-ascii?q?thEFoMAvMbA6CH/YJAkWckg+bZLMEZcrhemmaTEh6pCr0CxmSx6yuQO2llhgvB?= =?us-ascii?q?0w/rTGO28V/2qTN4QSrQwNfiiEVVUKK3CV1VXyqzNk9yqCmPMxbwtNrrpaQ161?= =?us-ascii?q?k7Mm7+u9KLmmuhIrRXENDhK9GHPSk7vlQXjIY2RtC134AUB8a9Ks8L8H5idvve?= =?us-ascii?q?93+rkyhZrqdImore48WV+vHJEnmllKCVtquCyytZynciu1Ez8NegNuvB59eSWf?= =?us-ascii?q?Sny34RTztjuwvGRxO1rLjboksVOUyN1UfHgo0KPtdX3XkizE7m//QjQMgu9ApC?= =?us-ascii?q?CobAeukCqi7pNDvz21afbMo9VjOC3DtPAlL1DV54FbA52GL3usLJiXjQ9EMzS4?= =?us-ascii?q?l1dkzonxp3AJskKUMj71gX2CkDERMXZRCdEr6oGVzvLZEYWkgbdRSHwL+6d78z?= =?us-ascii?q?3U1ox7Oi5PTebeJiCKUQMfZdlBSBnEBBGpIRs60RXq5ze0NH+K7QvAjiBJDtX+?= =?us-ascii?q?L6mnooKf21Xsda/NgCt3Q4/AawXRWg5olY77sAk5CHbLBEboLDvM9i9Edr/zgP?= =?us-ascii?q?eTJRgBJnlRO2TfgcpPz/4tjcqJeo6OeuVKM2SuUS6Rc1B3pxj4HxgFAlrtHbze?= =?us-ascii?q?FcRZPJiY7n6gBCP2aKuJrG0xl7MecOKoOqc6x6+HobPCUePGwBPcaIZPYg+SNt?= =?us-ascii?q?Ny/T51NaCMMWedwYJNbNmRxTikDxQ75T99HbG1GCBIdxdsAo83L3xyoo8Zs4Se?= =?us-ascii?q?vv9Di2Ko3B4F5XIvNDliJslMjYq+QPxvrSEicX62GDaxdp2iOC14WNC/Ho8OWU?= =?us-ascii?q?0t7US08JHi44UodaPjqC+hWrRvGrm5XtUwOU7NLzgZ0leUKIXHOxgLgKsqZCEO?= =?us-ascii?q?5HkCX73SJSFoPriPKPtdqj9m9XukdAEIZp4h3PAL9fMYljORTkismrQVBxBjfl?= =?us-ascii?q?eM7KchohouyWyfkX7upjNkv+ao4bIg4exLLh83VVVBZuRKTwvlmHQeIbfMFmR+?= =?us-ascii?q?/crnBJ9YJgLLcCPFeHq5zwsDhItFA2DRQtaL8xsjxVaEnOkxdIW6bvorIAjBUT?= =?us-ascii?q?UcJhs09WBW2wIH4+5ybAValNg6meFvoV8imUTqwJVEloKT1xQxe02JVoZruoku?= =?us-ascii?q?tKsmdYkSNnoPklySZqRB2iti3wv6gNwy4v+KmktDUdvnxIVuOekybUBlVEyPQF?= =?us-ascii?q?l7wcB2zj6Vy7Z3kDd5Dy7aJiJcnv+ogt+XM/YQ8sfyceR+SvFznwj7+UAoyIqN?= =?us-ascii?q?9ciwKCuN7VbbOqMCYcObIzyRPlR3hg3QnThxlo8G4RTTWm8tAoPoK9OdwqxiCw?= =?us-ascii?q?A2jUaE4M4r9VsMv2rVMLTuw2aVNnwGl5zseHRikNRNHSFGc0jwgkb35EcJFC6R?= =?us-ascii?q?IBCakogyiIsbNC/g4JYTfYCIKl9ZfMnc3Qw3kyUc9qxn7Kpq2Cnp4q0WNllMly?= =?us-ascii?q?7iOVvHQSavHXU85rAnjozItfzvb+Z/q1uOAdVIRm0KihUOMFMsS7+2u5xptqWk?= =?us-ascii?q?GhxrkFEVu2KukDyanHUyu/T22XR/iLeXCWnzklKk7y+QWoLlovZcdFq089NeXD?= =?us-ascii?q?iYBYlw3lSr50XSKQpVnazGM/K+8acRw5uJu/cQwQUOERf/ScJfQpwPAmClsMb3?= =?us-ascii?q?/IHTNxC++ysF6tgJZ0Nm5l4UX7feTt6B7pPMGVGhkeHo7QtoRx9uCiRmKdJX9g?= =?us-ascii?q?ywV/PEZp9+feClsxsfRRc4qLndfOgdR7zfQKd/N3Pi07ptETm5hs5ZOS0MiUbR?= =?us-ascii?q?Hb1ozyKs3NoviEH/3fyFwnen1bUroceg71+4Q6McI6W7LNGbtVpxIcCrYmQJY5?= =?us-ascii?q?LWf+6Ll0LB9vcg7WfLm0h8jqpuGIZptTvHLW7Eg/LCTbux0F1PO0SxZ3b5a0iH?= =?us-ascii?q?XuOJowXC5Or8VxCht6G4tCA9gPoBShA56Ig6y7kNux+0Rmu+8Wr6r/FO3F2M6+?= =?us-ascii?q?34VrUJhQ/VaLMyrJBKl3nkRlify/gvne3Zn1CMPiYc0LWfN6Q27Eb7/GG5uwKi?= =?us-ascii?q?iKOs3iYUJG9KSc0L1hWBWLeC/5R7aGtDGjNPh870Q70pZ4fOvPwzMz9Lzb3dry?= =?us-ascii?q?Z31Bpii9t3KJM4Ff7FPSD+zEQx1UUeaF8HpiHaAPaov08PkBPMc6wNiY+QZz9y?= =?us-ascii?q?hC0MqZLKi9tE/DxFx0eYjdLET3xyYzQZMKLwinMUswnW/ZrWzQAXBdLsiiNMls?= =?us-ascii?q?j8+ZDhjs50lqhWEtfXVMGmvySteXPmgXwcW+ZBeF9AhTFdYMg/a3eVIktq21Ue?= =?us-ascii?q?RoIYtKmeGrtLUBjNZoJCbDSsdGPyHQMrB2JCReDv3Vq1UzYR4LraI1WoErapiK?= =?us-ascii?q?O0wHLUiAxTn1zQvY3k3+b8as27qRICYK7nVHyKrI0T1WqAalufaZg8vjULfCYZ?= =?us-ascii?q?HoXf7SNjQqVjWbRTQ0DEao9k2ou/0evPqXOW0fuEwbYjqOCA4PoaBitdrQAXXQ?= =?us-ascii?q?me1kZ5IHn+2aWybsSC14k6oyGylLtUCQQ/YZEwnZcWPhinJGuAO+Pv9M4W7lb7?= =?us-ascii?q?qAy6VOQOMaBY9McvyCQ9vEYvBSPSwomSsFN+qmZN3TsbI50lPOTWsEHKjF70GR?= =?us-ascii?q?TU6MQvyB3DLnR4sUsJIouioz/dLQmDV7E6PSP7aQvzSu6JK3jD6Eue3CUWkge0?= =?us-ascii?q?M1j/gZD2mbwRlPNmUEBsoLuEHpWKGAfEdM1G8zheJoxRAMZBx5Umdy3X1OgPa9?= =?us-ascii?q?BspZREYWjGOrR/0Gdkp3DDIr/UKR5A39e9kAtt7SR2NE8bsMU4UdJuEy6IbLIK?= =?us-ascii?q?sQ3Oop3DV+rSwhvSWdCk9SgwOG/qfLAqJz2KdC5Wg5/vFxWEGDWTXffXbbyoC+?= =?us-ascii?q?EcJA2T9uoWz418rTpu1tNrxap4d9AFoRBCJ5OM3S/T5GUWHuxAS9oQy3HDKALz?= =?us-ascii?q?IFs343InkUf+B61O9mswvJPoLQ4EWfrKI8q1aqIQaWA6W52dpADcS/hiuibiwe?= =?us-ascii?q?VjGmGNhQp+1RmcwVf+tzYoyzDHjbIwT+Bx7esCcJoku56o+3BNZHlz1N2p4nL8?= =?us-ascii?q?vkCsxTVIHU?= X-IPAS-Result: =?us-ascii?q?A2HXBAD+0nNY/wHyM5BdHAEBBAEBCgEBFwEBBAEBCgEBgw8?= =?us-ascii?q?BAQEBAR+Ba45JkTSXJSuHbFMBAQEBAQEBAQIBAmAogjMaAYIbAQUBAiQTFCALA?= =?us-ascii?q?wMJAQEKDQsJFQgIAwELBR0VFwgLBRgEiE+xeDomAol0AQEBBwEBAQEBI4smhBg?= =?us-ascii?q?RAYNRgjEBBJUchgCRQA1ngRCFCIM/hh6SVVhwNBwVN4QwHIFgcoY4gi4BAQE?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea10.nsa.gov with ESMTP; 09 Jan 2017 18:18:31 +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 v09IHft5030961; Mon, 9 Jan 2017 13:17: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 v09ICYLn091751 for ; Mon, 9 Jan 2017 13:12:34 -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 v09ICRsE029581; Mon, 9 Jan 2017 13:12:32 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DxAQDX0XNYhxy3hNFdHAEBBAEBCgEBgzoBAQEBAaIHlzGGIgKBZ1MBAgEBAQEBAhMBAQEKCwkKHYUZAQIDJxM/EAsYCSUPBUmJA7FzOoocAQEBAQEBAQMBAQEBAQEiiyaHe4IxBZUchgCRQA1ngRCFCIldklWBexwVhGcRC4FgPYkbAQEB X-IPAS-Result: A1DxAQDX0XNYhxy3hNFdHAEBBAEBCgEBgzoBAQEBAaIHlzGGIgKBZ1MBAgEBAQEBAhMBAQEKCwkKHYUZAQIDJxM/EAsYCSUPBUmJA7FzOoocAQEBAQEBAQMBAQEBAQEiiyaHe4IxBZUchgCRQA1ngRCFCIldklWBexwVhGcRC4FgPYkbAQEB X-IronPort-AV: E=Sophos;i="5.33,340,1477972800"; d="scan'208";a="5900311" 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 Jan 2017 13:12:31 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3A3PAU3BQMIJKefrs98RuZh5QbOtpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa69YxON2/xhgRfzUJnB7Loc0qyN4vymAzBLuM7Q+Fk5M7V0Hycfjs?= =?us-ascii?q?sXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6?= =?us-ascii?q?KfroEYDOkcu3y/qy+5rOaAlUmTaxe71/IRG5oAnLqMUbjoRuJrstxhbNv3BFZ/?= =?us-ascii?q?lYyWR0KFyJgh3y/N2w/Jlt8yRRv/Iu6ctNWrjkcqo7ULJVEi0oP3g668P3uxbD?= =?us-ascii?q?SxCP5mYHXWUNjhVIGQnF4wrkUZr3ryD3q/By2CiePc3xULA0RTGv5LplRRP0lC?= =?us-ascii?q?sKMSMy/XrJgcJskq1UvBOhpwR+w4HKZoGVKOF+db7Zcd8DWGZNQtpdWylHD4ih?= =?us-ascii?q?bYUAEvABMP5WoYf9uVUAsBiwBQejC+zz1zBHhHH50LYm0+g9CwzKwBAsEsgQvH?= =?us-ascii?q?nSsd77NL0SUeewzKTQ1DvDa+1Z2Tjg44bQbB8huu2MUqxqccrW10kkCgTIjlKU?= =?us-ascii?q?qYP7MDOYzf4NvHaG4OpgT+2vl3QrpB12ojiq38ohjJTCiIENyl3c6yl13II4Kc?= =?us-ascii?q?elREN1f9KoCoZcuiKUOodsXM8vQGdlszsgxLIco560Zi0KxYwnxxHBb/yHdJCF?= =?us-ascii?q?4hfsVeqMOzt4nmxqd6+/hxmo7Uis0PHzVs6x0FpSrypFlMfDtmwV2hDN9sSKTu?= =?us-ascii?q?Fx8lqv1DqRzQzf9+JJLE4umabFKJMt2rswmYASsUTHEC/2gkL2jKqOe0Uj/uin?= =?us-ascii?q?9evnb678ppCCKoB0ihvxMrg0lsOjBuQ4NxACX3KH9uSkyL3j4Ur5Ta1RjvIria?= =?us-ascii?q?nUq4zaJMQHqa65BA9ZyIAj6w2lADu839QYmmcHJkpfeB2bl4jpJ03OIPfgAPek?= =?us-ascii?q?nVuslDZrx/bbPrzuGZjNMnjCn6vhfbZ68UJczhEzwspF65JbDbEBPqG7Zkikpd?= =?us-ascii?q?XeAQQ5Lg+pwq6zGdx72ZgeRGGSA4eZLarNvF7O7eUqdbqifogQ7RH5JvdtwfP1?= =?us-ascii?q?kXIjnkFVKa6t0JQ/cn20Hv16ZU6eZCy/0Z86DW4Ws19mH6TRg1qYXGsWPi7qUg?= =?us-ascii?q?=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0FoAADX0XNYhxy3hNFdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgw8BAQEBAaIHlzGGIgKBZ1MBAQEBAQEBAQIBAhABAQEKCwkKHTC?= =?us-ascii?q?CMxoBghsBAgMnEz8QCxgJJQ8FSYkDsXM6ihwBAQEBAQEBAwEBAQEBAQEBIIsmh?= =?us-ascii?q?3uCMQWVHIYAkUANZ4EQhQiJXZJVgXwcFYRnEQuBYD2JGwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0FoAADX0XNYhxy3hNFdHAEBBAEBCgEBFwEBBAEBCgEBgw8?= =?us-ascii?q?BAQEBAaIHlzGGIgKBZ1MBAQEBAQEBAQIBAhABAQEKCwkKHTCCMxoBghsBAgMnE?= =?us-ascii?q?z8QCxgJJQ8FSYkDsXM6ihwBAQEBAQEBAwEBAQEBAQEBIIsmh3uCMQWVHIYAkUA?= =?us-ascii?q?NZ4EQhQiJXZJVgXwcFYRnEQuBYD2JGwEBAQ?= X-IronPort-AV: E=Sophos;i="5.33,340,1477958400"; d="scan'208";a="2624695" 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; 09 Jan 2017 18:12:30 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (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 E6D39C05678C; Mon, 9 Jan 2017 18:12:29 +0000 (UTC) Received: from dhcp-27-174.brq.redhat.com ([10.34.27.30]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP id v09ICPUa010235; Mon, 9 Jan 2017 13:12:26 -0500 Received: by dhcp-27-174.brq.redhat.com (nbSMTP-1.00) for uid 1000 oleg@redhat.com; Mon, 9 Jan 2017 19:12:29 +0100 (CET) Date: Mon, 9 Jan 2017 19:12:25 +0100 From: Oleg Nesterov To: yangshukui Subject: Re: SELinux lead to soft lockup when pid 1 proceess reap child Message-ID: <20170109181225.GB8972@redhat.com> References: <58732BCF.4090908@huawei.com> <58734284.1060504@huawei.com> <58736B2E.90201@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <58736B2E.90201@huawei.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 09 Jan 2017 18:12:30 +0000 (UTC) X-Mailman-Approved-At: Mon, 09 Jan 2017 13:17:40 -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: Kefeng Wang , Zhangdianfang , "'Qiang Huang'" , james.l.morris@oracle.com, sds@tycho.nsa.gov, serge.hallyn@ubuntu.com, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, Lizefan , selinux@tycho.nsa.gov, "Guohanjun \(Hanjun Guo\)" , "miaoxie \(A\)" Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP On 01/09, yangshukui wrote: > > --- a/security/selinux/hooks.c > +++ b/security/selinux/hooks.c > @@ -3596,6 +3596,9 @@ static int selinux_task_kill(struct task_struct *p, > struct siginfo *info, > > static int selinux_task_wait(struct task_struct *p) > { > + if (pid_vnr(task_tgid(current)) == 1){ > + return 0; this check is not really correct, it can be a sub-thread... Doesn't matter, please see below. > + } > return task_has_perm(p, current, PROCESS__SIGCHLD); > } > It work but it permit pid 1 process to reap child without selinux check. Can > we have a better way to handle this problem? I never understood why security_task_wait() should deny to reap a child. But since it can we probably want some explicit "the whole namespace goes away" check. We could use, say, PIDNS_HASH_ADDING but I'd suggest something like a trivial change below for now. Eric, what do you think? Oleg. diff --git a/security/security.c b/security/security.c index f825304..1330b4e 100644 --- a/security/security.c +++ b/security/security.c @@ -1027,6 +1027,9 @@ int security_task_kill(struct task_struct *p, struct siginfo *info, int security_task_wait(struct task_struct *p) { + /* must be the exiting child reaper */ + if (unlikely(current->flags & PF_EXITING)) + return 0; return call_int_hook(task_wait, 0, p); }