From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AAA8C433EF for ; Thu, 19 May 2022 20:44:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 060BC6B0071; Thu, 19 May 2022 16:44:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00E5B6B0072; Thu, 19 May 2022 16:44:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E181B6B0073; Thu, 19 May 2022 16:44:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D1D6A6B0071 for ; Thu, 19 May 2022 16:44:34 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A0A2633D2E for ; Thu, 19 May 2022 20:44:34 +0000 (UTC) X-FDA: 79483670868.17.388727C Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf26.hostedemail.com (Postfix) with ESMTP id 4653314000F for ; Thu, 19 May 2022 20:44:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652993071; x=1684529071; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=g6hFppb/e9rJtKSA/JHWaDssY9mHf4YuE/Bk76q7Ido=; b=bcu58YAUrJyQJxZFVvLCx+jutuSNx3ZQ5RXjtN9HuSyGsnj/VTxufjih H7VxC7hGPqaFt0GCyKZQLEp0V44EjnPtr6gfhMEu5XB/hcLrihcBCJF6K mevMl9L2SbfD+TfG9KiH6Td2JB4SiaowodmuROgyQob/mTzjCyPvJhOQg 7TuQg4pvahDpGRd642Tdm3/zafScCpXGRF4jIqVRcTlQkwTaLFEOtQukP qzSOmc9N6zrx0DcBd3WCDwQkEhXxdMvzeerFrVb74nyqMakFskWsPUesO KGVJitlDXT1pNWdWbon9aH6aLWyk2YqofiX/LOtAp0JXOwzc4pL1wMrRv A==; X-IronPort-AV: E=McAfee;i="6400,9594,10352"; a="252263848" X-IronPort-AV: E=Sophos;i="5.91,238,1647327600"; d="scan'208";a="252263848" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 13:44:28 -0700 X-IronPort-AV: E=Sophos;i="5.91,238,1647327600"; d="scan'208";a="701358036" Received: from kcaccard-mobl.amr.corp.intel.com (HELO kcaccard-mobl1.jf.intel.com) ([10.212.148.227]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 13:44:27 -0700 Message-ID: Subject: Re: [PATCH] x86/sgx: Set active memcg prior to shmem allocation From: Kristen Carlson Accardi To: Shakeel Butt Cc: linux-sgx@vger.kernel.org, Dave Hansen , Jarkko Sakkinen , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , Johannes Weiner , Roman Gushchin , Linux-MM , Michal Hocko , LKML Date: Thu, 19 May 2022 13:44:17 -0700 In-Reply-To: References: <20220517164713.4610-1-kristen@linux.intel.com> <9c269c70-35fe-a1a4-34c9-b1e62ab3bb3b@intel.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4653314000F X-Stat-Signature: gopfipmrrzc94dm3zc37x31ekq43x887 Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=bcu58YAU; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf26.hostedemail.com: domain of kristen@linux.intel.com has no SPF policy when checking 192.55.52.136) smtp.mailfrom=kristen@linux.intel.com X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1652993067-715321 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: On Wed, 2022-05-18 at 22:43 -0700, Shakeel Butt wrote: > (Fixing the CC list and sending again) > > On Tue, May 17, 2022 at 09:47:13AM -0700, Kristen Carlson Accardi > wrote: > [...] > > +int sgx_encl_alloc_backing(struct sgx_encl *encl, unsigned long > > page_index, > > + struct sgx_backing *backing) > > +{ > > + struct mem_cgroup *old_memcg; > > + int ret; > > + > > + old_memcg = sgx_encl_set_active_memcg(encl); > > This function is leaking memcg reference. Please change > sgx_encl_set_active_memcg() to sgx_encl_get_mem_cgroup() or something > which will return the memcg with the refcount elevated. Then use > set_active_memcg(returned_memcg) here. > > > + > > + ret = sgx_encl_get_backing(encl, page_index, backing); > > + > > + set_active_memcg(old_memcg); > > mem_cgroup_put(returned_memcg) here. > > > + > > + return ret; > > +} Thank you for your review. I will incorporate this fix into my next version.