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 A84192FF178 for ; Tue, 30 Dec 2025 10:16:47 +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=1767089811; cv=none; b=JAqZ5E4hqwgB20Ce2fzWyH6AjWIGcElQqj2buLP7HeGtA5vm7yqEn4AnBpyjBR8+n9HqL1IGO/kdfIJmQ0/rWZ+R/Lhg5G0tHZtLoQQQ3qSyli2Y6ay2ThgmACPyAj+vXODnukHI2kndiHbYeYIOZbW07+pVVti1zNZCi3JJ/jE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767089811; c=relaxed/simple; bh=t25qf9RPlFFNCOYEONgor27ZqKrRgzzuNghNz/03y7E=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=oJ3fyHkkoTjoVFLTEq4Ft4NJms3dco93xgl9ddfWZ1hMN0DvpILwIqal5UgW4TJjShGhstJOLHJseoGj6cP2Hla8BiEO/Wxfzao2PFd1ozDUcsXv4iupXAHHH3dbRMFNFgxz4Kf3Eet04rsO/E4xu4+AIolWs6S/JylcWKILh2E= 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=Q9U2zEPU; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=ZO31RtaE; 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="Q9U2zEPU"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="ZO31RtaE" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1767089806; 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: in-reply-to:in-reply-to:references:references; bh=BWhPgbCVUCKqyPHyev/7ivEXEOB+Fryu/YrpJpGLduY=; b=Q9U2zEPULaDpd0Q+BpKJZ9l9z/5jLwEjJn6Co5+nq2V6LoT+u5KH6/zBGnNotw/ksCsB0v Cm/gvA7EkW5BMeTqDy29bDbhYLKK1Ui+KwuwVPAh0bQJXFDVe+ihQVTsktSjaRiGwU4hJz mZZ57GgkweUS9hsIvTLBnGZm+72sdrM= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-473-tJ1i4kqyPaSwOVx7x_JrRQ-1; Tue, 30 Dec 2025 05:16:43 -0500 X-MC-Unique: tJ1i4kqyPaSwOVx7x_JrRQ-1 X-Mimecast-MFC-AGG-ID: tJ1i4kqyPaSwOVx7x_JrRQ_1767089802 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-4325ddc5babso3764321f8f.0 for ; Tue, 30 Dec 2025 02:16:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1767089801; x=1767694601; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=BWhPgbCVUCKqyPHyev/7ivEXEOB+Fryu/YrpJpGLduY=; b=ZO31RtaEnbRwXI0pZvzk7MmrN6X1+J8FWRvLdtMprqkQxtlxzAaySEyLAPtuUG4ahV BBL2Cfzvzv5yMQ5FfEgrnrR1XMrzbiiLwHNSlU/RiA6N/JiLIVcUldUMPrE4veCkQEi/ cOypKUHHdU9cRHuejX32Es47rs1z5YqfnBSAkipXOGs7Rz3Kddf5iIA6ZDHCKVNbBKQx 7geuz1xOqix+CC4hB7szuvVNA2MOj6Z+CJe7yq5ya9yAiGvLFRYw05DzqI56EmKxcdmv g6umauV3bEm1g7SkR173wyFuK1+wh9H0DJzovyUrHoBeH31nGx6KsjzZaEcf12qsp+AX mWzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767089801; x=1767694601; h=in-reply-to: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=BWhPgbCVUCKqyPHyev/7ivEXEOB+Fryu/YrpJpGLduY=; b=w6TSXz13PHE/gESE2vJyyHn1QQj8gswXKoDyCNvEw5H323FwvPbSiwl8yvslN1sfEs 3KTYzmut530euRrNyaqfyL+9wo+S4XK7o5gwKCNj50DOMNnjKu6epvulwReYBHpO+smb hCdNeiF6bLCUo9AZ8gFd5DxbbAoqSjo0pandTBiNx4KMBiSdn/p6+ssa4s1htfvcAAcn srAiNEfYyZ4g90W85OA+4jos7p+HtDD9bpJe7UBlrz+Az+dF9rauNeK73go/yjcYB8QY /1jo3+0Z75x5AfuxD8XQnoh+bL6++6RtfNyfNz2hT+yg7zwK4CFBvf/YTgRRy0lOh7XI qMoA== X-Gm-Message-State: AOJu0Yy6BoXC3teCWzk8jZtubH7KF0pSdmFRYs7XbuNCJJh5PFAglB5E RoOt+eUsltHiQGtbEtKm4f/pjH2LSCV1RnPKA4RrYOAQHhAg0lJG38nd1Rq6MeZIdClu8SkJamL Hgq2Y7CSlNJNp6bi15TPUg4KMH9cv4C5zWBxgHJTbK/h2ZQp64ECdCpdjIHatjw/QdKNLigtP/k BRziD+27nlJL+3OwrkThBQ27WZ7DNTHkvmUjLDaQb4gI4= X-Gm-Gg: AY/fxX7mWkEkjl8RMONzRZ6RIETUDDKEQs3OygN0A0JeO7EE8MUoJv7986g+Y75eEos iTNmn8eOTq4Xch64UzyzRUJ75UbqHJtp/JJ/nGcazOVPXXlPQrcL13hwq9h1+T7MzcY9JYa6/55 vgVOEhXhy9gINfuJwj0avvLHQbMc0V4PCMLfYII/d8acpBUT1AjzsFjtaqTzS/+df/6rHAVjTLa hVGrGcZYlCWj/+ogFzNLmcqYuxM6UuhyfsH4y74gNV6WHRSvtNBVPClWP2cKFf2RKXcsneBLCHh /MDDR7LEa3BHwHMGQsGaGIo+Ki/eqS+Ai9xz8ZGJ8a2qVj8EUpwVvvGKyaEcD6OUJr/MaM7Soey G+csn+G3bbbblFhujBlUMXVn75bv/CHt9Dw== X-Received: by 2002:a05:600c:a413:b0:46e:53cb:9e7f with SMTP id 5b1f17b1804b1-47d1cec8f39mr297842365e9.18.1767089801560; Tue, 30 Dec 2025 02:16:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IEf8BCC/QkGwDEfP5RddRZimNY2rmw3JwKmzFqtMOWIF8UhfXRlD/gfjFTVaD3LdsD6J0zJDw== X-Received: by 2002:a05:600c:a413:b0:46e:53cb:9e7f with SMTP id 5b1f17b1804b1-47d1cec8f39mr297841845e9.18.1767089800959; Tue, 30 Dec 2025 02:16:40 -0800 (PST) Received: from redhat.com (IGLD-80-230-31-118.inter.net.il. [80.230.31.118]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be279c5f8sm610553745e9.9.2025.12.30.02.16.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 02:16:40 -0800 (PST) Date: Tue, 30 Dec 2025 05:16:37 -0500 From: "Michael S. Tsirkin" To: linux-kernel@vger.kernel.org Cc: Cong Wang , Jonathan Corbet , Olivia Mackall , Herbert Xu , Jason Wang , Paolo Bonzini , Stefan Hajnoczi , Eugenio =?utf-8?B?UMOpcmV6?= , "James E.J. Bottomley" , "Martin K. Petersen" , Gerd Hoffmann , Xuan Zhuo , Marek Szyprowski , Robin Murphy , Stefano Garzarella , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Petr Tesarik , Leon Romanovsky , Jason Gunthorpe , linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, virtualization@lists.linux.dev, linux-scsi@vger.kernel.org, iommu@lists.linux.dev, kvm@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH RFC 11/13] virtio-rng: fix DMA cacheline alignment for data buffer Message-ID: References: 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=us-ascii Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Add __dma_from_device_aligned_begin annotation before the data buffer in struct virtrng_info to ensure proper cacheline alignment on non-cache-coherent platforms. The data buffer is used for DMA_FROM_DEVICE via virtqueue_add_inbuf() and is adjacent to CPU-written fields (data_avail, data_idx). Without proper alignment, the device writing to the DMA buffer and the CPU writing to adjacent fields could corrupt each other's data on platforms where DMA cache maintenance is at cacheline granularity. Signed-off-by: Michael S. Tsirkin --- drivers/char/hw_random/virtio-rng.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c index dd998f4fe4f2..fb3c57bee3b1 100644 --- a/drivers/char/hw_random/virtio-rng.c +++ b/drivers/char/hw_random/virtio-rng.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -28,6 +29,7 @@ struct virtrng_info { unsigned int data_avail; unsigned int data_idx; /* minimal size returned by rng_buffer_size() */ + __dma_from_device_aligned_begin #if SMP_CACHE_BYTES < 32 u8 data[32]; #else -- MST