[OpenWrt-Devel] Kernel crash in skb_put caused by ath10k_htt_t2h_msg_handler

Petr Štetiar ynezz at true.cz
Fri Apr 5 12:03:11 EDT 2019


Ben Greear <greearb at candelatech.com> [2019-04-05 07:22:51]:

Hi Ben,

while searching for the kmod with the same md5sum as the one used on the
device, I've found out, that OpenWrt is not using upstream ath10k kernel
module, so I don't want to make more noise on the ath10k mailing list[1], so
let's continue this topic on openwrt-devel where it probably belongs.

> Can you use gdb to print out the lines of code around that crash site in
> t2h_msg_handler?

> >  [<87622780>] ath10k_htt_t2h_msg_handler+0x27e0/0x31dc [ath10k_core]
(gdb) l *ath10k_htt_t2h_msg_handler+0x27e0
0x227b0 is in ath10k_htt_rx_handle_amsdu (/ath10k-ct-2019-03-25-2e917efb/ath10k-4.19/htt_rx.c:374).
369	
370			/* FIXME: we must report msdu payload since this is what caller
371			 * expects now
372			 */
373			skb_put(msdu, offsetof(struct htt_rx_desc, msdu_payload));
374			skb_pull(msdu, offsetof(struct htt_rx_desc, msdu_payload));
375	
376			/*
377			 * Sanity check - confirm the HW is finished filling in the
378			 * rx data.

> >  [<8764901c>] ath10k_ce_rx_update_write_idx+0x9c/0xc4 [ath10k_core]
(gdb) l* ath10k_ce_rx_update_write_idx+0x9c
0x4904c is in ath10k_ce_rx_update_write_idx (/opt/devel/openwrt-gluon/gluon.git/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/ath10k-ct-2019-03-25-2e917efb/ath10k-4.19/ce.c:763).
758		if (((cur_write_idx + nentries) & nentries_mask) == dest_ring->sw_index)
759			nentries -= 1;
760	
761		write_index = CE_RING_IDX_ADD(nentries_mask, write_index, nentries);
762		ath10k_ce_dest_ring_write_index_set(ar, ctrl_addr, write_index);
763		dest_ring->write_index = write_index;
764	}
765	EXPORT_SYMBOL(ath10k_ce_rx_update_write_idx);
766	
767	int ath10k_ce_rx_post_buf(struct ath10k_ce_pipe *pipe, void *ctx,

> I can figure out which message caused it I can add debugging and/or protective code.

Thanks and good luck!

1. http://lists.infradead.org/pipermail/ath10k/2019-April/013138.html

-- ynezz

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list