Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1811214imm; Mon, 3 Sep 2018 10:03:09 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZP2AOOajPBf8oVRcr2rc27fF6mv8cT9HE1RI6hi/hjI1XkNsVY14xrwmzgKp4oUgIPaIe1 X-Received: by 2002:a62:571b:: with SMTP id l27-v6mr30442140pfb.29.1535994189625; Mon, 03 Sep 2018 10:03:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535994189; cv=none; d=google.com; s=arc-20160816; b=JaecTV1VRUQVkVMS6C52yCj6VRS2oxJ4mJz+RMMODbTQrvEdlAcCkx2y+crK+bkWk0 yVtHxu9WYR4aUnd4lZuicvJY4jVhsazkI3PW1odP/QRqiq1CC4fiEPgnsemAMNSAP0LG vo9Qk1hSlmNrpkMmdx3Ew3GezbrXw1KFjed8voGEf+ke0JKX8UfcydyyYI3a8vSpStvy pWVpUV1SY6CBRSlnzQNA14KzoTZ1CSRf26jrO4fiI4GrmHlunZteIAqAHRktJOeNkrH5 Lj+Q0W916pAIlH3ZVjkxppsS1cZ5RG5pGe+rOG8NrmReFZjA22gu1iIegynapx0YtFkE iZ9w== 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=3K6iEuXAl8rJnTJq4jAcoS/Pt94agvdfRC6l/lJWEIs=; b=jtYYMUFKzH+vysb3ypokemZnUcUWaSmSJhC5iGhdSEYm2NPBkeOAdA2j4xmBbs1ElL FRd2cituOYmLTkYnRrN70E3caXDpsoMy94mlipCFPOzdWJ2p7KuVJ8wuW7GwxQPnhF3z C1fYRveE/HCIr6W4zpzp47kuJhzu/i/AQZwot+ulxX2rR80uBXfiCdJN/fe+cZ+dKLPB qJKNK0rvIAtASFuIJiO87ltNNmQVKPZspRbFkHnKMH7xZ/LQ9rDLY6uoiu1VJmForwdA +zSSFTxSOFo+jPbMneazr7jSkSU7ZziaHMqMlTkWtp6OvwWK2ESiO+AU6ndYODM0qYX2 Llog== 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 3-v6si19602319plu.65.2018.09.03.10.02.54; Mon, 03 Sep 2018 10:03:09 -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 S1728227AbeICVVZ (ORCPT + 99 others); Mon, 3 Sep 2018 17:21:25 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:38526 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727762AbeICVVZ (ORCPT ); Mon, 3 Sep 2018 17:21:25 -0400 Received: from localhost (ip-213-127-74-90.ip.prioritytelecom.net [213.127.74.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id D691ACFB; Mon, 3 Sep 2018 17:00:25 +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.4 46/80] s390/kvm: fix deadlock when killed by oom Date: Mon, 3 Sep 2018 18:49:24 +0200 Message-Id: <20180903164935.996392471@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180903164934.171677301@linuxfoundation.org> References: <20180903164934.171677301@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.4-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 @@ -459,6 +459,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))