Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1833865imm; Mon, 3 Sep 2018 10:37:18 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYuJf7XElBFF/8kVbVsWVsfg9sCIEaKBDRTUKWIL3g/goQVxyzQmzNopXfscIOmFPnL6woh X-Received: by 2002:a63:d09:: with SMTP id c9-v6mr27728210pgl.314.1535996238099; Mon, 03 Sep 2018 10:37:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535996238; cv=none; d=google.com; s=arc-20160816; b=qmVl1aIyUfhbD2PxD/ihlu7pqXP3ZM9iUPLUDm99qAQG7ssqdAgCI0vj3mLrP1vLKo REai0ALZ8Mr7Pd3JBArmNQbcHVBvGZbqX7szjOyEZCqQZxb+QW6PsHXUISkY5T7P05kW Vp/YxBTFhKGcItU8KlRULnTIwhGwOXn+HmzFXQFKvISDlkKCbHQH0p/JsxI5is2CP0aC 4nPBO4J1Z60tDc4RgCbp5Cz5PAwksBfAGTNaam0g/pYeODqfpUY7KSGJHw50WfucqbhL K3npDj5EeguBddfeO/HRfhgswl7afZNA0Yy5SgXmIi4NBzGFPvwkzUMBvEy+GPsiJC3+ mUvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=y9NDfO0pWZT8AleD1z0OTwNCJP4KNmVUuqKuxhQQDwc=; b=Yjyo9WfN/wr4b2OvBthqktCMIBfYpTq4L5NPP1qz0bJodAHZl+fUeNjGJJdVD7Iois onNz3LH/aOx4VJPkDxYACt02+3OnlsHLqrHhKFunFdcA7XZQpsUeP2yknM7yUwsPSCGJ n9s12vyEJrOlY/jsp0sgjygDeDGe6KUsrHpgYymnJ3Padf5xrKZUdWcAWLpCkY5NOwp2 9UEzNsbACoCYOOnqdyICsilJTnnOW4JTzf4ndotVCWUoC0IfeeYJiAagg0V56Mbo0qd3 wkqH31Q0Qt2euvlrTH8Lm05335BmdSysm2DGFsXfbIhFfKXxRZDhfq376zyuGOFgj5Oy xphA== 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 k3-v6si18416911pld.6.2018.09.03.10.37.03; Mon, 03 Sep 2018 10:37:18 -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 S1731285AbeICV5I (ORCPT + 99 others); Mon, 3 Sep 2018 17:57:08 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:48062 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727035AbeICV5H (ORCPT ); Mon, 3 Sep 2018 17:57:07 -0400 Received: from localhost (ip-213-127-74-90.ip.prioritytelecom.net [213.127.74.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id A36D7D16; Mon, 3 Sep 2018 17:35:57 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Claudio Imbrenda , Martin Schwidefsky Subject: [PATCH 4.18 037/123] s390/kvm: fix deadlock when killed by oom Date: Mon, 3 Sep 2018 18:56:21 +0200 Message-Id: <20180903165721.052161510@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180903165719.499675257@linuxfoundation.org> References: <20180903165719.499675257@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Claudio Imbrenda commit 306d6c49ac9ded11114cb53b0925da52f2c2ada1 upstream. When the oom killer kills a userspace process in the page fault handler while in guest context, the fault handler fails to release the mm_sem if the FAULT_FLAG_RETRY_NOWAIT option is set. This leads to a deadlock when tearing down the mm when the process terminates. This bug can only happen when pfault is enabled, so only KVM clients are affected. The problem arises in the rare cases in which handle_mm_fault does not release the mm_sem. This patch fixes the issue by manually releasing the mm_sem when needed. Fixes: 24eb3a824c4f3 ("KVM: s390: Add FAULT_FLAG_RETRY_NOWAIT for guest fault") Cc: # 3.15+ Signed-off-by: Claudio Imbrenda Signed-off-by: Martin Schwidefsky Signed-off-by: Greg Kroah-Hartman --- arch/s390/mm/fault.c | 2 ++ 1 file changed, 2 insertions(+) --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -502,6 +502,8 @@ retry: /* No reason to continue if interrupted by SIGKILL. */ if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current)) { fault = VM_FAULT_SIGNAL; + if (flags & FAULT_FLAG_RETRY_NOWAIT) + goto out_up; goto out; } if (unlikely(fault & VM_FAULT_ERROR))