]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jul 2025 16:24:55 +0000 (18:24 +0200)
commit 223e2288f4b8c262a864e2c03964ffac91744cd5 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/vmw_vsock/vmci_transport.c

index 85488e19dffc910c6de9df1e9b658fe6e3b58648..7d54aaf49f20be11720ebe737d422045dfc95475 100644 (file)
@@ -125,6 +125,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
         */
@@ -137,8 +139,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: