tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: ec2618180c3450d06a6a4ba951d4c9a2c689b517
commit: a1166b2653db2f3de7338b9fb8a0f6e924b904ee [2265/2770] ath10k: add CCMP PN replay
protection for fragmented frames for PCIe
config: h8300-randconfig-r035-20210513 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout a1166b2653db2f3de7338b9fb8a0f6e924b904ee
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/wireless/ath/ath10k/htt_rx.c: In function
'ath10k_htt_rx_h_frag_pn_check':
> drivers/net/wireless/ath/ath10k/htt_rx.c:1780:7: warning:
variable 'more_frags' set but not used [-Wunused-but-set-variable]
1780
| bool more_frags;
| ^~~~~~~~~~
vim +/more_frags +1780 drivers/net/wireless/ath/ath10k/htt_rx.c
1770
1771 static bool ath10k_htt_rx_h_frag_pn_check(struct ath10k *ar,
1772 struct sk_buff *skb,
1773 u16 peer_id,
1774 u16 offset,
1775 enum htt_rx_mpdu_encrypt_type enctype)
1776 {
1777 struct ath10k_peer *peer;
1778 union htt_rx_pn_t *last_pn, new_pn = {0};
1779 struct ieee80211_hdr *hdr;
1780 bool more_frags;
1781 u8 tid, frag_number;
1782 u32 seq;
1783
1784 peer = ath10k_peer_find_by_id(ar, peer_id);
1785 if (!peer) {
1786 ath10k_dbg(ar, ATH10K_DBG_HTT, "invalid peer for frag pn check\n");
1787 return false;
1788 }
1789
1790 hdr = (struct ieee80211_hdr *)(skb->data + offset);
1791 if (ieee80211_is_data_qos(hdr->frame_control))
1792 tid = ieee80211_get_tid(hdr);
1793 else
1794 tid = ATH10K_TXRX_NON_QOS_TID;
1795
1796 last_pn = &peer->frag_tids_last_pn[tid];
1797 new_pn.pn48 = ath10k_htt_rx_h_get_pn(ar, skb, offset, enctype);
1798 more_frags = ieee80211_has_morefrags(hdr->frame_control);
1799 frag_number = le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG;
1800 seq = (__le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4;
1801
1802 if (frag_number == 0) {
1803 last_pn->pn48 = new_pn.pn48;
1804 peer->frag_tids_seq[tid] = seq;
1805 } else {
1806 if (seq != peer->frag_tids_seq[tid])
1807 return false;
1808
1809 if (new_pn.pn48 != last_pn->pn48 + 1)
1810 return false;
1811
1812 last_pn->pn48 = new_pn.pn48;
1813 }
1814
1815 return true;
1816 }
1817
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org