From patchwork Mon Apr 29 17:13:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shakeel Butt X-Patchwork-Id: 10922133 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 264CA14B6 for ; Mon, 29 Apr 2019 17:13:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C08E285DA for ; Mon, 29 Apr 2019 17:13:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F3DC228716; Mon, 29 Apr 2019 17:13:51 +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=-10.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9608D285B0 for ; Mon, 29 Apr 2019 17:13:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9AF6C6B0003; Mon, 29 Apr 2019 13:13:49 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 95F496B0005; Mon, 29 Apr 2019 13:13:49 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84FF96B0007; Mon, 29 Apr 2019 13:13:49 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by kanga.kvack.org (Postfix) with ESMTP id 62FF76B0003 for ; Mon, 29 Apr 2019 13:13:49 -0400 (EDT) Received: by mail-qt1-f197.google.com with SMTP id g28so10493220qtk.7 for ; Mon, 29 Apr 2019 10:13:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:date:message-id:mime-version :subject:from:to:cc; bh=eAfjg0nGPcLWfxJJhGXBjl7FIwajcYkmLSUZC9BoAVo=; b=RzjoBos97q1myDmpUasmCxkm6dRpyvIce330QpV1K7rqqbEN1qpbCs5+H9qtWW+zDe KQIONSGKHf3mxZ02i+0iw4uw5gDpSOhYUXZUzHFS53pCzM2aj1N2/WbI8nEJyJ8FlKlh fPsJ0hTJ9nGum+UfoIU0cfSgznUQK0bn55Gd6ZoyR7ULG9hlDdq8ngTtWM9Di7B/aFeZ UXE6EiZmnA9NT9ypMZx1prdHXh7Zm0rB2F1SE0JXqtt6hbMdITFlbJwLsS41fg1532EQ iTvxQab+30o42mCG/FDk8jrTtcoCQLHB/SIkIoBhIcus0eKm1rKOcnP/KNZOvKF57F49 EbhQ== X-Gm-Message-State: APjAAAUnVXK7Ex3Fqt3aB4pBwXb1dK93SlQBdR7HEEfF4VZrbFlMH5l/ ezqfEWvb5jB6CW0ih2BZB7eVJZ+kp1LsuMP9CkIg13k6u3DECUci8xTkgf/d3vUI9rtFkeuR6Qw wI7pKdyU3KQK5Dr8QdHyEvon1Jd5YplRCSK7PsrPiBlka6Kacq96nTO8UWtAxWdL9YA== X-Received: by 2002:aed:3e93:: with SMTP id n19mr27154430qtf.345.1556558029131; Mon, 29 Apr 2019 10:13:49 -0700 (PDT) X-Received: by 2002:aed:3e93:: with SMTP id n19mr27154375qtf.345.1556558028414; Mon, 29 Apr 2019 10:13:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556558028; cv=none; d=google.com; s=arc-20160816; b=bfN09b+UtfD93WlFwtaMnogRl/msZ9m1jCoS1Mldw5TDycn/EPJyksl4hvXCv/zvbz Dq45RnbGT6HND5kx+Tdcv0TEFc+gzTmFe/L+w4Z5PdJqg1xxM0d8iGbB6z1hrSrV/oQk NTCJ1f1KLzn+YSP/rtfTCqsLvqH31g1/hYKiaTaUN60OFXuk0uaE4UZT2tH7NUcx8ooB X3jnFeTvdhTtbDE8AhcGmsA8enFw6ge1jIHk1se9HGE4iEAIkIMMt+zMKE8mLvSgkl2Z nt1BEx8TWC4dIGNLyyUCzamlMSL7dEHwJb8skDvw6SvSEi5REKnmbhWKbPYkY32utHZN zLiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:mime-version:message-id:date:dkim-signature; bh=eAfjg0nGPcLWfxJJhGXBjl7FIwajcYkmLSUZC9BoAVo=; b=rehevY1Y0iPKqL6FHfNl45FZ0esZj80cUG+rL5QL011oYxQl9SGNxtTKOpSeotZsl1 JCNymqSRfS84MF2XIGwf2Oj83++2yVMEbRVtFvUjt2A+IysmE9bAE5cOAfGSY2fm1mEv ioYdLlVXzwdL0MRcMTn9lWFkpvvwMGuDG4ZbJUjikDehywxs3rtZltCvJIW32hJaJNJO MlddzzhK1iWDl9nUWQtnmu3ITMx4ZiB0JV78upIZ+HXRB4T+H9bYkcMRd9PDn6qd2WM+ /ZGI86Ttl4AhksNTpm1QZpL5m0HPxGxYCPTgglEyN1C3dOePftPPBCmhDWHWmPC3XnmM CPfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=FKmZgoHb; spf=pass (google.com: domain of 3yzdhxagkcdykzscwwdtyggydw.ugedafmp-eecnsuc.gjy@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=3yzDHXAgKCDYkZScWWdTYggYdW.Ugedafmp-eecnSUc.gjY@flex--shakeelb.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from mail-sor-f73.google.com (mail-sor-f73.google.com. [209.85.220.73]) by mx.google.com with SMTPS id r12sor8445681qvq.10.2019.04.29.10.13.48 for (Google Transport Security); Mon, 29 Apr 2019 10:13:48 -0700 (PDT) Received-SPF: pass (google.com: domain of 3yzdhxagkcdykzscwwdtyggydw.ugedafmp-eecnsuc.gjy@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) client-ip=209.85.220.73; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=FKmZgoHb; spf=pass (google.com: domain of 3yzdhxagkcdykzscwwdtyggydw.ugedafmp-eecnsuc.gjy@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=3yzDHXAgKCDYkZScWWdTYggYdW.Ugedafmp-eecnSUc.gjY@flex--shakeelb.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=eAfjg0nGPcLWfxJJhGXBjl7FIwajcYkmLSUZC9BoAVo=; b=FKmZgoHbVGCO97K3BcQ+ic4v++s8rwzSXFy75ckZdej+bpKpVXnUNuY3AXrL33BVgJ Hqz2qDXRzmxVtOoIbcV+h21LE3UduSmU2SvSZoF6iZ6fTU/Uda98vcUkpqI6iB9iB4m3 ts6v/RxvQwZAPpQgbA2bqqm1snmfVmcGk/alcHvia2mC0gY7WxDx3MzXcsdnuqA/gMZJ XBYlW9aAVRGre8B6TOocT9qUo0Kl2vE6THP1e5dwTEiMa3I9hqxw/zuSjkYo1tPPGfr0 F47SccgEZEd4YLwQlE/5seZLLVVmyOrAhtyFNqs1W697mP3Z5oznCNev6CK6HYxdQwla tG+g== X-Google-Smtp-Source: APXvYqwwgWs3zy3FLOkSJFSV4QCkVGyC8pGPoFtNLJRMe+t9+l0sHrdTDJroLj5qqsGFZEw5ucWIBmehPElR7Q== X-Received: by 2002:a0c:c18d:: with SMTP id n13mr19796452qvh.109.1556558027954; Mon, 29 Apr 2019 10:13:47 -0700 (PDT) Date: Mon, 29 Apr 2019 10:13:31 -0700 Message-Id: <20190429171332.152992-1-shakeelb@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.21.0.593.g511ec345e18-goog Subject: [PATCH 1/2] memcg, oom: no oom-kill for __GFP_RETRY_MAYFAIL From: Shakeel Butt To: Johannes Weiner , Vladimir Davydov , Michal Hocko , Andrew Morton , Roman Gushchin , Jan Kara , Amir Goldstein Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Shakeel Butt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The documentation of __GFP_RETRY_MAYFAIL clearly mentioned that the OOM killer will not be triggered and indeed the page alloc does not invoke OOM killer for such allocations. However we do trigger memcg OOM killer for __GFP_RETRY_MAYFAIL. Fix that. This flag will used later to not trigger oom-killer in the charging path for fanotify and inotify event allocations. Signed-off-by: Shakeel Butt Acked-by: Michal Hocko --- Changelog since v1: - commit message updated. mm/memcontrol.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 2713b45ec3f0..99eca724ed3b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2294,7 +2294,6 @@ static int try_charge(struct mem_cgroup *memcg, gfp_t gfp_mask, unsigned long nr_reclaimed; bool may_swap = true; bool drained = false; - bool oomed = false; enum oom_status oom_status; if (mem_cgroup_is_root(memcg)) @@ -2381,7 +2380,7 @@ static int try_charge(struct mem_cgroup *memcg, gfp_t gfp_mask, if (nr_retries--) goto retry; - if (gfp_mask & __GFP_RETRY_MAYFAIL && oomed) + if (gfp_mask & __GFP_RETRY_MAYFAIL) goto nomem; if (gfp_mask & __GFP_NOFAIL) @@ -2400,7 +2399,6 @@ static int try_charge(struct mem_cgroup *memcg, gfp_t gfp_mask, switch (oom_status) { case OOM_SUCCESS: nr_retries = MEM_CGROUP_RECLAIM_RETRIES; - oomed = true; goto retry; case OOM_FAILED: goto force; From patchwork Mon Apr 29 17:13:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shakeel Butt X-Patchwork-Id: 10922137 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D5B9C14B6 for ; Mon, 29 Apr 2019 17:14:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B766B285B0 for ; Mon, 29 Apr 2019 17:14:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A8E1728716; Mon, 29 Apr 2019 17:14:06 +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=-10.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2D5D9285B0 for ; Mon, 29 Apr 2019 17:14:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 431A86B0005; Mon, 29 Apr 2019 13:14:05 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 3E4456B0007; Mon, 29 Apr 2019 13:14:05 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D1736B0008; Mon, 29 Apr 2019 13:14:05 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id E8BD76B0005 for ; Mon, 29 Apr 2019 13:14:04 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id g92so5736863plb.9 for ; Mon, 29 Apr 2019 10:14:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=ZJZw+a1zAAS2yXCulVsapzFNzx2HgPG8quVXkMNIzRA=; b=hX8hgto3xuSMRMZjfFzYd1CS4pwYNwnsEQkpHBHtG1sxtid5tpRu5Qkqsz4i9j3kY5 3xoYdJCgzz6YqaJEvnp996ZnnEXwk463wH3w8oQ+Qc7fO3zL+w+zgaoAyXR6bDkcerFW kPFNzr+uMVORCT4RlH/fHrPflxPw98dNcstKuBNmz8iWqm5cIFxCH4MdrYoneVowhjKN jXlUcCeiMufcmysTDNiCPd8/bed0aKt5182pYOFXTwdmM4Ix+R41GSZvAANSktAN+UMo 5mYKpChQ1VjwLPDw6pHxg6zXjsnrEea2bbKHsjsresFPtoVDK4hVm/FG+KORnBaVMRK6 FyNA== X-Gm-Message-State: APjAAAWPngpm8xpfp4yuvtU9Fqg7idh4UIerd8G7k8elX3MYkOh1KzkZ dgpuUEnXME1A4PF2ZqwlE1wb1/Bom+BZkicM19K2Xz9k0Hlha9cJ1J8RX0+56wBcoJ85VL0iOLS ZOUPhA6JkQMEE3PW5eDi8vPs8IsbfmdWipLoCQdQyGJ/8Q/uUG6TOyqwCVi2iEB69Pw== X-Received: by 2002:a17:902:7205:: with SMTP id ba5mr42150050plb.285.1556558044515; Mon, 29 Apr 2019 10:14:04 -0700 (PDT) X-Received: by 2002:a17:902:7205:: with SMTP id ba5mr42149944plb.285.1556558043731; Mon, 29 Apr 2019 10:14:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556558043; cv=none; d=google.com; s=arc-20160816; b=NHv5lClEpKdZjKm5bjjz2Oy/FewiNVxfJMbi3zdGAq5wJZdl2lVM3+sdnimHm1RFLw v7yxAEXzx7PzJwsbCK3YPx4S23q5wv+U8X8NNVyPfOG/Kv8GfTUZOSaVrV+Dv06DJI1j w1H2L07OPAX7iTl60R652OW0UasAb+o8ucF6+N0jEt0PJbVxApdzXZWUghwhXJPYRkoU kZhJ/Q3iXTiwmujN645wiBhIs/jzqMb/ieA/C9lswqD1xbLB8H4F7sNBqUENkfFjC6so Ru6LwvC6fOvSKvhqktB98h92JJgebUGhL+nWhansHPco140Pz9ibxLgKedvd25dwgau6 fS8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:dkim-signature; bh=ZJZw+a1zAAS2yXCulVsapzFNzx2HgPG8quVXkMNIzRA=; b=L/fZP5Cc62hmQfoc3Ae0+VX0iQKZkFUAW2nmlFiKM3e2hvZgGbOFY1M5w974HsxjUu 410jIpaSx9B835JnzWZPypXYVkraXYZdzLV1x+508jnG7UKcj3UmB2eDXHowB3V/lA1a h098BcbJMJ+rBJFR34TOZFnmT8nlafHoLnowCAvAToa14jA7tGRQWI6iBXCcWK9C+ho4 vX2Kl4TMzvv+X9YX+R38Gg1lyVakEu/+R2YCtZ6cNpNewjQt2MSLos+L48V7zSHwJnXl BPoEJhmpUajADYZy+HemV14rLoxWRO9JTN0DzcNKwr55GQQtoH/WM2n0RRL9Co5o14Rc MYaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=LNHMaVmc; spf=pass (google.com: domain of 32zdhxagkcey0pismmtjowwotm.kwutqv25-uus3iks.wzo@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=32zDHXAgKCEY0pismmtjowwotm.kwutqv25-uus3iks.wzo@flex--shakeelb.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from mail-sor-f73.google.com (mail-sor-f73.google.com. [209.85.220.73]) by mx.google.com with SMTPS id 22sor9811014pfo.32.2019.04.29.10.14.03 for (Google Transport Security); Mon, 29 Apr 2019 10:14:03 -0700 (PDT) Received-SPF: pass (google.com: domain of 32zdhxagkcey0pismmtjowwotm.kwutqv25-uus3iks.wzo@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) client-ip=209.85.220.73; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=LNHMaVmc; spf=pass (google.com: domain of 32zdhxagkcey0pismmtjowwotm.kwutqv25-uus3iks.wzo@flex--shakeelb.bounces.google.com designates 209.85.220.73 as permitted sender) smtp.mailfrom=32zDHXAgKCEY0pismmtjowwotm.kwutqv25-uus3iks.wzo@flex--shakeelb.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=ZJZw+a1zAAS2yXCulVsapzFNzx2HgPG8quVXkMNIzRA=; b=LNHMaVmcposMzXiBxo+LfVRrsXl/hzH7pjhT+t1iPGrPl3ttT6JqRtwLI+LmJZzfO3 6dooMjOh7leRjuHd+y/PjbfED8ng26vganF2W2sFFNwLnXk6AO6Gnk27hUJRFq6vMHnD V/8GhLSaHioBm8HlcVfQcAoSlyZLZXgu6P3IdkSFLTkVAt1kTaAXh3IygzCUzwkRkMO2 ABs/JrSSCGKRasEP9mu0SQTJMLHuHvq8LSeIkgusJW0LAXLmHG7xmCeCdF9OyEsbz3k2 Ag2CxRX2t31eXoE9nTs+JsO7/i88GZiSYPqm/ZR7APmhOvzuNg5tIpU4XhI4eSSqDaiw t5+g== X-Google-Smtp-Source: APXvYqzTjNvJrvL+jBUcp6W9VnuxIBNtyu3+LblRTc2xOWy1Rbb1xQgUwgBIVo88fNW8fifpkQ8drzhLbu6dhw== X-Received: by 2002:a65:5941:: with SMTP id g1mr60655155pgu.51.1556558043109; Mon, 29 Apr 2019 10:14:03 -0700 (PDT) Date: Mon, 29 Apr 2019 10:13:32 -0700 In-Reply-To: <20190429171332.152992-1-shakeelb@google.com> Message-Id: <20190429171332.152992-2-shakeelb@google.com> Mime-Version: 1.0 References: <20190429171332.152992-1-shakeelb@google.com> X-Mailer: git-send-email 2.21.0.593.g511ec345e18-goog Subject: [PATCH 2/2] memcg, fsnotify: no oom-kill for remote memcg charging From: Shakeel Butt To: Johannes Weiner , Vladimir Davydov , Michal Hocko , Andrew Morton , Roman Gushchin , Jan Kara , Amir Goldstein Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Shakeel Butt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The commit d46eb14b735b ("fs: fsnotify: account fsnotify metadata to kmemcg") added remote memcg charging for fanotify and inotify event objects. The aim was to charge the memory to the listener who is interested in the events but without triggering the OOM killer. Otherwise there would be security concerns for the listener. At the time, oom-kill trigger was not in the charging path. A parallel work added the oom-kill back to charging path i.e. commit 29ef680ae7c2 ("memcg, oom: move out_of_memory back to the charge path"). So to not trigger oom-killer in the remote memcg, explicitly add __GFP_RETRY_MAYFAIL to the fanotify and inotify event allocations. Signed-off-by: Shakeel Butt --- fs/notify/fanotify/fanotify.c | 4 +++- fs/notify/inotify/inotify_fsnotify.c | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c index 6b9c27548997..9aa5d325e6d8 100644 --- a/fs/notify/fanotify/fanotify.c +++ b/fs/notify/fanotify/fanotify.c @@ -282,13 +282,15 @@ struct fanotify_event *fanotify_alloc_event(struct fsnotify_group *group, __kernel_fsid_t *fsid) { struct fanotify_event *event = NULL; - gfp_t gfp = GFP_KERNEL_ACCOUNT; + gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_RETRY_MAYFAIL; struct inode *id = fanotify_fid_inode(inode, mask, data, data_type); /* * For queues with unlimited length lost events are not expected and * can possibly have security implications. Avoid losing events when * memory is short. + * + * Note: __GFP_NOFAIL takes precedence over __GFP_RETRY_MAYFAIL. */ if (group->max_events == UINT_MAX) gfp |= __GFP_NOFAIL; diff --git a/fs/notify/inotify/inotify_fsnotify.c b/fs/notify/inotify/inotify_fsnotify.c index ff30abd6a49b..17c08daa1ba7 100644 --- a/fs/notify/inotify/inotify_fsnotify.c +++ b/fs/notify/inotify/inotify_fsnotify.c @@ -99,9 +99,12 @@ int inotify_handle_event(struct fsnotify_group *group, i_mark = container_of(inode_mark, struct inotify_inode_mark, fsn_mark); - /* Whoever is interested in the event, pays for the allocation. */ + /* + * Whoever is interested in the event, pays for the allocation. However + * do not trigger the OOM killer in the target memcg. + */ memalloc_use_memcg(group->memcg); - event = kmalloc(alloc_len, GFP_KERNEL_ACCOUNT); + event = kmalloc(alloc_len, GFP_KERNEL_ACCOUNT | __GFP_RETRY_MAYFAIL); memalloc_unuse_memcg(); if (unlikely(!event)) {