Received: by 2002:a05:6622:f08:0:0:0:0 with SMTP id l8csp4478725ivc; Tue, 3 Nov 2020 13:05:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJyiH36tGF5J44Ta1+SOblJgcT5WzVHl62lVcfWb86B+La4JURo9Z9qR3tsbi3VIUJEwWhyM X-Received: by 2002:a17:906:1804:: with SMTP id v4mr22455461eje.201.1604437538778; Tue, 03 Nov 2020 13:05:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604437538; cv=none; d=google.com; s=arc-20160816; b=x0shkM7GMhOW7mEEP7Xrc7X+AOWtJ3dO0p2jj+roFbmNSmYFm7yt9tq06V3ZPc89KU cgOUYsXw8ywzHu+n+qxeZ5O8z11kjrM39tuJKOAuXRzm40m+mOgwnma3oVma+DvK87dg KdDuZymFAXCGNKRn3oHEK3BzRs6vpjXGtG27WG0S8f4HiK2mi6RJjhcOZEdlBaHPd8Dr w5KVGmfjZJlrfY2JjyaVXZh4M5GdLjlJuiY+gv6yyX4clTtR1Y3o+j5Y9BEoFfb7/qND MDZ5ZzLnJm0Bz2jr/850bZlYfNzoe8neWCwt1McP2ahvl6FbvMwSv4ZSJUAqHaljnLi0 73eg== 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=8HnJMDfAuibx+73D2hPuR6C5aBx0xNSOJiQOoVqSuP4=; b=WErO6q39LwrksrSDTHOAMIwLjzJ4iK/LZ1jn45oF3sx//98ny/2fdU1OG23kjjBby1 ZmGq9k1wqSEbnnsU4zQMLYpQGMaCCumTcqVADCxtxRlnw0tHbol8WIDlet4UEXTdgQxW v3SxJcxKXSSNB90BIKChlEWN5Q1L4OEIvVid5BlbEq1GAaGFg0FI6XzyWi2PDklJQUmf Y90hfazdyj+ivFsRdiskVhggUMyZXZpk1qN5CnVngQozM9m7rbXc8lw83t/MVRuncHkD vKfJxQjPAV8gdGntS+SDickFwOfceWfIOy2IiN7xj6TLx8Rsa+6+3O3+50BRe/CJU0Cs vFIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ftB9kqIN; 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 dd12si1136445edb.382.2020.11.03.13.05.14; Tue, 03 Nov 2020 13:05:38 -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=ftB9kqIN; 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 S2387656AbgKCVCe (ORCPT + 99 others); Tue, 3 Nov 2020 16:02:34 -0500 Received: from mail.kernel.org ([198.145.29.99]:39618 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732167AbgKCVCd (ORCPT ); Tue, 3 Nov 2020 16:02:33 -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 034C620757; Tue, 3 Nov 2020 21:02:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604437351; bh=nOGdb9uR5h52LS2DyYbrmfF9dn0bqiJYyKU3d5omfJA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ftB9kqINNEFuSz6HzPoH4MB9OsOmUl2mOqKVirs5KBBNyukzYDFszwS3yuXroxw6w gee6WOP5pdIjctqHcVswvzXIVtRw2yeId+NRFD1gpGxk+SP/hPsSwqOqK3ptuGzTQB aPWeyEKrbsdwFL8rJgfzF0G1snTggPc0Ps6Ydb6k= 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 4.19 038/191] xen/events: add a proper barrier to 2-level uevent unmasking Date: Tue, 3 Nov 2020 21:35:30 +0100 Message-Id: <20201103203237.653154050@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203232.656475008@linuxfoundation.org> References: <20201103203232.656475008@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(unsigned po BUG_ON(!irqs_disabled()); + smp_wmb(); /* All writes before unmask must be visible. */ + if (unlikely((cpu != cpu_from_evtchn(port)))) do_hypercall = 1; else {