We could be using uninitialized fields of the header in
drm_dp_encode_sideband_msg_hdr(), for instance hdr->somt is set to 1 in
the first patcket but never set to 0 otherwise.

Always clear the header at the start then.

Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
---
 drivers/gpu/drm/drm_dp_mst_topology.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
b/drivers/gpu/drm/drm_dp_mst_topology.c
index 813b8d1..618526d 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1290,6 +1290,8 @@ static int process_single_tx_qlock(struct 
drm_dp_mst_topology_mgr *mgr,
        int len, space, idx, tosend;
        int ret;

+       memset(&hdr, 0, sizeof(struct drm_dp_sideband_msg_hdr));
+
        if (txmsg->state == DRM_DP_SIDEBAND_TX_QUEUED) {
                txmsg->seqno = -1;
                txmsg->state = DRM_DP_SIDEBAND_TX_START_SEND;
-- 
1.8.3.1

Reply via email to