Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp866654ybl; Fri, 24 Jan 2020 11:00:12 -0800 (PST) X-Google-Smtp-Source: APXvYqwtfBZLuUmy+TUdW6lyUqRXMtsJ3knsZNM4jf56r4RXXJAWAZ6m9GVxXARNnlasm+KKbIcR X-Received: by 2002:a05:6830:154c:: with SMTP id l12mr3733141otp.275.1579892411893; Fri, 24 Jan 2020 11:00:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579892411; cv=none; d=google.com; s=arc-20160816; b=yD9VMtV38WLyyCDNTYuMUdKwyUaMqrBuJs/MaZmvA7VCMD9bot0iHdxYHAWWMey8Qs QQ4+Yp1lX6/uJFnuMotFqK96e8cGRbt+grI1k+ip7ItYvq7yHKc9zJjlb9WNwhwtm+en JyeE2Jzl8/HNfvT7TisJFAtdysSCEmb/JN2ZkAlQX66MAgEHpPfp6CDjijLAyd//+YgN al4PaAjvCNFWQLeRZhWZ8KeG3ujn9aIeIvdIQQhPEzlEJgimy7Xao3z0sruWG+Z8n6MV IdZrJeC7okR/7wLMvrni6vFiwcS4hUJBtom4f20V+KPJ+yjwTSs+BkPBsQeY6+sicuvd wu7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=jAdlKF2BGo/Z0zuYvD93rsfPtcBm/6rvlNImRbiMgyg=; b=gEPtUQzKSAe22xoKbQsoYevKfmw83aMhS41UyWhcGqKALqAPRi6rBa5AoZotIIHWyW UwfEhQrI1ymFeVtLO3tn3nGo3qg/iU2NKZ6eJMjm3Cd4ruxxf6yQ4weC4ZqTNJip8n7a m3mmZb/eCIMWBA72Xd0MTzyd7HIMAt8qcmsiNBQAT8ACq3dm0/IFBobvGLlb35BlG/Ut mYqer/OIVMAONiguzH5X9sVKCPIPsyr/UZ89JtZTigZQDSmxGrMvXZeEfAbG/IIHQevk nLozGW89q3cs3dJukdQ+reZkAHobb6XAAI2OPPE/1/IK5wVzfvS8tMN1WxKAh+2tOelQ p7jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BqcLyFuZ; 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 s64si175551oig.147.2020.01.24.10.59.59; Fri, 24 Jan 2020 11:00:11 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=BqcLyFuZ; 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 S2391898AbgAXLbh (ORCPT + 99 others); Fri, 24 Jan 2020 06:31:37 -0500 Received: from mail.kernel.org ([198.145.29.99]:49926 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391877AbgAXLbb (ORCPT ); Fri, 24 Jan 2020 06:31:31 -0500 Received: from localhost (ip-213-127-102-57.ip.prioritytelecom.net [213.127.102.57]) (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 7646820704; Fri, 24 Jan 2020 11:31:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579865491; bh=92U63fqsL33Tu72ET5z/ng5mQ73l+6C1Rl4zMKJnV0o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BqcLyFuZykiWAJzfyJoEpi7FvBw0UtjY9rVj8ThFvXfPdN6THNf+75easaslBBFdT ofbuuRXnZJejvO3rEdq/jHgTUqoIJt4rOK7yYz1s5zxN0bY0k+kqsXqqK9l5aEpz+0 N9gJIDxlGj8kH4+5xIpyBTvuks1lKPHUHJOzBJcM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jonathan Lemon , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Daniel Borkmann , Sasha Levin Subject: [PATCH 4.19 543/639] xsk: avoid store-tearing when assigning queues Date: Fri, 24 Jan 2020 10:31:53 +0100 Message-Id: <20200124093157.095033868@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200124093047.008739095@linuxfoundation.org> References: <20200124093047.008739095@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Björn Töpel [ Upstream commit 94a997637c5b562fa0ca44fca1d2cd02ec08236f ] Use WRITE_ONCE when doing the store of tx, rx, fq, and cq, to avoid potential store-tearing. These members are read outside of the control mutex in the mmap implementation. Acked-by: Jonathan Lemon Fixes: 37b076933a8e ("xsk: add missing write- and data-dependency barrier") Signed-off-by: Björn Töpel Signed-off-by: Daniel Borkmann Signed-off-by: Sasha Levin --- net/xdp/xsk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index c90854bc3048e..b580078f04d15 100644 --- a/net/xdp/xsk.c +++ b/net/xdp/xsk.c @@ -320,7 +320,7 @@ static int xsk_init_queue(u32 entries, struct xsk_queue **queue, /* Make sure queue is ready before it can be seen by others */ smp_wmb(); - *queue = q; + WRITE_ONCE(*queue, q); return 0; } -- 2.20.1