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 7A169C2BBCA for ; Fri, 28 Jun 2024 03:27:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E63926B00BC; Thu, 27 Jun 2024 23:27:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E13A06B00C5; Thu, 27 Jun 2024 23:27:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CDBC36B00C6; Thu, 27 Jun 2024 23:27:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id ADFF56B00BC for ; Thu, 27 Jun 2024 23:27:23 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 69011A46A7 for ; Fri, 28 Jun 2024 03:27:23 +0000 (UTC) X-FDA: 82278861966.16.4105FE4 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf06.hostedemail.com (Postfix) with ESMTP id A306B180007 for ; Fri, 28 Jun 2024 03:27:21 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=w5xOTqhT; spf=pass (imf06.hostedemail.com: domain of rientjes@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719545233; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dSkydqVrOylet5hZHTv4JAa4/5ZRn/MCtw+KWg/qGPQ=; b=Tqv56hKCpwab46z/Qt/FXfRxgLdOMsTqadQr8MdtR/h37YyhtiIz/l15gxeVBZupprTe47 ZIvWiY0reGSx288AzBl8GtdDGT2tMvOo6aEzdGZ08QFtFgqmmWhVAwWS2TEAeoPxAnA8yl 0laME21dE75MbzVyHbsPgZ1Z9N8aEuY= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=w5xOTqhT; spf=pass (imf06.hostedemail.com: domain of rientjes@google.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719545233; a=rsa-sha256; cv=none; b=eANOrx1RKYlgMFEiQgJHW2MvhjxYTnQ0MFiNnhQi6UUQdIH227EkDVsOv3+4of9pPRyUGq duVD14jfAv2v0kJkuV61GolMhrj0m+8BLVfxGCjfZyszg1Yym4Q6NNb8/Bp6Bxc9vFGlDG OTX8NehGF7gKyl9mTfJapjyDUoVfpjQ= Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1fa3086cf25so56395ad.1 for ; Thu, 27 Jun 2024 20:27:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1719545240; x=1720150040; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=dSkydqVrOylet5hZHTv4JAa4/5ZRn/MCtw+KWg/qGPQ=; b=w5xOTqhTmwgj5WVTSdfJL2z6lpRoWgaEPng38gBFhMI4f5OpjAtzIoDq5qkMwtDFFB kIbenOeCOLmaFPUacRC8KzMVkN0SSjcvm5UyygTAdLsydPSqvqin2qs9+NvMvpvPwZtH G5ZnuQVK2Fkah6HxrRtXhuodlq3ZcqGZdptSk3QDNPTH2f/tVdPh2Gqsvc3OxaxdnOiE fhl8QAmRx3jjKVizk4xUFeoH9GyTx+82sS5fA/7WJWS+ju4uDFgTzAQJufk2KTkzEMkS BJqKqaBbsEzcVq27G824bB84nThPoSnykD31Wl+L28CvcAVzj24nWXLF73LT+ej8M7Bd AgOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719545240; x=1720150040; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dSkydqVrOylet5hZHTv4JAa4/5ZRn/MCtw+KWg/qGPQ=; b=bG3PZcznPNoOVGE2sGmLyH2r+35aL/k9++2UVPR0uaCAUiwyI3kmzPncBDHr0FpOJ3 lmf28zrPdQ6AAeUfAL6JoI/arx9ZAboYU7VDIpr8CLZfJ8rcRGm3SplGwP0o2ZCrXYyO m3sLax5qfKXVrevDc8rBkD90/joLX3VgFffF9vJkckCI4i5OEBGmT3sa8YDCMukz6sI5 DpOhx2TVdgdyMyX6shkloKd5A6/6QxQuIeOOXDiIlOKBSLvMZs22hefKrqGGGNyD6vGu c9jz9H2Korjso2aIVrAh18l1r5wv9jg0WuhtOiY+h0WPZOIKWj+8l+IIuIPH+8QdTzXD l3EQ== X-Forwarded-Encrypted: i=1; AJvYcCUxWfj2dQ/HaC4YHb5qmrtdb6I/ejr8gGR7LHv37eaJxtztt/2ZGM0BarONY6nllAjlOKA6+KMEgVbqxXKg3VbNAas= X-Gm-Message-State: AOJu0Yy1MH1MWFPGu00npGiMWkL8gxcsytPenakjQqaJS86XZgNoreYk z2fn7FQXnxmyPjEDCZCqe/2ZrWREDGHhctBq8zC/oG6O60HVluEjvdPVcQVvTg== X-Google-Smtp-Source: AGHT+IFknHUiBK4QKZl3RYX8Cc7u+xPDs+/iq1BOC/jaRS3yGmAHCWXBIfTUh5gu7x74dwrBoCs81A== X-Received: by 2002:a17:903:7c4:b0:1f8:6250:dfa5 with SMTP id d9443c01a7336-1fac18172dbmr1724525ad.28.1719545240167; Thu, 27 Jun 2024 20:27:20 -0700 (PDT) Received: from [2620:0:1008:15:6e58:e031:b1d9:8b1e] ([2620:0:1008:15:6e58:e031:b1d9:8b1e]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-72c6d1f77bcsm414842a12.79.2024.06.27.20.27.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jun 2024 20:27:19 -0700 (PDT) Date: Thu, 27 Jun 2024 20:27:18 -0700 (PDT) From: David Rientjes To: Jiaqi Yan cc: nao.horiguchi@gmail.com, linmiaohe@huawei.com, jane.chu@oracle.com, rdunlap@infradead.org, ioworker0@gmail.com, muchun.song@linux.dev, akpm@linux-foundation.org, shuah@kernel.org, corbet@lwn.net, osalvador@suse.de, duenwen@google.com, fvdl@google.com, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v6 2/4] mm/memory-failure: userspace controls soft-offlining pages In-Reply-To: <20240626050818.2277273-3-jiaqiyan@google.com> Message-ID: References: <20240626050818.2277273-1-jiaqiyan@google.com> <20240626050818.2277273-3-jiaqiyan@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: A306B180007 X-Stat-Signature: erx79199sttz8cf9xmehjoafhbdnxfuh X-HE-Tag: 1719545241-70915 X-HE-Meta: U2FsdGVkX1+Nv3OMlWXT7YH75DB4741Ny+8NApn3wCHfdbGj+LVyHuV6+kNnwom/2+m02dNdXet47fDecKu/zve12t7SYUAeCR4D4tkTntNVbriF8ge+YWhmaCBR8n0ATB4bOsF9RET1vsWvoH0AQqepwNZw2mbJGiXfx//zJ7vdpOU/pTnrN/UglU273qh5HDfJ0qTQGx4/3GLBsCRHDn4/B1kspHrHfkW1iCJOilLcwKYVg2Tzn232nD1HSAfJvXvZjchHgC6H+pLioG0axDkVoXSSb6WBFKvOCvgNrifL8+nVGGOwzffRzFk4yUSoSRlJRQXtOmyuV1d2ngnMW8MtAKkqsZXDeOKDuPmAg29BS2xHmWW8kVvK2dDtFOz3zH2tzytIUlw6RjeA0cLniclldJBhzVJC3BvsVUeSH3nwsty/m5L0FByw3dgrN+1nnVQV4ZZ3OhbVVWKF7cdmGOni/zjyclbocHkr1HRT83hBi7diwX9qCyuIJQ6zsPbyXVu+5l/cNflzzpbK8sPUOytn+Te7kjVe2vvkEsS1SlXdgJRO++KfoYzkflOSFoi0/M77EYcKN1oXhnFRMC6xX6wZqZaoI+7uLMCHkljShxJGFBkMqt8851CmS8nYmzfcTaVsq013ojZTYieB+mHhvXH3hEnsb0uWfMDW0N8cOweWAp3ExsFIJTH4duL2qq4c76wkVAeQdj3P9s/Iv3YnH47pnspBcN/v7K//YEXKFh3X4TdPOfvbQ38+D5Sr15wlQx1gy8DtyonoTGZsRL70iNMu/TY6ND4WQ8xpxlS46yaJ+qDlUfiXHjJmybs2mbIHsX6k0YGd1ZUqLkQXj2Qu3VhUQvP2uMueullEbbB3GokdFfyxUDXZSFrObPGc2xl1FoA7ngzhmJjaxx/mgii6euowHh45FRyuSrmCQRRBMZBOz25Ibn2evOxnIE0vXjgSHFsE5I5MV/XDj4fJEkr zbLWMIhc +2jp2SIjV5Q9L4bL8dM2SXcVY8mjdEWHezM8zZ6aksDU7WUzyni7Kpf/aqimU6kAI4fgM7vsr3VW2GFTlzGap1r2Bg6V6Iv2PXzdLhlxAihaqyovjRwtPCVl5NZzFpGbRCBmVTP8ainCxmacUhjPQkFR6FqlOOwUev0C1vQn8dcrl5t97WEc9gu1UYsQnzQqyqhiVSfyNqbyOsWAB7+L4lswve+B2u7RLdfq8fDZrNvnEeJeBscgC+otCuFxFAiG2vNVbq3PzLqH+ZyWHWaCUcR7VFb2MmWtmXYjkt2eKVUM84HMSShgoInuDwXQeDLebQZ708nNzoQzBIZD78SEGFIcJjznRuoaGdRdEVvja8MY+w3eOT3RiozeuAvmjkMDL6r4+wmz428QuNik= 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: List-Subscribe: List-Unsubscribe: On Wed, 26 Jun 2024, Jiaqi Yan wrote: > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 6f5ac334efba..1559e773537f 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -68,6 +68,8 @@ static int sysctl_memory_failure_early_kill __read_mostly; > > static int sysctl_memory_failure_recovery __read_mostly = 1; > > +static int sysctl_enable_soft_offline __read_mostly = 1; > + > atomic_long_t num_poisoned_pages __read_mostly = ATOMIC_LONG_INIT(0); > > static bool hw_memory_failure __read_mostly = false; > @@ -141,6 +143,15 @@ static struct ctl_table memory_failure_table[] = { > .extra1 = SYSCTL_ZERO, > .extra2 = SYSCTL_ONE, > }, > + { > + .procname = "enable_soft_offline", > + .data = &sysctl_enable_soft_offline, > + .maxlen = sizeof(sysctl_enable_soft_offline), > + .mode = 0644, > + .proc_handler = proc_dointvec_minmax, > + .extra1 = SYSCTL_ZERO, > + .extra2 = SYSCTL_ONE, > + } > }; > > /* > @@ -2749,8 +2760,9 @@ static int soft_offline_in_use_page(struct page *page) > * @pfn: pfn to soft-offline > * @flags: flags. Same as memory_failure(). > * > - * Returns 0 on success > - * -EOPNOTSUPP for hwpoison_filter() filtered the error event > + * Returns 0 on success, > + * -EOPNOTSUPP for hwpoison_filter() filtered the error event, or > + * disabled by /proc/sys/vm/enable_soft_offline, > * < 0 otherwise negated errno. > * > * Soft offline a page, by migration or invalidation, > @@ -2786,6 +2798,13 @@ int soft_offline_page(unsigned long pfn, int flags) > return -EIO; > } > > + if (!sysctl_enable_soft_offline) { > + pr_info_once("%#lx: disabled by /proc/sys/vm/enable_soft_offline\n", > + pfn); Any strong reason to include the pfn in the log message? I'm concerned about allowing a user to deduce the physical mapping for any arbitrary page since this is possible to do through MADV_SOFT_OFFLINE and I don't think that it adds value, especially if this is pr_info_once(). If we remove the pfn, feel free to add Acked-by: David Rientjes > + put_ref_page(pfn, flags); > + return -EOPNOTSUPP; > + } > + > mutex_lock(&mf_mutex); > > if (PageHWPoison(page)) { > -- > 2.45.2.741.gdbec12cfda-goog > >