lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 11 Oct 2022 00:54:56 +0800
From: kernel test robot <lkp@...el.com>
To: Lorenzo Bianconi <lorenzo@...nel.org>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: sparse:
incorrect type in assignment (different base types)
Hi Lorenzo,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 493ffd6605b2d3d4dc7008ab927dba319f36671f
commit: a3c62a042237d1adeb0290dcb768e17edd6dcd25 net: mtk_eth: add COMPILE_TEST support
date: 10 months ago
config: openrisc-randconfig-s053-20221010
compiler: or1k-linux-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a3c62a042237d1adeb0290dcb768e17edd6dcd25
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a3c62a042237d1adeb0290dcb768e17edd6dcd25
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=openrisc SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __sum16 [usertype] check @@ got restricted __be16 [usertype] @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: expected restricted __sum16 [usertype] check
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1113:45: sparse: got restricted __be16 [usertype]
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: expected unsigned int [usertype] val
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1801:22: sparse: got restricted __be32 [usertype] ip
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1846:40: sparse: sparse: cast from restricted __be32
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: expected restricted __be32 [usertype] ip4dst
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1903:38: sparse: got unsigned int [usertype]
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4src @@ got unsigned int @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: expected restricted __be32 [usertype] ip4src
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1907:38: sparse: got unsigned int
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] psrc @@ got int @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: expected restricted __be16 [usertype] psrc
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1909:36: sparse: got int
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got int @@
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: expected restricted __be16 [usertype] pdst
drivers/net/ethernet/mediatek/mtk_eth_soc.c:1911:36: sparse: got int
--
>> drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: expected unsigned int
drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:60:27: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/mediatek/mtk_ppe_debugfs.c:158:46: sparse: sparse: cast to restricted __be16
--
>> drivers/net/ethernet/mediatek/mtk_ppe_offload.c:88:19: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/mediatek/mtk_ppe_offload.c:92:41: sparse: sparse: restricted __be32 degrades to integer
vim +1113 drivers/net/ethernet/mediatek/mtk_eth_soc.c
13c822f6d468ca John Crispin 2016-04-08 1074
e910a3993818ab Yunjian Wang 2020-05-06 1075 static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
656e705243fd0c John Crispin 2016-03-08 1076 {
656e705243fd0c John Crispin 2016-03-08 1077 struct mtk_mac *mac = netdev_priv(dev);
656e705243fd0c John Crispin 2016-03-08 1078 struct mtk_eth *eth = mac->hw;
656e705243fd0c John Crispin 2016-03-08 1079 struct mtk_tx_ring *ring = ð->tx_ring;
656e705243fd0c John Crispin 2016-03-08 1080 struct net_device_stats *stats = &dev->stats;
656e705243fd0c John Crispin 2016-03-08 1081 bool gso = false;
656e705243fd0c John Crispin 2016-03-08 1082 int tx_num;
656e705243fd0c John Crispin 2016-03-08 1083
34c2e4c9e9b3e4 John Crispin 2016-04-08 1084 /* normally we can rely on the stack not calling this more than once,
34c2e4c9e9b3e4 John Crispin 2016-04-08 1085 * however we have 2 queues running on the same ring so we need to lock
34c2e4c9e9b3e4 John Crispin 2016-04-08 1086 * the ring access
34c2e4c9e9b3e4 John Crispin 2016-04-08 1087 */
e3e9652a432075 Sean Wang 2016-08-11 1088 spin_lock(ð->page_lock);
34c2e4c9e9b3e4 John Crispin 2016-04-08 1089
dce6fa42199d49 Sean Wang 2016-09-14 1090 if (unlikely(test_bit(MTK_RESETTING, ð->state)))
dce6fa42199d49 Sean Wang 2016-09-14 1091 goto drop;
dce6fa42199d49 Sean Wang 2016-09-14 1092
656e705243fd0c John Crispin 2016-03-08 1093 tx_num = mtk_cal_txd_req(skb);
656e705243fd0c John Crispin 2016-03-08 1094 if (unlikely(atomic_read(&ring->free_count) <= tx_num)) {
16ef670789b252 Felix Fietkau 2021-04-22 1095 netif_stop_queue(dev);
656e705243fd0c John Crispin 2016-03-08 1096 netif_err(eth, tx_queued, dev,
656e705243fd0c John Crispin 2016-03-08 1097 "Tx Ring full when queue awake!\n");
e3e9652a432075 Sean Wang 2016-08-11 1098 spin_unlock(ð->page_lock);
656e705243fd0c John Crispin 2016-03-08 1099 return NETDEV_TX_BUSY;
656e705243fd0c John Crispin 2016-03-08 1100 }
656e705243fd0c John Crispin 2016-03-08 1101
656e705243fd0c John Crispin 2016-03-08 1102 /* TSO: fill MSS info in tcp checksum field */
656e705243fd0c John Crispin 2016-03-08 1103 if (skb_is_gso(skb)) {
656e705243fd0c John Crispin 2016-03-08 1104 if (skb_cow_head(skb, 0)) {
656e705243fd0c John Crispin 2016-03-08 1105 netif_warn(eth, tx_err, dev,
656e705243fd0c John Crispin 2016-03-08 1106 "GSO expand head fail.\n");
656e705243fd0c John Crispin 2016-03-08 1107 goto drop;
656e705243fd0c John Crispin 2016-03-08 1108 }
656e705243fd0c John Crispin 2016-03-08 1109
656e705243fd0c John Crispin 2016-03-08 1110 if (skb_shinfo(skb)->gso_type &
656e705243fd0c John Crispin 2016-03-08 1111 (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) {
656e705243fd0c John Crispin 2016-03-08 1112 gso = true;
656e705243fd0c John Crispin 2016-03-08 @1113 tcp_hdr(skb)->check = htons(skb_shinfo(skb)->gso_size);
656e705243fd0c John Crispin 2016-03-08 1114 }
656e705243fd0c John Crispin 2016-03-08 1115 }
656e705243fd0c John Crispin 2016-03-08 1116
656e705243fd0c John Crispin 2016-03-08 1117 if (mtk_tx_map(skb, dev, tx_num, ring, gso) < 0)
656e705243fd0c John Crispin 2016-03-08 1118 goto drop;
656e705243fd0c John Crispin 2016-03-08 1119
82c6544dddc6c4 John Crispin 2016-06-10 1120 if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
16ef670789b252 Felix Fietkau 2021-04-22 1121 netif_stop_queue(dev);
82c6544dddc6c4 John Crispin 2016-06-10 1122
e3e9652a432075 Sean Wang 2016-08-11 1123 spin_unlock(ð->page_lock);
656e705243fd0c John Crispin 2016-03-08 1124
656e705243fd0c John Crispin 2016-03-08 1125 return NETDEV_TX_OK;
656e705243fd0c John Crispin 2016-03-08 1126
656e705243fd0c John Crispin 2016-03-08 1127 drop:
e3e9652a432075 Sean Wang 2016-08-11 1128 spin_unlock(ð->page_lock);
656e705243fd0c John Crispin 2016-03-08 1129 stats->tx_dropped++;
81ad2b7de6dd35 Wei Yongjun 2016-10-20 1130 dev_kfree_skb_any(skb);
656e705243fd0c John Crispin 2016-03-08 1131 return NETDEV_TX_OK;
656e705243fd0c John Crispin 2016-03-08 1132 }
656e705243fd0c John Crispin 2016-03-08 1133
:::::: The code at line 1113 was first introduced by commit
:::::: 656e705243fd0c2864b89634ea16ed444ef64dc6 net-next: mediatek: add support for MT7623 ethernet
:::::: TO: John Crispin <blogic@...nwrt.org>
:::::: CC: David S. Miller <davem@...emloft.net>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (130275 bytes)
Powered by blists - more mailing lists