Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp782963ybi; Fri, 14 Jun 2019 03:19:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqxZ1GILkhIidgKzsyosw53BoTcRuWnVnarKtK4n9ve9TbmH0okfSzqhA78txSlmBBW0bWZB X-Received: by 2002:a63:d84a:: with SMTP id k10mr20244683pgj.74.1560507554916; Fri, 14 Jun 2019 03:19:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560507554; cv=none; d=google.com; s=arc-20160816; b=kRLisYH/PknqEMXo+bF+b/qlF2ZxZj2lmxcZh/rcrNGbt4we3tZkBEptSgL2UfpHP9 b4trnfccQGlx1LWeDxBAuaa2FN6H/bTfiLw9aeSN8VIGuO2al1lekEkaF/w4pKbnAdot 4PDvEzZdOAQZIcfJ0N1m2IvNAvLpLsVxikEjZzFqfBpei9PiiF14mmDHk/WjSs4xldnn 5gMHZepUiir8RHIEYwY6yTrX+vWOm35m0qN6hIMihe8G98QwhBfJemF3iYGubE+oZ4k0 Xg2nrCKLTtvXyRYnSnSpaTD1bKiX/IVLaca6rMBV1GdPyGXmJdf0HpxhKcO6wU8fF65N gAqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:cc:references:to:subject; bh=r8CZKTtWB/WaTcoTLchwfFE+5Yo9xxB5KQp1EfqFDp4=; b=ES+x32EbmvyaApXtpwY5qBzdjiTecuI42RKZaIDJ3rpADSlu5CTqGP75/k5u5TRaK8 w4tVZBHhMwpOVcSOeFru0iDlCaDcjZnGy5fF716PWb7LwcVncvtcEdJOUVeONbpp/J7S RxwlIFko/QrmOf8WE/TFcerNwXwHV7TeGPd8kswcPdSzo/8OFtLsFVtE9Urn5inzYZgw 363NrRiTSmjaadJPdBWHKzQNJNY9oCZNHcYon3lcxuNqLzrg5FME9UlWLrxNdtW6i9wL 2zcmG1YPngomhjwxwTxTo97NsowzI1LA2gZo3hD5dYLoV1s7v3YH82WDy/liY8mqZ6oF KyXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l70si1921709pje.68.2019.06.14.03.18.58; Fri, 14 Jun 2019 03:19:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727451AbfFNKRK (ORCPT + 99 others); Fri, 14 Jun 2019 06:17:10 -0400 Received: from www262.sakura.ne.jp ([202.181.97.72]:51090 "EHLO www262.sakura.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726832AbfFNKRK (ORCPT ); Fri, 14 Jun 2019 06:17:10 -0400 Received: from fsav402.sakura.ne.jp (fsav402.sakura.ne.jp [133.242.250.101]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id x5EAGObb038267; Fri, 14 Jun 2019 19:16:24 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav402.sakura.ne.jp (F-Secure/fsigk_smtp/530/fsav402.sakura.ne.jp); Fri, 14 Jun 2019 19:16:24 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/530/fsav402.sakura.ne.jp) Received: from [192.168.1.8] (softbank126012062002.bbtec.net [126.12.62.2]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id x5EAGHsZ038230 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NO); Fri, 14 Jun 2019 19:16:24 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Subject: [PATCH] kexec: Bail out upon SIGKILL when allocating memory. To: Eric Biederman References: <000000000000a861f6058b2699e0@google.com> <000000000000c0103a058b2ba0ec@google.com> Cc: syzbot , linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com From: Tetsuo Handa Message-ID: <993c9185-d324-2640-d061-bed2dd18b1f7@I-love.SAKURA.ne.jp> Date: Fri, 14 Jun 2019 19:16:18 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <000000000000c0103a058b2ba0ec@google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org syzbot found that a thread can stall for minutes inside kexec_load() after that thread was killed by SIGKILL [1]. It turned out that the reproducer was trying to allocate 2408MB of memory using kimage_alloc_page() from kimage_load_normal_segment(). Let's check for SIGKILL before doing memory allocation. [1] https://syzkaller.appspot.com/bug?id=a0e3436829698d5824231251fad9d8e998f94f5e Signed-off-by: Tetsuo Handa Reported-by: syzbot --- kernel/kexec_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index fd5c95f..2b25d95 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -302,6 +302,8 @@ static struct page *kimage_alloc_pages(gfp_t gfp_mask, unsigned int order) { struct page *pages; + if (fatal_signal_pending(current)) + return NULL; pages = alloc_pages(gfp_mask & ~__GFP_ZERO, order); if (pages) { unsigned int count, i; -- 1.8.3.1