Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4501975pxv; Tue, 6 Jul 2021 02:27:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwJL5RECtKgv/+hK3jpZDVWjSabQrZVaf65JjaDym1LYHsg1kKsxSxqocyi7K8NjhUSjxxR X-Received: by 2002:a05:6402:4308:: with SMTP id m8mr22064508edc.237.1625563622134; Tue, 06 Jul 2021 02:27:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625563622; cv=none; d=google.com; s=arc-20160816; b=sL+fvVxLIHIZwVt+IypsWJaSuW/FKPJGa7/tV6rbwayoVJsd+vXe/d/tkg1qMoQAZW gNatCLizJzSq9hNmKc5qfL+RhICHyUkklGeQiNIzxERR5xJZXqPdRsQeFg1+3vvTymsu 8COm0kBJdZHkG/Y45Jdw09mno39VqxhSbdxk9NxCBkeF9GS5iq+5TV0pHFwm0YMXxQ/J B8/FpKD3wU0DdsD+DbDuNg7YxS1Tfm1Nj3uqvGj1GKloSKyDWAw+i9C/FnA1zD0uGigd +jCeosDEivQJ+R1Xq0GadOzbzgtK1mGmiByvrjhaBt6CCsT/zh/qp6LHwOF3Jy5rDTs3 u9kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=bOc4pvtcNfvNmA+UO/ZMqZD/nzwNN8K7zpJtMiW/zWY=; b=yjWWl7C0riOXcR9oP/lQ54Vbd52j64vcrtqP/ouH4975A0e9wb8HxhfDq6PURJq4A+ 77CTUFPWl6U9fkw8SYkWsK0ip6SUBrwPsD988Xt+wwtN4en4EQHMElSl3u2k352qatVh 8Ibw+/ZQGLNNBFDClGG/P1upGXantshKDjiztJ6vOvDKpqIbEeBU0enHAe18Ze9abF9V 22FdfMI8NJ4IX3YKZrjzsbnrbq/MjyyYA1IY/uniXvv5Bp64dseGYPBhPFQLvDxR4NBg y0rjXHdeqGBY2+NCXJFfEF4vafvpltHZKnYAYWBqtrFa/cbzP2+Xak6/FrfXEgPvwEQk Ww/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@vivo.com header.s=default header.b=fsB1TXyB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f20si12811722edv.578.2021.07.06.02.26.39; Tue, 06 Jul 2021 02:27:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@vivo.com header.s=default header.b=fsB1TXyB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231179AbhGFJ14 (ORCPT + 99 others); Tue, 6 Jul 2021 05:27:56 -0400 Received: from mail-m17639.qiye.163.com ([59.111.176.39]:49200 "EHLO mail-m17639.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230515AbhGFJ1z (ORCPT ); Tue, 6 Jul 2021 05:27:55 -0400 DKIM-Signature: a=rsa-sha256; b=fsB1TXyBUOJ/Qaqv5mSIpYKgYP1FhlOkIsPrAn/yCH53IKhgeTAvjgVjHCgbNIgAPmA/BmNbf92Jn7LQXmoummyEH4utQxFDwcK9dw21mlmh+jNLuJZgxzcQC+0y0EMjQ+vK0HIEFjy6TwWZnhOTGxd4NMRsN8iCHm0tX5czu5E=; s=default; c=relaxed/relaxed; d=vivo.com; v=1; bh=bOc4pvtcNfvNmA+UO/ZMqZD/nzwNN8K7zpJtMiW/zWY=; h=date:mime-version:subject:message-id:from; Received: from vivo-HP-ProDesk-680-G4-PCI-MT.vivo.xyz (unknown [58.251.74.232]) by mail-m17639.qiye.163.com (Hmail) with ESMTPA id 7E28D38018B; Tue, 6 Jul 2021 17:25:15 +0800 (CST) From: Wang Qing To: Andrew Morton , linux-mm@kvack.org (open list:MEMORY MANAGEMENT), linux-kernel@vger.kernel.org (open list) Cc: mgorman@techsingularity.net, Qiang.Zhang@windriver.com, Wang Qing Subject: [PATCH V2] mm: add GFP_ATOMIC flag after local_lock_irqsave Date: Tue, 6 Jul 2021 17:24:31 +0800 Message-Id: <1625563471-3873-1-git-send-email-wangqing@vivo.com> X-Mailer: git-send-email 2.7.4 X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZQxlPSFZOQx9NSx9KHUMaH05VEwETFhoSFyQUDg9ZV1kWGg8SFR0UWUFZT0tIVUpKS0 hKQ1VLWQY+ X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6KzY6LBw4Aj9PLh8rE0oBDhIw PxoKCRFVSlVKTUlOTk1ITkpNS05KVTMWGhIXVQwaFRwKEhUcOw0SDRRVGBQWRVlXWRILWUFZTkNV SU5KVUxPVUlISVlXWQgBWUFJSkxINwY+ X-HM-Tid: 0a7a7b22cb46d994kuws7e28d38018b Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org prep_new_page() will allocate memory in some scenarios. Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:96 ___might_sleep.cold+0x1f1/0x237 kernel/sched/core.c:9153 prepare_alloc_pages+0x3da/0x580 mm/page_alloc.c:5179 __alloc_pages+0x12f/0x500 mm/page_alloc.c:5375 alloc_pages+0x18c/0x2a0 mm/mempolicy.c:2272 stack_depot_save+0x39d/0x4e0 lib/stackdepot.c:303 save_stack+0x15e/0x1e0 mm/page_owner.c:120 __set_page_owner+0x50/0x290 mm/page_owner.c:181 prep_new_page mm/page_alloc.c:2445 [inline] __alloc_pages_bulk+0x8b9/0x1870 mm/page_alloc.c:5313 So we add GFP_ATOMIC and remove GFP_KERNEL flag. Reported-and-tested-by: syzbot+b07d8440edb5f8988eea@syzkaller.appspotmail.com Signed-off-by: Wang Qing --- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d6e94cc..3016ba5 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5309,7 +5309,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid, } nr_account++; - prep_new_page(page, 0, gfp, 0); + prep_new_page(page, 0, gfp | GFP_ATOMIC & ~GFP_KERNEL, 0); if (page_list) list_add(&page->lru, page_list); else -- 2.7.4