RE: [Revised PATCH v2] hv: kvp: Avoid reading past allocated blocks from KVP file

From: Haiyang Zhang
Date: Wed Nov 08 2017 - 09:22:07 EST




> -----Original Message-----
> From: Long Li [mailto:longli@xxxxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, November 1, 2017 2:45 PM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; Stephen Hemminger
> <sthemmin@xxxxxxxxxxxxx>; devel@xxxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: Paul Meyer <Paul.Meyer@xxxxxxxxxxxxx>; Long Li
> <longli@xxxxxxxxxxxxx>
> Subject: [Revised PATCH v2] hv: kvp: Avoid reading past allocated blocks
> from KVP file
>
> [This sender failed our fraud detection checks and may not be who they
> appear to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing]
>
> From: Paul Meyer <Paul.Meyer@xxxxxxxxxxxxx>
>
> While reading in more than one block (50) of KVP records, the allocation
> goes per block, but the reads used the total number of allocated records
> (without resetting the pointer/stream). This causes the records buffer to
> overrun when the refresh reads more than one block over the previous
> capacity (e.g. reading more than 100 KVP records whereas the in-memory
> database was empty before).
>
> Fix this by reading the correct number of KVP records from file each time.
>
> Changes since v1:
> 1. Properly wrapped comment texts.
> 2. Added the 2nd Signed-off-by.
>
> Signed-off-by: Paul Meyer <Paul.Meyer@xxxxxxxxxxxxx>
> Signed-off-by: Long Li <longli@xxxxxxxxxxxxx>

Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>