On 03/06/2020 09:21, Pawel Wieczorkiewicz wrote: > Currently the xenbus_write() does not handle ring wrapping around > correctly. When ring buffer is almost full and there is not enough > space for next packet (e.g. there is 12 bytes of space left, but the > packet header needs to transmit 16 bytes) the memcpy() goes out of the > ring buffer boundry. > Instead, the part variable should be limited to the space available in > the ring buffer, so the memcpy() can fill up the buffer, update len > variable (to indicate that there is still some data to be copied) and > thereby the xenbus_write() loop can iterate again to finish copying > the remainder of data to the beginning of the ring buffer. > > Signed-off-by: Pawel Wieczorkiewicz <wipa...@amazon.de>
Oops. Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com> and pushed.