From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Sent: Wednesday, August 25, 2021 6:39 AM > > Commit adae1e931acd ("Drivers: hv: vmbus: Copy packets sent by Hyper-V out > of the ring buffer") introduced a notion of maximum packet size and for > KVM and FCOPY drivers set it to the length of the receive buffer. VSS > driver wasn't updated, this means that the maximum packet size is now > VMBUS_DEFAULT_MAX_PKT_SIZE (4k). Apparently, this is not enough. I'm > observing a packet of 6304 bytes which is being truncated to 4096. When > VSS driver tries to read next packet from ring buffer it starts from the > wrong offset and receives garbage. > > Set the maximum packet size to 'HV_HYP_PAGE_SIZE * 2' in VSS driver. This > matches the length of the receive buffer and is in line with other utils > drivers. > > Fixes: adae1e931acd ("Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer") > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > --- > drivers/hv/hv_snapshot.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c > index 2267bd4c3472..6018b9d1b1fb 100644 > --- a/drivers/hv/hv_snapshot.c > +++ b/drivers/hv/hv_snapshot.c > @@ -375,6 +375,7 @@ hv_vss_init(struct hv_util_service *srv) > } > recv_buffer = srv->recv_buffer; > vss_transaction.recv_channel = srv->channel; > + vss_transaction.recv_channel->max_pkt_size = HV_HYP_PAGE_SIZE * 2; > > /* > * When this driver loads, the user level daemon that > -- > 2.31.1 Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>