vsock/vmci: Clear the vmci transport packet properly when initializing it
authorHarshaVardhana S A <harshavardhana.sa@broadcom.com>
Tue, 1 Jul 2025 12:22:54 +0000 (14:22 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 3 Jul 2025 10:52:52 +0000 (12:52 +0200)
In vmci_transport_packet_init memset the vmci_transport_packet before
populating the fields to avoid any uninitialised data being left in the
structure.

Cc: Bryan Tan <bryan-bt.tan@broadcom.com>
Cc: Vishnu Dasa <vishnu.dasa@broadcom.com>
Cc: Broadcom internal kernel review list
Cc: Stefano Garzarella <sgarzare@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <horms@kernel.org>
Cc: virtualization@lists.linux.dev
Cc: netdev@vger.kernel.org
Cc: stable <stable@kernel.org>
Signed-off-by: HarshaVardhana S A <harshavardhana.sa@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fixes: d021c344051a ("VSOCK: Introduce VM Sockets")
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Link: https://patch.msgid.link/20250701122254.2397440-1-gregkh@linuxfoundation.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/vmw_vsock/vmci_transport.c

index b370070194fa4ac0df45a073d389ffccf69a0029..7eccd6708d6649235e14bf988dad302adf674ebe 100644 (file)
@@ -119,6 +119,8 @@ vmci_transport_packet_init(struct vmci_transport_packet *pkt,
                           u16 proto,
                           struct vmci_handle handle)
 {
+       memset(pkt, 0, sizeof(*pkt));
+
        /* We register the stream control handler as an any cid handle so we
         * must always send from a source address of VMADDR_CID_ANY
         */
@@ -131,8 +133,6 @@ vmci_transport_packet_init(struct vmci_transport_packet *pkt,
        pkt->type = type;
        pkt->src_port = src->svm_port;
        pkt->dst_port = dst->svm_port;
-       memset(&pkt->proto, 0, sizeof(pkt->proto));
-       memset(&pkt->_reserved2, 0, sizeof(pkt->_reserved2));
 
        switch (pkt->type) {
        case VMCI_TRANSPORT_PACKET_TYPE_INVALID: