Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp845125pxb; Tue, 3 Nov 2020 14:13:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJPLuE/WROFJw3/+w0t1J/l5e43okqT/8IHRsYgJdZsCcjAjUPTJvRIakqsUaHW3/cEWbj X-Received: by 2002:a05:6402:a53:: with SMTP id bt19mr13494665edb.26.1604441593789; Tue, 03 Nov 2020 14:13:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604441593; cv=none; d=google.com; s=arc-20160816; b=nuOzTVwavcZDr+KhDNyWT1VtnyhIZcsUdE4UXke05TQJCycZi3Ld7jKJ/LBF0ltX4T oFMEmo0BtfTy9GEd3fJyKHi/ws2QLk54sONEC+zKhtk3mUL5nLdhAKa4/nkRaBUerNU2 T/GG5Rb4fCaAlpx8kBneMTMbMkHrtYjy+Dk18zUkMaEVWv/JY+ykszn/d23Kvabl8bxp ZY1URNfnEHVf3c4WmcB4t79J4BzO0uWt5OAuSBqttl55q6ikNdDbB8oyTFxwCn0kV3EH ci8QJa4b5xjS3xnkOcMgfEBAsAT+D94qRZTGa72QnRHD/C4OH7LuVEdghPukft+FbkKo xVHw== 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=BdWqIOjKwYGRODOaOYOWZGLQy0i7p2n6FAq6dgL/XaI=; b=Q9sFSv+QWHMec9G7YN+sD6ySOcX4muq3g1HH76KQWeVuD0jJgi8KYQ4sW0kd6HvlLB 4n0Ck3dH10y5hnv4hWKBTRImrEg7IM7WlZDI2xdvcBs8qj8krQwoa+iwxA+uup53IP4A Ig8F1zW3j7fXpXLDnt2UhZJXhedF9bTvkMhTkW61WFuZkT7y5ms7kGL34OFyuoyX2bwc fazVvPIZBWG7UBHRGhSD1JhWAh+eFjOKEkR7nyoW49r3T9qxGLYl1G3f1TTHOJc0Xogs JlRjvmAUhup8T2V1HY+wPTlMcHGCmWAsd4WVNaHnXyi7QnRiIHdoIV6kokjZARMq0fsQ sw5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hQS+z7Q9; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r12si64032ejr.690.2020.11.03.14.12.51; Tue, 03 Nov 2020 14:13:13 -0800 (PST) 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=@kernel.org header.s=default header.b=hQS+z7Q9; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729722AbgKCUhg (ORCPT + 99 others); Tue, 3 Nov 2020 15:37:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:47136 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729694AbgKCUhb (ORCPT ); Tue, 3 Nov 2020 15:37:31 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7D2462224E; Tue, 3 Nov 2020 20:37:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604435851; bh=lpBgQr9j7n6bKa74AE3ubt/kpkv/oSevDm/qOBrv0WM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hQS+z7Q9elvsfxWGG2ppSMdldvuPEShxbC1WKeeTZsu19WZm+IKyCwzJa/wthzID1 yxcFOMYkk0cmoxsCtWxoIegjOpN7MXxiqDLS1yfUBch11CgmQxWVq7+sAqsEWhk6FY GNeeJ25seEIPfj4vFYKM+w+qeGR/32k7EJ91L++I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Julien Grall , Juergen Gross , Stefano Stabellini , Jan Beulich , Wei Liu Subject: [PATCH 5.9 010/391] xen/events: switch user event channels to lateeoi model Date: Tue, 3 Nov 2020 21:31:01 +0100 Message-Id: <20201103203348.739076704@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@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: Juergen Gross commit c44b849cee8c3ac587da3b0980e01f77500d158c upstream. Instead of disabling the irq when an event is received and enabling it again when handled by the user process use the lateeoi model. This is part of XSA-332. Cc: stable@vger.kernel.org Reported-by: Julien Grall Signed-off-by: Juergen Gross Tested-by: Stefano Stabellini Reviewed-by: Stefano Stabellini Reviewed-by: Jan Beulich Reviewed-by: Wei Liu Signed-off-by: Greg Kroah-Hartman --- drivers/xen/evtchn.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/drivers/xen/evtchn.c +++ b/drivers/xen/evtchn.c @@ -167,7 +167,6 @@ static irqreturn_t evtchn_interrupt(int "Interrupt for port %u, but apparently not enabled; per-user %p\n", evtchn->port, u); - disable_irq_nosync(irq); evtchn->enabled = false; spin_lock(&u->ring_prod_lock); @@ -293,7 +292,7 @@ static ssize_t evtchn_write(struct file evtchn = find_evtchn(u, port); if (evtchn && !evtchn->enabled) { evtchn->enabled = true; - enable_irq(irq_from_evtchn(port)); + xen_irq_lateeoi(irq_from_evtchn(port), 0); } } @@ -393,8 +392,8 @@ static int evtchn_bind_to_user(struct pe if (rc < 0) goto err; - rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, 0, - u->name, evtchn); + rc = bind_evtchn_to_irqhandler_lateeoi(port, evtchn_interrupt, 0, + u->name, evtchn); if (rc < 0) goto err;