Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1619412pxb; Mon, 11 Oct 2021 09:36:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyEpNn/MHj3Bc6k19gnOJZHxmvGvuUCnCcgbHCDBEQY7d3u7sckqNMLDABw8EXRFCn8XWVw X-Received: by 2002:a17:902:9a49:b0:13a:430d:7e8b with SMTP id x9-20020a1709029a4900b0013a430d7e8bmr25560246plv.50.1633970183112; Mon, 11 Oct 2021 09:36:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633970183; cv=none; d=google.com; s=arc-20160816; b=vKxNDlhAMs2fDkhimOLME7XmwhLComaOSYxYNAt6d/uT6OFe6DMBUNYi+n3ONOxAAT Gw6xeBovDKPMm4NucBZQiKCyPbMYpB9xrI+RkrkH3P6fYWeH+zmTrDS4DaFApycnm3SY FFKqPm7d2/G1AMRG69sxIbWtJMiWsJlLwMr/SAPuZVYCFPOHv7Dpbz/gM+XvfY/0YXa2 bPMSvMkY9FkKm4L7567n6ZvGi8RsUf4Vf8mFoGDuM7LqAIfZE1nzoSB4XLHQMARbBoF4 7/wHOYhl4LP0n5K4LNp2MpH5fRnyzC9RwcXgK0lIb5xUbbt5KE8Ed0s3Vd7ariW6YTVN 24Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=kSqVR8pdt1fKE4MQGqQMYJKuV5QPhWN9j71hkF6JdEI=; b=NnHbhobJIEPv0LFVoYOcZsNMKvuqhYB0bFKD/WamPMQ05jUN0L3zIOb9UF4e+P9LyU vRxAgRTioAecwpJCxEv8aQ/lUDtt911ec+gRCNcPuaSrzti+AdsuetdtylSeWga+iwWH rQnPof4asEZbfMRDNovDNkaS1/SR7JoSzZ/y7qPaG3qHhg0X0Qi5n6kPiOHpp9MtAhn1 i+Hiyc0IhJYHCvC/Js1+kUk4aTo21K89xruz5fy0BCvri9QncfRIzpGuwM48ix0YiIik xDx2GmBBWx5uAwcQ9iLkdQfjbbPpk8bzNKUURwc8iEFq0PI+2r32VHnmODmJwLoVnBVs t8ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Nh4TKp5s; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q1si11267465plb.224.2021.10.11.09.36.10; Mon, 11 Oct 2021 09:36:23 -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=pass header.i=@linuxfoundation.org header.s=korg header.b=Nh4TKp5s; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241144AbhJKONK (ORCPT + 99 others); Mon, 11 Oct 2021 10:13:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:33474 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239037AbhJKOKh (ORCPT ); Mon, 11 Oct 2021 10:10:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 02DE861242; Mon, 11 Oct 2021 14:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1633960956; bh=AtWiOHeQ012tHq8/WI5vUoHmXSvGvCmXLjuAH8rua/k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Nh4TKp5syYufvFhn0P0JMDjl54j1f2ty/onY75edVg0U/XcTGCDJTkGL0njsrsN1O qCt7/Znmcy+cq7k2rZf9pzta6HmeVly5LBJYWpd9mymGUKJwJQILWezJBOWpRuEYt9 MvVDL+xa44f4HzQBJ/0OL77uo4YGpiAqLI1SFcdE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tong Tiangen , Kefeng Wang , Palmer Dabbelt , Sasha Levin Subject: [PATCH 5.14 125/151] riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for write killable Date: Mon, 11 Oct 2021 15:46:37 +0200 Message-Id: <20211011134521.849236924@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211011134517.833565002@linuxfoundation.org> References: <20211011134517.833565002@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tong Tiangen [ Upstream commit 8bb0ab3ae7a4dbe6cf32deb830cf2bdbf5736867 ] riscv architectures relying on mmap_sem for write in their arch_setup_additional_pages. If the waiting task gets killed by the oom killer it would block oom_reaper from asynchronous address space reclaim and reduce the chances of timely OOM resolving. Wait for the lock in the killable mode and return with EINTR if the task got killed while waiting. Signed-off-by: Tong Tiangen Reviewed-by: Kefeng Wang Fixes: 76d2a0493a17 ("RISC-V: Init and Halt Code") Signed-off-by: Palmer Dabbelt Signed-off-by: Sasha Levin --- arch/riscv/kernel/vdso.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kernel/vdso.c b/arch/riscv/kernel/vdso.c index e7bd92d8749b..b70956d80408 100644 --- a/arch/riscv/kernel/vdso.c +++ b/arch/riscv/kernel/vdso.c @@ -77,7 +77,9 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, vdso_len = (vdso_pages + VVAR_NR_PAGES) << PAGE_SHIFT; - mmap_write_lock(mm); + if (mmap_write_lock_killable(mm)) + return -EINTR; + vdso_base = get_unmapped_area(NULL, 0, vdso_len, 0, 0); if (IS_ERR_VALUE(vdso_base)) { ret = vdso_base; -- 2.33.0