From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753405AbcEWQCZ (ORCPT ); Mon, 23 May 2016 12:02:25 -0400 Received: from mail-db3on0115.outbound.protection.outlook.com ([157.55.234.115]:18539 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753114AbcEWQCY (ORCPT ); Mon, 23 May 2016 12:02:24 -0400 Authentication-Results: linux-foundation.org; dkim=none (message not signed) header.d=none;linux-foundation.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Davydov To: Andrew Morton CC: Johannes Weiner , Michal Hocko , , Subject: [PATCH] mm: memcontrol: fix possible css ref leak on oom Date: Mon, 23 May 2016 19:02:10 +0300 Message-ID: <1464019330-7579-1-git-send-email-vdavydov@virtuozzo.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM2PR09CA0031.eurprd09.prod.outlook.com (2a01:111:e400:841f::41) To AM3PR08MB0579.eurprd08.prod.outlook.com (2a01:111:e400:c408::13) X-MS-Office365-Filtering-Correlation-Id: 0a39a599-9afb-493d-e6ac-08d383239bac X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;2:LMYxMGFjy5HZ6pyzL5jIUjQmM4H3E8WdKvK40rhrJyz0wtE9q5hNfZbcoYToFoVhx9dY6epLATQ25XlxHKdTCnlIrHB62WbRD1naknz94falb0KwPmbodrXZieNyLeLvUeVIzgujKQRTaiAUNhcT1IeFX5mRK5TSLFf4Njc2sH3YhgXbdLcCqM9h+He4OtmI;3:X5X83g/mhEEtGWa1K7XryEbzsM84tF/AF/3BE5OjYFaF2Qn5Bc0la1MBfE44g3+w4x0QfWggV6xbPi7hc+kde4QyvlzWe3oWVpqHGDbmwc7ZgPsMqEdFc8Zd5zQOyVAw;25:ixbMTEdFSHaxe7d0UIjACxk8v3L05jOhM4WT76u+mEPsWRFCNkXO5P4JasHeofteWvAr4OTdkFJ5wAlCgsCAZGREpNBTWN76d85qMKY57ncfKv0a0QwQkj/Lf3qq36hQ1bxuUsb7pZPeGcfwTpU8ismpW16j+I1tM5m/lGyXDQknXCkr8Mx+WG03Xwdb3BbSuJaUwASpu65E/WmsOv7ixAmBOYPVih8tWBfgjoq5dglq0k9XBH8pDfhjm7r7PH9f1dCoX+0Xj3xMokXCCUFlYweqNz785gO0nshYpHkrWcomlZab/4CLiXVNqOHxH6suYcL+7MPh3pzX/w7N3eNXc+YQSJbjIe0fMU7p1rzqb5iOefdAgJ40Ph1Br8Kie2bfmxq83TMAMygtuPZLCXtNGoIifLp5S1a0mJGsHjPhqSw= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0579; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:AM3PR08MB0579;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0579; X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;4:2chtIzLiaJewVJRTiOX3vBKzpKc2QzETQzEBbPLGTptbIJUQhzTMiuiW//7PdeD1KcWmLk+bbUrZPoTVwdPk8UHlDJFAObUJimAuTpA6ku6STIEUEhwXtbwN2kgxuiRFlzAwIACD1/6S4LEDnTpZKG4+IlhV1L9ToqJtg7HXdFTHQUkLoG9LQPQQBnxJJ75uFtK5gb+gRflJakcpsZMOQEcnDRNFY7EOIXYDZOzGkW1YAznfziAWqjmuIiSBLqbpgdhP8elN6Wnp4E1Q/yHLTqU40zblK7o/d+J7LmObBG/YKrRpRhgMAYiJcIQc31tCGq6hb9NhmLg5wfGhgb6/ElrwrPCFP13jlvdOPM/NPE55CXpiRXvS9R4sHDQfACF4kmvsimK2CAr2of44vFqcshhi9kdn3Jf6N6h4qTMv/Yw= X-Forefront-PRVS: 0951AB0A30 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(3846002)(6116002)(19580405001)(8676002)(19580395003)(586003)(80792005)(36756003)(42186005)(92566002)(50226002)(86362001)(189998001)(4326007)(110136002)(2906002)(81166006)(5008740100001)(33646002)(66066001)(229853001)(47776003)(50986999)(5003940100001)(48376002)(5004730100002)(50466002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM3PR08MB0579;H:virtuozzo.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;23:+of1Q6xTG6jUebrvo+/yQhN7ykoOPol/JABL0ldRAMcPAOgzYVg28/8Pfvsn6lclN3NHooRflqeysHPIX8D14pVclXAC2aX2sYRkR9pcXSx2fzXfgSQ4jcFWjuxA69JzpibNxQR9V7hS0KEAPLut2D/ROvnpTali1M/VI8ROWaBEJtVpa/NYyGMpj0cyrPDnEBQgm8kb9JERTqrBroXqEKgDAC/p8EUn9qJZrp6NMcmZNLqha9S//l1Pe1YbzEpC7KK7F6sWEOFkIx8GRaWcE6wfnwdySdQY7sra2VIUYIZLXQFo2rxXshy81+DD3eNhYtK1wdnwFnp3kGel6blfAh3UlPGl73JhEEbVmMH9OD8xBm3Y8Zj+rfek16/uenDFncuOATzRMlhq3P/KxWNqm2OgPeWgWvYc0UDxK9dAx+NKBTrA4gzMMtXkv9m45IybNlHeez7zY2PsPj4/IzxH05dYDJnfg6r9RzB+gYzXmCtfcAIPgfCeaQdRz4MkbVbBaXG2Sr2XkjBIQ91VOoddoMLY5X5evilkPG4v+kfRtLrIRDooPngZFK0K4u+XWewkLy30NMeY5hBr6awuR//svz5pbtQnJtUdMVhQvgNnxOzt79HdYw6CCI7ak1aRBLG3tpbV7C4lv/J5nwn1JjVOWE7YwXTPCV/lCBzisyWQPsBYeA89c5gkZnn0YdLWlRVWUV3/GOpU61dCmX4PsM49xJpzgjua2tIImf+9ZdUPG0L+j0DCl54JQnZSzech4JOo7/AChgmyxafc0ePmeItBjUKLBtNIrREdSgLRpYJRALM=;5:lPHGN7v0EMK+JKQEgsM7CRsTEXHeiZ5RL5HJPk12Rp51cBDT07wAQwKs2yG6+wNZsh7O7v4K9fIiVt0GDvtsU5ZmQihB7jFKf9J3vmAwiamp/3Rz8e7Dvx/e0S7o12nLnE3FR/DhcAWxI3/8NRGs/g== X-Microsoft-Exchange-Diagnostics: 1;AM3PR08MB0579;24:XrDYycx6HK3MdIjtsvk4yBVmy0+9vyds/Cp/cVranocPxvj9gtC0oiLFljhb5qG+5jLmHwsSlu8sqyhmiapnMYL//blzgYCmYOiEllDEcJE=;7:C6oS9IiXU6E5jMd0sDjjBVosLmbBoko+eSy8VTDK09RlyqdK32bSewlV1j/ZxwidWwtnny9K6CoRZqTvNJl+47dIBaSYZNq582cotBhEcnnHXzhGwgGfFapqEC+Mku0ccWQIFn/4BDrEgVBCM6Bsvy/6qBMes2hVOH6riHLQs8caKpe0nNsL0GEeGsB0w2xC;20:x/9gc04qGGjsn47l2ioYdKrelzeYSQ8zbtVx3CVxLJ1nFEg7vca54Xas/x09ABrwaNNzaqTH7o5ctIzqWkSS+CC9hflypQ6Ck0ekTj21hYWOylv/6oOxJijhUsLrnvWvbPOvm4CfTZ0rJHHKR26tySdT2vNVH0zIidTktQXpYAw= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2016 16:02:14.3265 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0579 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org mem_cgroup_oom may be invoked multiple times while a process is handling a page fault, in which case current->memcg_in_oom will be overwritten leaking the previously taken css reference. Signed-off-by: Vladimir Davydov --- mm/memcontrol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 5b48cd25951b..ef8797d34039 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1608,7 +1608,7 @@ static void memcg_oom_recover(struct mem_cgroup *memcg) static void mem_cgroup_oom(struct mem_cgroup *memcg, gfp_t mask, int order) { - if (!current->memcg_may_oom) + if (!current->memcg_may_oom || current->memcg_in_oom) return; /* * We are in the middle of the charge context here, so we -- 2.1.4