From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-stable-rc:linux-5.4.y 1315/3868] drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:987:20: sparse: sparse: incorrect type in assignment (different base types)
Date: Fri, 13 Nov 2020 16:12:18 +0800 [thread overview]
Message-ID: <202011131614.SkCURR75-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6032 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head: e72abf1f11a982a2a3fb555b5a9bd2eb2011dee8
commit: e307bfda74a9c66426313eca25ccfea877a50036 [1315/3868] ath9k_htc: Discard undersized packets
config: sh-randconfig-s032-20201103 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=e307bfda74a9c66426313eca25ccfea877a50036
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-5.4.y
git checkout e307bfda74a9c66426313eca25ccfea877a50036
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c: note: in included file (through arch/sh/include/asm/unistd.h, include/uapi/linux/unistd.h, include/linux/compat.h, ...):
./arch/sh/include/generated/uapi/asm/unistd_32.h:409:37: sparse: sparse: no newline at end of file
>> drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:987:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] rs_datalen @@ got unsigned short [usertype] @@
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:987:20: sparse: expected restricted __be16 [usertype] rs_datalen
>> drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:987:20: sparse: got unsigned short [usertype]
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:988:13: sparse: sparse: restricted __be16 degrades to integer
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:1001:13: sparse: sparse: restricted __be16 degrades to integer
vim +987 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
962
963 static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
964 struct ath9k_htc_rxbuf *rxbuf,
965 struct ieee80211_rx_status *rx_status)
966
967 {
968 struct ieee80211_hdr *hdr;
969 struct ieee80211_hw *hw = priv->hw;
970 struct sk_buff *skb = rxbuf->skb;
971 struct ath_common *common = ath9k_hw_common(priv->ah);
972 struct ath_hw *ah = common->ah;
973 struct ath_htc_rx_status *rxstatus;
974 struct ath_rx_status rx_stats;
975 bool decrypt_error = false;
976 __be16 rs_datalen;
977 bool is_phyerr;
978
979 if (skb->len < HTC_RX_FRAME_HEADER_SIZE) {
980 ath_err(common, "Corrupted RX frame, dropping (len: %d)\n",
981 skb->len);
982 goto rx_next;
983 }
984
985 rxstatus = (struct ath_htc_rx_status *)skb->data;
986
> 987 rs_datalen = be16_to_cpu(rxstatus->rs_datalen);
988 if (unlikely(rs_datalen -
989 (skb->len - HTC_RX_FRAME_HEADER_SIZE) != 0)) {
990 ath_err(common,
991 "Corrupted RX data len, dropping (dlen: %d, skblen: %d)\n",
992 rs_datalen, skb->len);
993 goto rx_next;
994 }
995
996 is_phyerr = rxstatus->rs_status & ATH9K_RXERR_PHY;
997 /*
998 * Discard zero-length packets and packets smaller than an ACK
999 * which are not PHY_ERROR (short radar pulses have a length of 3)
1000 */
1001 if (unlikely(!rs_datalen || (rs_datalen < 10 && !is_phyerr))) {
1002 ath_warn(common,
1003 "Short RX data len, dropping (dlen: %d)\n",
1004 rs_datalen);
1005 goto rx_next;
1006 }
1007
1008 /* Get the RX status information */
1009
1010 memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
1011
1012 /* Copy everything from ath_htc_rx_status (HTC_RX_FRAME_HEADER).
1013 * After this, we can drop this part of skb. */
1014 rx_status_htc_to_ath(&rx_stats, rxstatus);
1015 ath9k_htc_err_stat_rx(priv, &rx_stats);
1016 rx_status->mactime = be64_to_cpu(rxstatus->rs_tstamp);
1017 skb_pull(skb, HTC_RX_FRAME_HEADER_SIZE);
1018
1019 /*
1020 * everything but the rate is checked here, the rate check is done
1021 * separately to avoid doing two lookups for a rate for each frame.
1022 */
1023 hdr = (struct ieee80211_hdr *)skb->data;
1024
1025 /*
1026 * Process PHY errors and return so that the packet
1027 * can be dropped.
1028 */
1029 if (unlikely(is_phyerr)) {
1030 /* TODO: Not using DFS processing now. */
1031 if (ath_cmn_process_fft(&priv->spec_priv, hdr,
1032 &rx_stats, rx_status->mactime)) {
1033 /* TODO: Code to collect spectral scan statistics */
1034 }
1035 goto rx_next;
1036 }
1037
1038 if (!ath9k_cmn_rx_accept(common, hdr, rx_status, &rx_stats,
1039 &decrypt_error, priv->rxfilter))
1040 goto rx_next;
1041
1042 ath9k_cmn_rx_skb_postprocess(common, skb, &rx_stats,
1043 rx_status, decrypt_error);
1044
1045 if (ath9k_cmn_process_rate(common, hw, &rx_stats, rx_status))
1046 goto rx_next;
1047
1048 rx_stats.is_mybeacon = ath_is_mybeacon(common, hdr);
1049 ath9k_cmn_process_rssi(common, hw, &rx_stats, rx_status);
1050
1051 rx_status->band = ah->curchan->chan->band;
1052 rx_status->freq = ah->curchan->chan->center_freq;
1053 rx_status->antenna = rx_stats.rs_antenna;
1054 rx_status->flag |= RX_FLAG_MACTIME_END;
1055
1056 return true;
1057 rx_next:
1058 return false;
1059 }
1060
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26007 bytes --]
next reply other threads:[~2020-11-13 8:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-13 8:12 kernel test robot [this message]
2020-11-13 8:46 ` [linux-stable-rc:linux-5.4.y 1315/3868] drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:987:20: sparse: sparse: incorrect type in assignment (different base types) Masashi Honma
2020-11-13 12:45 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202011131614.SkCURR75-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.