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 138ADC433FE for ; Fri, 18 Nov 2022 21:42:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7944A6B0071; Fri, 18 Nov 2022 16:42:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 744776B0072; Fri, 18 Nov 2022 16:42:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6333E6B0074; Fri, 18 Nov 2022 16:42:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 539376B0071 for ; Fri, 18 Nov 2022 16:42:41 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 28F5EAACCA for ; Fri, 18 Nov 2022 21:42:41 +0000 (UTC) X-FDA: 80147887722.10.25ABB00 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf07.hostedemail.com (Postfix) with ESMTP id 7C6EA4000C for ; Fri, 18 Nov 2022 21:42:40 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DADC6B82559; Fri, 18 Nov 2022 21:42:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48EA1C433D6; Fri, 18 Nov 2022 21:42:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1668807757; bh=WCPSd68RHGDTmUGJSNAlMJajTd8lyzv3UTFrUTuu6Pk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=fG5ssDEhHsnZ7cCi8hoDKZ3Yq44Q4NZanE7eKUfA0v6WD0+fd7vKP1VUJF7Cnby2k hYyck5qs0LoBNYqW0o2VfQEx2vhdzmTKhJ5TERW3t339NYh46eAX+KR2eGN6QNv6/g SUCnfJ4eIMwT+2yuiHyMtCNfetPUPcHFJp76co+4= Date: Fri, 18 Nov 2022 13:42:36 -0800 From: Andrew Morton To: Qi Zheng Cc: akinobu.mita@gmail.com, dvyukov@google.com, jgg@nvidia.com, willy@infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v3] mm: fix unexpected changes to {failslab|fail_page_alloc}.attr Message-Id: <20221118134236.17a67804b3b6e6c157d8ea02@linux-foundation.org> In-Reply-To: <20221118100011.2634-1-zhengqi.arch@bytedance.com> References: <20221118100011.2634-1-zhengqi.arch@bytedance.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1668807760; a=rsa-sha256; cv=none; b=L34M0xZQ2wHFxvxexG3ZLW6ns89ds4hQmaZ1/h21VnxGbpSqmpxaBtMvxDT8w1dsTRvwOd RDECEGTGNycpHW/QsTk5obwr4a6QvFd6T8S/wyfJuiDApygab0FMWVyW0K/nS++L8Aoxty gjNCWOSN0YuJGql5KWdusucP1WmtjBE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=fG5ssDEh; spf=pass (imf07.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1668807760; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZadjNkxfHbMe9MSbtAQ/30dJInlLEIFNN3fnutGX4wU=; b=s42F3PDkMIttPgQyBhbUavDlcfNxqoL3StL/XFe0n6ORTv06AbnIS4rslQQbbGgfKfAv0r P7n7wvoOPNgwGsY4Id9Kc/N47MRQOgd1vUH1IP4M/CUQ8BSe1oZZx9LuHtvckj/C6tsrVg Lv9hvQ6JovCUPZJOBjtkAlchyBuloyA= X-Stat-Signature: uhz1a6w81ffozoi9fmxnznom484wbf4f X-Rspamd-Queue-Id: 7C6EA4000C Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=fG5ssDEh; spf=pass (imf07.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none X-Rspamd-Server: rspam04 X-Rspam-User: X-HE-Tag: 1668807760-900173 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 Fri, 18 Nov 2022 18:00:11 +0800 Qi Zheng wrote: > When we specify __GFP_NOWARN, we only expect that no warnings > will be issued for current caller. But in the __should_failslab() > and __should_fail_alloc_page(), the local GFP flags alter the > global {failslab|fail_page_alloc}.attr, which is persistent and > shared by all tasks. This is not what we expected, let's fix it. > > Cc: stable@vger.kernel.org > Fixes: 3f913fc5f974 ("mm: fix missing handler for __GFP_NOWARN") > Reported-by: Dmitry Vyukov > Signed-off-by: Qi Zheng > Reviewed-by: Akinobu Mita > > ... > > -bool should_fail(struct fault_attr *attr, ssize_t size) > +bool should_fail_ex(struct fault_attr *attr, ssize_t size, int flags) > { > bool stack_checked = false; > > @@ -152,13 +149,20 @@ bool should_fail(struct fault_attr *attr, ssize_t size) > return false; > > fail: > - fail_dump(attr); > + if (!(flags & FAULT_NOWARN)) > + fail_dump(attr); > > if (atomic_read(&attr->times) != -1) > atomic_dec_not_zero(&attr->times); > > return true; > } > +EXPORT_SYMBOL_GPL(should_fail_ex); I don't see a need to export this?