When guest is booting (or any othertime guest is busy) it is possible
for the small receive ring (256) to get full. If this happens the
vhost library should just return normally. It's current behavior
of logging just creates massive log spew/overflow which could even
act as a DoS attack against host.
Reported-by: Nathan Law <nlaw@brocade.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
do {
avail_idx = *((volatile uint16_t *)&vq->avail->idx);
do {
avail_idx = *((volatile uint16_t *)&vq->avail->idx);
- if (unlikely(res_cur_idx == avail_idx)) {
- LOG_DEBUG(VHOST_DATA,
- "(%"PRIu64") Failed "
- "to get enough desc from "
- "vring\n",
- dev->device_fh);
+ if (unlikely(res_cur_idx == avail_idx))
- } else {
- update_secure_len(vq, res_cur_idx, &secure_len, &vec_idx);
- res_cur_idx++;
- }
+
+ update_secure_len(vq, res_cur_idx,
+ &secure_len, &vec_idx);
+ res_cur_idx++;
} while (pkt_len > secure_len);
/* vq->last_used_idx_res is atomically updated. */
} while (pkt_len > secure_len);
/* vq->last_used_idx_res is atomically updated. */