]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
uio_hv_generic: Align ring size to system page
authorLong Li <longli@microsoft.com>
Tue, 6 May 2025 00:56:35 +0000 (17:56 -0700)
committerWei Liu <wei.liu@kernel.org>
Fri, 23 May 2025 16:30:56 +0000 (16:30 +0000)
Following the ring header, the ring data should align to system page
boundary. Adjust the size if necessary.

Cc: stable@vger.kernel.org
Fixes: 95096f2fbd10 ("uio-hv-generic: new userspace i/o driver for VMBus")
Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Link: https://lore.kernel.org/r/1746492997-4599-4-git-send-email-longli@linuxonhyperv.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <1746492997-4599-4-git-send-email-longli@linuxonhyperv.com>

drivers/uio/uio_hv_generic.c

index cc3a350dbbd588448810adcec04fe22b6dec2b7d..aac67a4413cea9026e36de5bf774972fb7846ae6 100644 (file)
@@ -243,6 +243,9 @@ hv_uio_probe(struct hv_device *dev,
        if (!ring_size)
                ring_size = SZ_2M;
 
+       /* Adjust ring size if necessary to have it page aligned */
+       ring_size = VMBUS_RING_SIZE(ring_size);
+
        pdata = devm_kzalloc(&dev->device, sizeof(*pdata), GFP_KERNEL);
        if (!pdata)
                return -ENOMEM;