drivers/ata/libata-eh.c:2213:13: warning: stack frame size (2336) exceeds limit (2048) in 'ata_eh_link_report'

From: kernel test robot
Date: Wed Jul 19 2023 - 21:28:11 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bfa3037d828050896ae52f6467b6ca2489ae6fb1
commit: 742bef476ca5352b16063161fb73a56629a6d995 ata: libata: move ata_{port,link,dev}_dbg to standard pr_XXX() macros
date: 1 year, 6 months ago
config: riscv-randconfig-r042-20230720 (https://download.01.org/0day-ci/archive/20230720/202307200936.XBJIgHpV-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230720/202307200936.XBJIgHpV-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307200936.XBJIgHpV-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/ata/libata-eh.c:2213:13: warning: stack frame size (2336) exceeds limit (2048) in 'ata_eh_link_report' [-Wframe-larger-than]
2213 | static void ata_eh_link_report(struct ata_link *link)
| ^
>> drivers/ata/libata-eh.c:2443:5: warning: stack frame size (2416) exceeds limit (2048) in 'ata_eh_reset' [-Wframe-larger-than]
2443 | int ata_eh_reset(struct ata_link *link, int classify,
| ^
drivers/ata/libata-eh.c:3550:5: warning: stack frame size (4336) exceeds limit (2048) in 'ata_eh_recover' [-Wframe-larger-than]
3550 | int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
| ^
3 warnings generated.


vim +/ata_eh_link_report +2213 drivers/ata/libata-eh.c

6521148c644972 drivers/ata/libata-eh.c Robert Hancock 2009-07-14 2203
9b1e2658faf3f3 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 2204 /**
9b1e2658faf3f3 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 2205 * ata_eh_link_report - report error handling to user
0260731f018784 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 2206 * @link: ATA link EH is going on
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2207 *
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2208 * Report EH to user.
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2209 *
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2210 * LOCKING:
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2211 * None.
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2212 */
9b1e2658faf3f3 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 @2213 static void ata_eh_link_report(struct ata_link *link)
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2214 {
0260731f018784 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 2215 struct ata_port *ap = link->ap;
0260731f018784 drivers/ata/libata-eh.c Tejun Heo 2007-08-06 2216 struct ata_eh_context *ehc = &link->eh_context;
258c4e5c65b21b drivers/ata/libata-eh.c Jens Axboe 2018-06-19 2217 struct ata_queued_cmd *qc;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2218 const char *frozen, *desc;
462098b090897f drivers/ata/libata-eh.c Levente Kurusa 2013-10-29 2219 char tries_buf[6] = "";
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2220 int tag, nr_failed = 0;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2221
94ff3d54080975 drivers/ata/libata-eh.c Tejun Heo 2007-10-09 2222 if (ehc->i.flags & ATA_EHI_QUIET)
94ff3d54080975 drivers/ata/libata-eh.c Tejun Heo 2007-10-09 2223 return;
94ff3d54080975 drivers/ata/libata-eh.c Tejun Heo 2007-10-09 2224
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2225 desc = NULL;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2226 if (ehc->i.desc[0] != '\0')
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2227 desc = ehc->i.desc;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2228
258c4e5c65b21b drivers/ata/libata-eh.c Jens Axboe 2018-06-19 2229 ata_qc_for_each_raw(ap, qc, tag) {
b1c72916abbdd0 drivers/ata/libata-eh.c Tejun Heo 2008-07-31 2230 if (!(qc->flags & ATA_QCFLAG_FAILED) ||
b1c72916abbdd0 drivers/ata/libata-eh.c Tejun Heo 2008-07-31 2231 ata_dev_phys_link(qc->dev) != link ||
e027bd36c14658 drivers/ata/libata-eh.c Tejun Heo 2007-10-26 2232 ((qc->flags & ATA_QCFLAG_QUIET) &&
e027bd36c14658 drivers/ata/libata-eh.c Tejun Heo 2007-10-26 2233 qc->err_mask == AC_ERR_DEV))
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2234 continue;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2235 if (qc->flags & ATA_QCFLAG_SENSE_VALID && !qc->err_mask)
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2236 continue;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2237
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2238 nr_failed++;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2239 }
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2240
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2241 if (!nr_failed && !ehc->i.err_mask)
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2242 return;
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2243
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2244 frozen = "";
b51e9e5db0e362 drivers/scsi/libata-eh.c Tejun Heo 2006-06-29 2245 if (ap->pflags & ATA_PFLAG_FROZEN)
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2246 frozen = " frozen";
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2247
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2248 if (ap->eh_tries < ATA_EH_MAX_TRIES)
462098b090897f drivers/ata/libata-eh.c Levente Kurusa 2013-10-29 2249 snprintf(tries_buf, sizeof(tries_buf), " t%d",
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2250 ap->eh_tries);
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2251
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2252 if (ehc->i.dev) {
a9a79dfec23956 drivers/ata/libata-eh.c Joe Perches 2011-04-15 2253 ata_dev_err(ehc->i.dev, "exception Emask 0x%x "
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2254 "SAct 0x%x SErr 0x%x action 0x%x%s%s\n",
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2255 ehc->i.err_mask, link->sactive, ehc->i.serror,
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2256 ehc->i.action, frozen, tries_buf);
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2257 if (desc)
a9a79dfec23956 drivers/ata/libata-eh.c Joe Perches 2011-04-15 2258 ata_dev_err(ehc->i.dev, "%s\n", desc);
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2259 } else {
a9a79dfec23956 drivers/ata/libata-eh.c Joe Perches 2011-04-15 2260 ata_link_err(link, "exception Emask 0x%x "
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2261 "SAct 0x%x SErr 0x%x action 0x%x%s%s\n",
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2262 ehc->i.err_mask, link->sactive, ehc->i.serror,
a1e10f7e68a544 drivers/ata/libata-eh.c Tejun Heo 2007-08-18 2263 ehc->i.action, frozen, tries_buf);
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2264 if (desc)
a9a79dfec23956 drivers/ata/libata-eh.c Joe Perches 2011-04-15 2265 ata_link_err(link, "%s\n", desc);
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2266 }
022bdb075b9e1f drivers/scsi/libata-eh.c Tejun Heo 2006-05-15 2267

:::::: The code at line 2213 was first introduced by commit
:::::: 9b1e2658faf3f3095a96558c333b333c0e29dbc0 libata-link: update EH to deal with PMP links

:::::: TO: Tejun Heo <htejun@xxxxxxxxx>
:::::: CC: Jeff Garzik <jeff@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki