Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp845042pxb; Tue, 3 Nov 2020 14:13:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJzN34Vbc9xJ+uk0NmGfrbNlJb6G5ea4yhIXrxt81SCsh0DGXAX8Tp035WP+q+JkJec5Zb74 X-Received: by 2002:a17:906:66d2:: with SMTP id k18mr21401222ejp.113.1604441584019; Tue, 03 Nov 2020 14:13:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604441584; cv=none; d=google.com; s=arc-20160816; b=ZSq3nXbdGf/RGE5zFfKyeZ+QY8WEh71QpVW5iUpbX1ySOf6DE4/2tLiBBMlEhV+GeT i/VHwRQjYc+bWgSyLYDkbGWu2OJlI3Czjsed8qeJ0kgNAB0Gw3PGXWxd6WwTi0EK9YnJ l6xx8rr1hGcOX89qRCX7zkcrKHlhtI/ei35BsmFPmo5aHIWlxvY0FXjY+hdlye2qJDz3 3p4qijG48NWtcY5kmJK7T3a91lsGxCOEK8VUvnWRPgyFERhLwbQocp+eQ9XmcBVll0/q q+5We2Bg4VGZ4oMAP30cLRwWZXrl4okNY7WWhncWlLq9myz+ApUq1X7PU7XIn0a5JqQp LCAQ== 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=Inyw1DYrhXN1rdov8L1jDqCMN3gNdQIjfmoiaJ7tziU=; b=c8HgQnp5QxW9G3RfO3SN/hh4JPKwBC5Exs5vgEOuxjhY4WrG4/mOcKMrlR+O7n/TqE r+4nyTt+MZLIXSjSicL/YFW3TSE89W+p46xXlU4mbQeBpe0EWf4lDOmO+qkssR+k5Jm2 6UQCSi345hQgXaGrkKDsUHcW/rql+dxWErzSYetz0pMq5kftSrLqKb5Pqxa3dFkWcqOD obo12jti32Aas1qGky8QmcTcoI9SkLdhalsS2O6hiSVBITd4OV7uRo9ffjYpab66T7Y/ EbrK8Q6oHv5FgfxUyERdRV2Q0NX1fVrC7s1jIop0sa9di15eLVwaiemKGarZmNzCuaHe lG5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="lzEU/fBy"; 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 v17si131475ejr.127.2020.11.03.14.12.40; Tue, 03 Nov 2020 14:13:04 -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="lzEU/fBy"; 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 S1730236AbgKCWKT (ORCPT + 99 others); Tue, 3 Nov 2020 17:10:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:47410 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729799AbgKCUho (ORCPT ); Tue, 3 Nov 2020 15:37:44 -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 37AB8223AB; Tue, 3 Nov 2020 20:37:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604435862; bh=aJlYSdk1Jt8bY3ZioFvqUerhdlA1snR2dbKgWVoz78M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lzEU/fBynSzYEnzCNRTdVoiQ1A5b45ek09baeBXE3hh9CtAzBuUKg0qzKbNAHjGWo ZFeaKc6pJ80Q/mG4Zt7CGddjhTKvXnT2UDPYmql16BceN4MEm3ektyJOa61Dh+0lrm +CrOLHvO1dWve/0Lph/ST+1h238k6ycmXZZlwiM0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Julien Grall , Juergen Gross , Julien Grall , Wei Liu Subject: [PATCH 5.9 002/391] xen/events: add a proper barrier to 2-level uevent unmasking Date: Tue, 3 Nov 2020 21:30:53 +0100 Message-Id: <20201103203348.310892907@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 4d3fe31bd993ef504350989786858aefdb877daa upstream. A follow-up patch will require certain write to happen before an event channel is unmasked. While the memory barrier is not strictly necessary for all the callers, the main one will need it. In order to avoid an extra memory barrier when using fifo event channels, mandate evtchn_unmask() to provide write ordering. The 2-level event handling unmask operation is missing an appropriate barrier, so add it. Fifo event channels are fine in this regard due to using sync_cmpxchg(). This is part of XSA-332. Cc: stable@vger.kernel.org Suggested-by: Julien Grall Signed-off-by: Juergen Gross Reviewed-by: Julien Grall Reviewed-by: Wei Liu Signed-off-by: Greg Kroah-Hartman --- drivers/xen/events/events_2l.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/xen/events/events_2l.c +++ b/drivers/xen/events/events_2l.c @@ -91,6 +91,8 @@ static void evtchn_2l_unmask(evtchn_port BUG_ON(!irqs_disabled()); + smp_wmb(); /* All writes before unmask must be visible. */ + if (unlikely((cpu != cpu_from_evtchn(port)))) do_hypercall = 1; else {