On 20.03.2023 17:57, Stefano Garzarella wrote:
On Sun, Mar 19, 2023 at 09:51:06PM +0300, Arseniy Krasnov wrote:Sorry, seems i said it wrong a little bit. Before 0777, implementation was buggy, but
This fixes header length calculation of skbuff during data appending to
it. When such skbuff is processed in dequeue callbacks, e.g. 'skb_pull()'
is called on it, 'skb->len' is dynamic value, so it is impossible to use
it in header, because value from header must be permanent for valid
credit calculation ('rx_bytes'/'fwd_cnt').
Fixes: 077706165717 ("virtio/vsock: don't use skbuff state to account credit")
I don't understand how this commit introduced this problem, can you
explain it better?
exactly this problem was not actual - it didn't triggered somehow. I checked it with
reproducer from this patch. But in 0777 as value from header was used to 'rx_bytes'
calculation, bug become actual. Yes, may be it is not "Fixes:" for 0777, but critical
addition. I'm not sure.
It is related to size in header more.
Is it related more to the credit than to the size in the header itself?
Anyway, the patch LGTM, but we should explain better the issue.
Ok, I'll write it more clear in the commit message.