summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorMichael Kelley <mhklinux@outlook.com>2024-01-22 09:09:56 -0800
committerMartin K. Petersen <martin.petersen@oracle.com>2024-01-23 21:27:28 -0500
commitf4469f3858352ad1197434557150b1f7086762a0 (patch)
tree08e344d1241bcecc22012be3e702f350803ee8a8 /security
parent4373534a9850627a2695317944898eb1283a2db0 (diff)
scsi: storvsc: Fix ring buffer size calculation
Current code uses the specified ring buffer size (either the default of 128 Kbytes or a module parameter specified value) to encompass the one page ring buffer header plus the actual ring itself. When the page size is 4K, carving off one page for the header isn't significant. But when the page size is 64K on ARM64, only half of the default 128 Kbytes is left for the actual ring. While this doesn't break anything, the smaller ring size could be a performance bottleneck. Fix this by applying the VMBUS_RING_SIZE macro to the specified ring buffer size. This macro adds a page for the header, and rounds up the size to a page boundary, using the page size for which the kernel is built. Use this new size for subsequent ring buffer calculations. For example, on ARM64 with 64K page size and the default ring size, this results in the actual ring being 128 Kbytes, which is intended. Cc: stable@vger.kernel.org # 5.15.x Signed-off-by: Michael Kelley <mhklinux@outlook.com> Link: https://lore.kernel.org/r/20240122170956.496436-1-mhklinux@outlook.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions