From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F06F2DAFDF for ; Fri, 30 Jan 2026 07:42:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769758934; cv=none; b=Q9Da8toS02FYF8gbej3aOaQIXNgOlj373bvkDo2cdFYBFLZOmZQ38fXu1J4Jieqn6PGXoCZC3qHAaR/NlswrPGC3B8irCf3yh7oKD/2pUCWw/mDSPdUHJ2BeOqhGriLVHMmIQyrKhM6N26/na2jIYeJEc1Hua/X8M4LzjBDvP/g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769758934; c=relaxed/simple; bh=UXTdlt1wI24qvqQsO+1DtbYd2cStysl45AaASSMaipE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZIaBqinlDLLAH+hnOdrcFnRm7XdZbc9upzl099rVRlS+ZOBdsYP5GEuH2v9HIlLm+rJVgrPL2sxtCB4GO66jFVmCPmvgmFjpBtnwDogrPmrcAT3agfGGnTYLgyY146ryb84xskpY/G5msN5lHzsa6IK2q/X4nyUYI/4+3DJxuPw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=LPV9Xwxw; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=Hkc8JCME; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="LPV9Xwxw"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="Hkc8JCME" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1769758931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l13seWwAdAZQPIaHiLynfs2twMZr5h3vDo6Uupa88F4=; b=LPV9XwxwtXOoEw1A5CSgPL9woFQ4NVVDLd/Te2TqDLMAnffsXAipa5FA0sdUK2TFciBYef B7ZQEyg6ft/KKbkxe03nAoz90yB6ByjjbuVa5xVgkVfeW2u4zqFwrtIat+OZUKzMez7vZR VZWMZvVUogman/+oxo2YPtS4gTP4DlE= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-483-6E_DF7O0NJK2QT1P32T1CQ-1; Fri, 30 Jan 2026 02:42:10 -0500 X-MC-Unique: 6E_DF7O0NJK2QT1P32T1CQ-1 X-Mimecast-MFC-AGG-ID: 6E_DF7O0NJK2QT1P32T1CQ_1769758929 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-47d4029340aso33072005e9.3 for ; Thu, 29 Jan 2026 23:42:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1769758929; x=1770363729; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=l13seWwAdAZQPIaHiLynfs2twMZr5h3vDo6Uupa88F4=; b=Hkc8JCMExGDkOyqLMK3aMvaxXT+j0sEvA6KUl8fewnaIztQAHUH+Qza7pVLij9TyHp 22Z/0loLmIrAlFgr1Asy5s8lD1X3SA0ug6YuG5Vhc1HLjqyWaynduI+PdMXA2bio0tpW qv7a9JLOLy0m6dCMipfZJ9A77ZfmKN/s7ZNfdYjf56fLtTe4ZJ1/sWxIDcswYh3mRu/z MieIqRim7mqsiAgB78zhPxFSqEbPXTV5JbAU679lOh2tVzFvkiSmG1v3OlFD4i32/FW3 3CuH0Xjsu/ktLFuj0Wki1Wke3vs7WAVg/dd6Ctq07hDRPGZq/lxD3cA2NeBUPAefF3gc uZ4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769758929; x=1770363729; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=l13seWwAdAZQPIaHiLynfs2twMZr5h3vDo6Uupa88F4=; b=OeGH2dfZLEr3u4qaGGYSERpqT6oowhWoya2IKhRyJzP4s1ULmCORSWxxDv7kXw0dE5 hSa2bgxK51T9R6UMdOlP6Q0EyAfZLFdMbnC0EdHcaHDeCr8RY9WGuu/5YLK1jd7COdcI 2tjCWCYYLuSnIr8dh09eU183oKPYaQ/hxMNJZ1T0jMlxgM73V8UrDLS7NwyEvVO2Q9l+ NQG1k13uGyGd0W/5FqKrpiooedz0KyzJS7V6gHIeByrdtieNIp4hE2sScgwhDEXhCXTo emI8W9wbKLh2Kku2PXgyfRWls0rSqaUEi2oer8vtPECC+fLSxG8wyvjx5o61KlwgMJhZ io2g== X-Forwarded-Encrypted: i=1; AJvYcCUwpKZuEfoHyoTGJ7N7CHj9rrWjkVRONGEYDAB4/EpyawxvU+vYwFLqqg6Yeh4giyhbiesdET16D6ZcFlk=@vger.kernel.org X-Gm-Message-State: AOJu0YzuLlNHtsepNLZEVRf7Klbm5lspFuaYFGuY6dOdb2qE/sTFHdpI 3UNTJJXtPta85ATvga5pA6g1UIwrHAsbcsQf1/N55dH4n/iBJRnWJ571d3J3atxKDMm3ZKTWo/U 6Np1FZftJyOwRs/zpJmFnaEt3vHFe5ppoC8ipDHRbykrw0iSzGDqKGgwfIluKEDBTTQ== X-Gm-Gg: AZuq6aJuAwtjCdROo7lAaAyo1pf3fIeW+uXU3COpuJuTyIudMoJhWrcuJ1i/fDu0Tvx SS9pQO9I8TkBYLmtwQLDkgsTEn2pt1Kyk83lr+p6FI/PjABiyTpopQBaHdEfrx1gRL6QTUad+55 Dp3qaRo4I5iIHC4NO7h1MUn9cRh7pUs6ZRjVodLPFLaDrkW1tt0lb1Js7p4dZXW36rLLBvTqqES 24+BCgafn3b1a4lzxWpsbJjy34WiUdauiJAJgHrC9anUgpUqgeqJV0O4Df+vfTr5tm8JkldZPo3 iL5tJVQpsnB1rjDzleCb45Hs3Fxan2Dua9FoINIRUwQ0rdtrZNkGqdziMsmXIRsVvLqNASN7tUx qEyHe4YWrWeMsAFofI1AjPp67mw9DzyLTgA== X-Received: by 2002:a05:600c:8b31:b0:480:1dc6:269c with SMTP id 5b1f17b1804b1-482db49e6demr18609765e9.37.1769758928794; Thu, 29 Jan 2026 23:42:08 -0800 (PST) X-Received: by 2002:a05:600c:8b31:b0:480:1dc6:269c with SMTP id 5b1f17b1804b1-482db49e6demr18609505e9.37.1769758928331; Thu, 29 Jan 2026 23:42:08 -0800 (PST) Received: from redhat.com (IGLD-80-230-34-155.inter.net.il. [80.230.34.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48066c37420sm260871765e9.9.2026.01.29.23.42.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jan 2026 23:42:07 -0800 (PST) Date: Fri, 30 Jan 2026 02:42:05 -0500 From: "Michael S. Tsirkin" To: Jason Wang Cc: Johannes Thumshirn , Alexander Graf , Xuan Zhuo , Eugenio =?iso-8859-1?Q?P=E9rez?= , "open list:VIRTIO CORE" , open list Subject: Re: [PATCH v2] virtio_ring: Add READ_ONCE annotations for device-writable fields Message-ID: <20260130024139-mutt-send-email-mst@kernel.org> References: <20260129121604.745681-1-johannes.thumshirn@wdc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Fri, Jan 30, 2026 at 10:03:23AM +0800, Jason Wang wrote: > On Thu, Jan 29, 2026 at 8:16 PM Johannes Thumshirn > wrote: > > > > From: Alexander Graf > > > > KCSAN reports data races when accessing virtio ring fields that are > > concurrently written by the device (host). These are legitimate > > concurrent accesses where the CPU reads fields that the device updates > > via DMA-like mechanisms. > > Technically, the device can write to the descriptor ring as well, do > we need to care about this case or not? Why would we? > > > > Add accessor functions that use READ_ONCE() to properly annotate these > > device-writable fields and prevent compiler optimizations that could in > > theory break the code. This also serves as documentation showing which > > fields are shared with the device. > > > > The affected fields are: > > - Split ring: used->idx, used->ring[].id, used->ring[].len > > - Packed ring: desc[].flags, desc[].id, desc[].len > > > > Signed-off-by: Alexander Graf > > [jth: Add READ_ONCE in virtqueue_kick_prepare_split ] > > Co-developed-by: Johannes Thumshirn > > Signed-off-by: Johannes Thumshirn > > > > Thanks