]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 6 Jul 2025 09:00:09 +0000 (11:00 +0200)
[ Upstream commit 0315fef2aff9f251ddef8a4b53db9187429c3553 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/uio/uio_hv_generic.c

index 031f6a8f1ebb2bda6ad0143757c7f0800562388a..17c1f85f2b7ba28b1602cdcc29da1178b87f04d2 100644 (file)
@@ -260,6 +260,9 @@ hv_uio_probe(struct hv_device *dev,
        if (!ring_size)
                ring_size = HV_RING_SIZE * PAGE_SIZE;
 
+       /* 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;