lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <d91ac5f0-1f47-58b3-d033-f492d0e17da7@sberdevices.ru> Date: Tue, 28 Mar 2023 12:32:10 +0300 From: Arseniy Krasnov <avkrasnov@...rdevices.ru> To: Stefano Garzarella <sgarzare@...hat.com> CC: Stefan Hajnoczi <stefanha@...hat.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Bobby Eshleman <bobby.eshleman@...edance.com>, <kvm@...r.kernel.org>, <virtualization@...ts.linux-foundation.org>, <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>, <kernel@...rdevices.ru>, <oxffffaa@...il.com> Subject: Re: [RFC PATCH v2 2/3] virtio/vsock: WARN_ONCE() for invalid state of socket On 28.03.2023 12:29, Stefano Garzarella wrote: > On Sun, Mar 26, 2023 at 01:09:25AM +0300, Arseniy Krasnov wrote: >> This adds WARN_ONCE() and return from stream dequeue callback when >> socket's queue is empty, but 'rx_bytes' still non-zero. > > Nit: I would explain why we add this, for example: > > This allows the detection of potential bugs due to packet merging > (see previous patch). > >> >> Signed-off-by: Arseniy Krasnov <AVKrasnov@...rdevices.ru> >> --- >> net/vmw_vsock/virtio_transport_common.c | 7 +++++++ >> 1 file changed, 7 insertions(+) > >> >> diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c >> index b9144af71553..ad70531de133 100644 >> --- a/net/vmw_vsock/virtio_transport_common.c >> +++ b/net/vmw_vsock/virtio_transport_common.c >> @@ -398,6 +398,13 @@ virtio_transport_stream_do_dequeue(struct vsock_sock *vsk, >> u32 free_space; >> >> spin_lock_bh(&vvs->rx_lock); >> + >> + if (WARN_ONCE(skb_queue_empty(&vvs->rx_queue) && vvs->rx_bytes, >> + "No skbuffs with non-zero 'rx_bytes'\n")) { > > Nit: I would rephrase it this way: > "rx_queue is empty, but rx_bytes is non-zero" > >> + spin_unlock_bh(&vvs->rx_lock); >> + return err; >> + } >> + >> while (total < len && !skb_queue_empty(&vvs->rx_queue)) { >> skb = skb_peek(&vvs->rx_queue); >> >> -- >> 2.25.1 >> > > Anyway the patch LGTM! Thanks for review! Since only string value and commit message should be updated, i can resend it with 'net' (as it is fix) and update two thing above in 'net' version? Thanks, Arseniy > > Reviewed-by: Stefano Garzarella <sgarzare@...hat.com> >
Powered by blists - more mailing lists