hyperv/vmbus: Only make sure the TX bufring will not be closed.

KVP can write data, whose size is > 1/2 TX bufring size.

MFC after:	1 week
Sponsored by:	Microsoft OSTC
Differential Revision:	https://reviews.freebsd.org/D7414
This commit is contained in:
Sepherosa Ziehau 2016-08-05 08:57:51 +00:00
parent f79bc17233
commit 6fd14eb940

View File

@ -74,8 +74,12 @@ struct sysctl_oid;
static __inline int
vmbus_txbr_maxpktsz(const struct vmbus_txbr *tbr)
{
/* 1/2 data size */
return (tbr->txbr_dsize / 2);
/*
* - 64 bits for the trailing start index (- sizeof(uint64_t)).
* - The rindex and windex can't be same (- 1). See
* the comment near vmbus_bufring.br_{r,w}index.
*/
return (tbr->txbr_dsize - sizeof(uint64_t) - 1);
}
void vmbus_br_sysctl_create(struct sysctl_ctx_list *ctx,