On Wed, 6 Mar 2019 17:02:16 +0000, Stefan Hajnoczi <stefanha@xxxxxxxxxx> wrote: > On Wed, Mar 06, 2019 at 11:10:41AM +0200, Adalbert Lazăr wrote: > > On Wed, 6 Mar 2019 08:41:04 +0000, Stefan Hajnoczi <stefanha@xxxxxxxxx> wrote: > > > On Tue, Mar 05, 2019 at 08:01:45PM +0200, Adalbert Lazăr wrote: > > > The pkt argument is the received packet that we must reply to. > > > The reply packet is allocated just before line 680 and must be free > > > explicitly for return -ENOTCONN. > > > > > > You can avoid the leak and make the code easier to read like this: > > > > > > struct virtio_vsock_pkt *reply; > > > > > > ... > > > > > > ------ avoid reusing 'pkt' > > > v > > > reply = virtio_transport_alloc_pkt(&info, 0, ...); > > > if (!reply) > > > return -ENOMEM; > > > > > > t = virtio_transport_get_ops(); > > > if (!t) { > > > virtio_transport_free_pkt(reply); <-- prevent memory leak > > > return -ENOTCONN; > > > } > > > return t->send_pkt(reply); > > > > What do you think about Stefano's suggestion, to move the check above > > the line were the reply is allocated? > > That's fine too. > > However a follow up patch to eliminate the confusing way that 'pkt' is > reused is still warranted. If you are busy I'd be happy to send that > cleanup. > > Stefan I've got it, a couple of minutes after I've replied :) The second version[1] should be in your mailbox. Thank you, Adalbert [1]: https://patchwork.kernel.org/patch/10840787/ _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization