[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202511291220.iPdPZlZh-lkp@intel.com>
Date: Sat, 29 Nov 2025 12:17:59 +0800
From: kernel test robot <lkp@...el.com>
To: Rong Xu <xur@...gle.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Masahiro Yamada <masahiroy@...nel.org>,
Han Shen <shenhan@...gle.com>, Kees Cook <kees@...nel.org>
Subject: drivers/net/ethernet/microchip/enc28j60.c:1120:20: warning: stack
frame size (8920) exceeds limit (8192) in 'enc28j60_irq'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 19eef1d98eeda3745df35839190b7d4a4adea656
commit: 315ad8780a129e82e2c5c65ee6e970d91a577acb kbuild: Add AutoFDO support for Clang build
date: 1 year, 1 month ago
config: x86_64-randconfig-r122-20251129 (https://download.01.org/0day-ci/archive/20251129/202511291220.iPdPZlZh-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251129/202511291220.iPdPZlZh-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511291220.iPdPZlZh-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/microchip/enc28j60.c:20:
In file included from include/linux/netdevice.h:38:
In file included from include/net/net_namespace.h:43:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2213:
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> drivers/net/ethernet/microchip/enc28j60.c:1120:20: warning: stack frame size (8920) exceeds limit (8192) in 'enc28j60_irq' [-Wframe-larger-than]
1120 | static irqreturn_t enc28j60_irq(int irq, void *dev_id)
| ^
2 warnings generated.
vim +/enc28j60_irq +1120 drivers/net/ethernet/microchip/enc28j60.c
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1119
995585ecdf42c1 drivers/net/ethernet/microchip/enc28j60.c Philipp Rosenberger 2023-05-09 @1120 static irqreturn_t enc28j60_irq(int irq, void *dev_id)
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1121 {
995585ecdf42c1 drivers/net/ethernet/microchip/enc28j60.c Philipp Rosenberger 2023-05-09 1122 struct enc28j60_net *priv = dev_id;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1123 struct net_device *ndev = priv->netdev;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1124 int intflags, loop;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1125
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1126 /* disable further interrupts */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1127 locked_reg_bfclr(priv, EIE, EIE_INTIE);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1128
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1129 do {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1130 loop = 0;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1131 intflags = locked_regb_read(priv, EIR);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1132 /* DMA interrupt handler (not currently used) */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1133 if ((intflags & EIR_DMAIF) != 0) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1134 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1135 if (netif_msg_intr(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1136 netdev_printk(KERN_DEBUG, ndev, "intDMA(%d)\n",
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1137 loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1138 locked_reg_bfclr(priv, EIR, EIR_DMAIF);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1139 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1140 /* LINK changed handler */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1141 if ((intflags & EIR_LINKIF) != 0) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1142 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1143 if (netif_msg_intr(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1144 netdev_printk(KERN_DEBUG, ndev, "intLINK(%d)\n",
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1145 loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1146 enc28j60_check_link_status(ndev);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1147 /* read PHIR to clear the flag */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1148 enc28j60_phy_read(priv, PHIR);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1149 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1150 /* TX complete handler */
373819ec391de0 drivers/net/ethernet/microchip/enc28j60.c Sergio Valverde 2016-07-01 1151 if (((intflags & EIR_TXIF) != 0) &&
373819ec391de0 drivers/net/ethernet/microchip/enc28j60.c Sergio Valverde 2016-07-01 1152 ((intflags & EIR_TXERIF) == 0)) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1153 bool err = false;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1154 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1155 if (netif_msg_intr(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1156 netdev_printk(KERN_DEBUG, ndev, "intTX(%d)\n",
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1157 loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1158 priv->tx_retry_count = 0;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1159 if (locked_regb_read(priv, ESTAT) & ESTAT_TXABRT) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1160 if (netif_msg_tx_err(priv))
35b60f37363b1a drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1161 netdev_err(ndev, "Tx Error (aborted)\n");
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1162 err = true;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1163 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1164 if (netif_msg_tx_done(priv)) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1165 u8 tsv[TSV_SIZE];
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1166 enc28j60_read_tsv(priv, tsv);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1167 enc28j60_dump_tsv(priv, "Tx Done", tsv);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1168 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1169 enc28j60_tx_clear(ndev, err);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1170 locked_reg_bfclr(priv, EIR, EIR_TXIF);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1171 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1172 /* TX Error handler */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1173 if ((intflags & EIR_TXERIF) != 0) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1174 u8 tsv[TSV_SIZE];
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1175
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1176 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1177 if (netif_msg_intr(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1178 netdev_printk(KERN_DEBUG, ndev, "intTXErr(%d)\n",
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1179 loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1180 locked_reg_bfclr(priv, ECON1, ECON1_TXRTS);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1181 enc28j60_read_tsv(priv, tsv);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1182 if (netif_msg_tx_err(priv))
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1183 enc28j60_dump_tsv(priv, "Tx Error", tsv);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1184 /* Reset TX logic */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1185 mutex_lock(&priv->lock);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1186 nolock_reg_bfset(priv, ECON1, ECON1_TXRST);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1187 nolock_reg_bfclr(priv, ECON1, ECON1_TXRST);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1188 nolock_txfifo_init(priv, TXSTART_INIT, TXEND_INIT);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1189 mutex_unlock(&priv->lock);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1190 /* Transmit Late collision check for retransmit */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1191 if (TSV_GETBIT(tsv, TSV_TXLATECOLLISION)) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1192 if (netif_msg_tx_err(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1193 netdev_printk(KERN_DEBUG, ndev,
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1194 "LateCollision TXErr (%d)\n",
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1195 priv->tx_retry_count);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1196 if (priv->tx_retry_count++ < MAX_TX_RETRYCOUNT)
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1197 locked_reg_bfset(priv, ECON1,
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1198 ECON1_TXRTS);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1199 else
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1200 enc28j60_tx_clear(ndev, true);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1201 } else
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1202 enc28j60_tx_clear(ndev, true);
373819ec391de0 drivers/net/ethernet/microchip/enc28j60.c Sergio Valverde 2016-07-01 1203 locked_reg_bfclr(priv, EIR, EIR_TXERIF | EIR_TXIF);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1204 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1205 /* RX Error handler */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1206 if ((intflags & EIR_RXERIF) != 0) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1207 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1208 if (netif_msg_intr(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1209 netdev_printk(KERN_DEBUG, ndev, "intRXErr(%d)\n",
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1210 loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1211 /* Check free FIFO space to flag RX overrun */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1212 if (enc28j60_get_free_rxfifo(priv) <= 0) {
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1213 if (netif_msg_rx_err(priv))
c93a0f2a7fc4b9 drivers/net/ethernet/microchip/enc28j60.c Andy Shevchenko 2019-03-19 1214 netdev_printk(KERN_DEBUG, ndev, "RX Overrun\n");
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1215 ndev->stats.rx_dropped++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1216 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1217 locked_reg_bfclr(priv, EIR, EIR_RXERIF);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1218 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1219 /* RX handler */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1220 if (enc28j60_rx_interrupt(ndev))
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1221 loop++;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1222 } while (loop);
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1223
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1224 /* re-enable interrupts */
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1225 locked_reg_bfset(priv, EIE, EIE_INTIE);
995585ecdf42c1 drivers/net/ethernet/microchip/enc28j60.c Philipp Rosenberger 2023-05-09 1226
995585ecdf42c1 drivers/net/ethernet/microchip/enc28j60.c Philipp Rosenberger 2023-05-09 1227 return IRQ_HANDLED;
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1228 }
3ec9c11da03342 drivers/net/enc28j60.c Claudio Lanconelli 2008-01-14 1229
:::::: The code at line 1120 was first introduced by commit
:::::: 995585ecdf42c14fbd4d9d12ca73bf54358581c6 net: enc28j60: Use threaded interrupt instead of workqueue
:::::: TO: Philipp Rosenberger <p.rosenberger@...bus.com>
:::::: CC: Jakub Kicinski <kuba@...nel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists