From c4132ab0bea206c3358e0c2a5bed8953fa3b6739 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Mon, 25 Jul 2022 16:12:06 +0200 Subject: [PATCH] wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv Fix possible unaligned pointer in mt76_connac_mcu_add_nested_tlv routine. Reported-by: kernel test robot Fixes: 25702d9c55dc5 ("mt76: connac: rely on le16_add_cpu in mt76_connac_mcu_add_nested_tlv") Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- mt76_connac_mcu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mt76_connac_mcu.c b/mt76_connac_mcu.c index 261181dc..d32290d6 100644 --- a/mt76_connac_mcu.c +++ b/mt76_connac_mcu.c @@ -260,8 +260,10 @@ mt76_connac_mcu_add_nested_tlv(struct sk_buff *skb, int tag, int len, ntlv = le16_to_cpu(ntlv_hdr->tlv_num); ntlv_hdr->tlv_num = cpu_to_le16(ntlv + 1); - if (sta_hdr) - le16_add_cpu(&sta_hdr->len, len); + if (sta_hdr) { + len += le16_to_cpu(sta_hdr->len); + sta_hdr->len = cpu_to_le16(len); + } return ptlv; }