mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

January 2024

  • 73 participants
  • 654 discussions
[openeuler:OLK-5.10 12086/30000] drivers/rtc/rtc-mc146818-lib.c:213 mc146818_set_time() error: uninitialized symbol 'save_freq_select'.
by kernel test robot 29 Jan '24

29 Jan '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: bb2503a5fcdf7f51d403ab34440c497acef3b4e7 commit: 31dc30955fcffeb32c96420b91e3c05e2f4614eb [12086/30000] rtc: Fix set RTC time delay 500ms on some Zhaoxin SOCs :::::: branch date: 5 hours ago :::::: commit date: 1 year, 11 months ago config: x86_64-randconfig-161-20240124 (attached as .config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202401262043.WarePplV-lkp@intel.com/ smatch warnings: drivers/rtc/rtc-mc146818-lib.c:213 mc146818_set_time() error: uninitialized symbol 'save_freq_select'. vim +/save_freq_select +213 drivers/rtc/rtc-mc146818-lib.c d6faca40f40b62 Arnd Bergmann 2016-06-01 210 d6faca40f40b62 Arnd Bergmann 2016-06-01 211 CMOS_WRITE(save_control, RTC_CONTROL); 31dc30955fcffe LeoLiu-oc 2022-02-23 212 if (follow_mc146818_divider_reset()) d6faca40f40b62 Arnd Bergmann 2016-06-01 @213 CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT); :::::: The code at line 213 was first introduced by commit :::::: d6faca40f40b62aca8ea8c29289c7bf7456172bb rtc: move mc146818 helper functions out-of-line :::::: TO: Arnd Bergmann <arnd(a)arndb.de> :::::: CC: Alexandre Belloni <alexandre.belloni(a)free-electrons.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 3208/21577] kernel/trace/bpf_trace.c:1273:5: sparse: sparse: symbol 'bpf_event_notify' was not declared. Should it be static?
by kernel test robot 29 Jan '24

29 Jan '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 992b5fc139d3aa14b25613b06adee4bb9c110b28 commit: 00d0f1b149a5201c072e868915c76f909c11c38f [3208/21577] bpf: support raw tracepoints in modules :::::: branch date: 7 hours ago :::::: commit date: 4 years, 1 month ago config: x86_64-randconfig-123-20240125 (attached as .config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (attached as 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202401262122.kgKexAjZ-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> kernel/trace/bpf_trace.c:1273:5: sparse: sparse: symbol 'bpf_event_notify' was not declared. Should it be static? >> kernel/trace/bpf_trace.c:1312:12: sparse: sparse: symbol 'bpf_event_init' was not declared. Should it be static? kernel/trace/bpf_trace.c:173:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got void *unsafe_ptr @@ kernel/trace/bpf_trace.c:173:14: sparse: expected void const volatile [noderef] __user *ptr kernel/trace/bpf_trace.c:173:14: sparse: got void *unsafe_ptr kernel/trace/bpf_trace.c:1273:5: warning: no previous prototype for function 'bpf_event_notify' [-Wmissing-prototypes] 1273 | int bpf_event_notify(struct notifier_block *nb, unsigned long op, void *module) | ^ kernel/trace/bpf_trace.c:1273:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1273 | int bpf_event_notify(struct notifier_block *nb, unsigned long op, void *module) | ^ | static kernel/trace/bpf_trace.c:1312:12: warning: no previous prototype for function 'bpf_event_init' [-Wmissing-prototypes] 1312 | int __init bpf_event_init(void) | ^ kernel/trace/bpf_trace.c:1312:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1312 | int __init bpf_event_init(void) | ^ | static 2 warnings generated. vim +/bpf_event_notify +1273 kernel/trace/bpf_trace.c 00d0f1b149a520 Matt Mullins 2019-02-19 1271 00d0f1b149a520 Matt Mullins 2019-02-19 1272 #ifdef CONFIG_MODULES 00d0f1b149a520 Matt Mullins 2019-02-19 @1273 int bpf_event_notify(struct notifier_block *nb, unsigned long op, void *module) 00d0f1b149a520 Matt Mullins 2019-02-19 1274 { 00d0f1b149a520 Matt Mullins 2019-02-19 1275 struct bpf_trace_module *btm, *tmp; 00d0f1b149a520 Matt Mullins 2019-02-19 1276 struct module *mod = module; 00d0f1b149a520 Matt Mullins 2019-02-19 1277 00d0f1b149a520 Matt Mullins 2019-02-19 1278 if (mod->num_bpf_raw_events == 0 || 00d0f1b149a520 Matt Mullins 2019-02-19 1279 (op != MODULE_STATE_COMING && op != MODULE_STATE_GOING)) 00d0f1b149a520 Matt Mullins 2019-02-19 1280 return 0; 00d0f1b149a520 Matt Mullins 2019-02-19 1281 00d0f1b149a520 Matt Mullins 2019-02-19 1282 mutex_lock(&bpf_module_mutex); 00d0f1b149a520 Matt Mullins 2019-02-19 1283 00d0f1b149a520 Matt Mullins 2019-02-19 1284 switch (op) { 00d0f1b149a520 Matt Mullins 2019-02-19 1285 case MODULE_STATE_COMING: 00d0f1b149a520 Matt Mullins 2019-02-19 1286 btm = kzalloc(sizeof(*btm), GFP_KERNEL); 00d0f1b149a520 Matt Mullins 2019-02-19 1287 if (btm) { 00d0f1b149a520 Matt Mullins 2019-02-19 1288 btm->module = module; 00d0f1b149a520 Matt Mullins 2019-02-19 1289 list_add(&btm->list, &bpf_trace_modules); 00d0f1b149a520 Matt Mullins 2019-02-19 1290 } 00d0f1b149a520 Matt Mullins 2019-02-19 1291 break; 00d0f1b149a520 Matt Mullins 2019-02-19 1292 case MODULE_STATE_GOING: 00d0f1b149a520 Matt Mullins 2019-02-19 1293 list_for_each_entry_safe(btm, tmp, &bpf_trace_modules, list) { 00d0f1b149a520 Matt Mullins 2019-02-19 1294 if (btm->module == module) { 00d0f1b149a520 Matt Mullins 2019-02-19 1295 list_del(&btm->list); 00d0f1b149a520 Matt Mullins 2019-02-19 1296 kfree(btm); 00d0f1b149a520 Matt Mullins 2019-02-19 1297 break; 00d0f1b149a520 Matt Mullins 2019-02-19 1298 } 00d0f1b149a520 Matt Mullins 2019-02-19 1299 } 00d0f1b149a520 Matt Mullins 2019-02-19 1300 break; 00d0f1b149a520 Matt Mullins 2019-02-19 1301 } 00d0f1b149a520 Matt Mullins 2019-02-19 1302 00d0f1b149a520 Matt Mullins 2019-02-19 1303 mutex_unlock(&bpf_module_mutex); 00d0f1b149a520 Matt Mullins 2019-02-19 1304 00d0f1b149a520 Matt Mullins 2019-02-19 1305 return 0; 00d0f1b149a520 Matt Mullins 2019-02-19 1306 } 00d0f1b149a520 Matt Mullins 2019-02-19 1307 00d0f1b149a520 Matt Mullins 2019-02-19 1308 static struct notifier_block bpf_module_nb = { 00d0f1b149a520 Matt Mullins 2019-02-19 1309 .notifier_call = bpf_event_notify, 00d0f1b149a520 Matt Mullins 2019-02-19 1310 }; 00d0f1b149a520 Matt Mullins 2019-02-19 1311 00d0f1b149a520 Matt Mullins 2019-02-19 @1312 int __init bpf_event_init(void) 00d0f1b149a520 Matt Mullins 2019-02-19 1313 { 00d0f1b149a520 Matt Mullins 2019-02-19 1314 register_module_notifier(&bpf_module_nb); 00d0f1b149a520 Matt Mullins 2019-02-19 1315 return 0; 00d0f1b149a520 Matt Mullins 2019-02-19 1316 } 00d0f1b149a520 Matt Mullins 2019-02-19 1317 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 4369/21577] drivers/scsi/sd.c:1222:32: sparse: sparse: incorrect type in return expression (different base types)
by kernel test robot 29 Jan '24

29 Jan '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 992b5fc139d3aa14b25613b06adee4bb9c110b28 commit: d597314e1e561e653a9dbeafec69f20d6b372af1 [4369/21577] scsi: sd: Protect against READ(6) or WRITE(6) with zero block transfer length :::::: branch date: 7 hours ago :::::: commit date: 4 years, 1 month ago config: x86_64-randconfig-121-20240125 (attached as .config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (attached as 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202401262223.5mM2ZI39-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/scsi/sd.c:1222:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected int @@ got restricted blk_status_t [usertype] @@ drivers/scsi/sd.c:1222:32: sparse: expected int drivers/scsi/sd.c:1222:32: sparse: got restricted blk_status_t [usertype] In file included from drivers/scsi/sd.c:46: In file included from include/linux/blkdev.h:16: include/linux/pagemap.h:401:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict] 401 | filler_t *filler = (filler_t *)mapping->a_ops->readpage; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +1222 drivers/scsi/sd.c 90467c294aba7f FUJITA Tomonori 2010-07-03 1019 87949eee7e1547 Christoph Hellwig 2014-06-28 1020 static int sd_setup_read_write_cmnd(struct scsi_cmnd *SCpnt) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1021 { a1b73fc194e73e Christoph Hellwig 2014-05-01 1022 struct request *rq = SCpnt->request; a1b73fc194e73e Christoph Hellwig 2014-05-01 1023 struct scsi_device *sdp = SCpnt->device; 776b23a0363d99 Christoph Hellwig 2006-01-06 1024 struct gendisk *disk = rq->rq_disk; 89d9475610771b Hannes Reinecke 2016-10-18 1025 struct scsi_disk *sdkp = scsi_disk(disk); 83096ebf1263b2 Tejun Heo 2009-05-07 1026 sector_t block = blk_rq_pos(rq); 18351070b86d15 Linus Torvalds 2008-08-05 1027 sector_t threshold; 83096ebf1263b2 Tejun Heo 2009-05-07 1028 unsigned int this_count = blk_rq_sectors(rq); d597314e1e561e Bart Van Assche 2019-03-23 1029 unsigned int nr_blocks = sectors_to_logical(sdp, blk_rq_sectors(rq)); c611529e7cd346 Martin K. Petersen 2014-09-26 1030 unsigned int dif, dix; c611529e7cd346 Martin K. Petersen 2014-09-26 1031 int ret; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1032 unsigned char protect; 7f9a6bc4e9d59e James Bottomley 2007-08-04 1033 3c356bde19e9a7 Christoph Hellwig 2014-09-05 1034 ret = scsi_init_io(SCpnt); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1035 if (ret != BLKPREP_OK) 39051dd85f2870 Damien Le Moal 2017-12-21 1036 return ret; 0624cbb1e2e64a Bart Van Assche 2017-08-25 1037 WARN_ON_ONCE(SCpnt != rq->special); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1038 7f9a6bc4e9d59e James Bottomley 2007-08-04 1039 /* from here on until we're complete, any goto out 7f9a6bc4e9d59e James Bottomley 2007-08-04 1040 * is used for a killable error condition */ 7f9a6bc4e9d59e James Bottomley 2007-08-04 1041 ret = BLKPREP_KILL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1042 a1b73fc194e73e Christoph Hellwig 2014-05-01 1043 SCSI_LOG_HLQUEUE(1, a1b73fc194e73e Christoph Hellwig 2014-05-01 1044 scmd_printk(KERN_INFO, SCpnt, a1b73fc194e73e Christoph Hellwig 2014-05-01 1045 "%s: block=%llu, count=%d\n", a1b73fc194e73e Christoph Hellwig 2014-05-01 1046 __func__, (unsigned long long)block, this_count)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1047 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1048 if (!sdp || !scsi_device_online(sdp) || 83096ebf1263b2 Tejun Heo 2009-05-07 1049 block + blk_rq_sectors(rq) > get_capacity(disk)) { fa0d34be06213e Martin K. Petersen 2007-02-27 1050 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, 83096ebf1263b2 Tejun Heo 2009-05-07 1051 "Finishing %u sectors\n", 83096ebf1263b2 Tejun Heo 2009-05-07 1052 blk_rq_sectors(rq))); fa0d34be06213e Martin K. Petersen 2007-02-27 1053 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, fa0d34be06213e Martin K. Petersen 2007-02-27 1054 "Retry with 0x%p\n", SCpnt)); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1055 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1056 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1057 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1058 if (sdp->changed) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1059 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 1060 * quietly refuse to do anything to a changed disc until ^1da177e4c3f41 Linus Torvalds 2005-04-16 1061 * the changed bit has been reset ^1da177e4c3f41 Linus Torvalds 2005-04-16 1062 */ 3ff5588d3f8afa Alan Stern 2010-09-07 1063 /* printk("SCSI disk has been changed or is not present. Prohibiting further I/O.\n"); */ 7f9a6bc4e9d59e James Bottomley 2007-08-04 1064 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1065 } 7f9a6bc4e9d59e James Bottomley 2007-08-04 1066 a0899d4df534d2 Hans de Goede 2008-01-20 1067 /* 18351070b86d15 Linus Torvalds 2008-08-05 1068 * Some SD card readers can't handle multi-sector accesses which touch 18351070b86d15 Linus Torvalds 2008-08-05 1069 * the last one or two hardware sectors. Split accesses as needed. a0899d4df534d2 Hans de Goede 2008-01-20 1070 */ 18351070b86d15 Linus Torvalds 2008-08-05 1071 threshold = get_capacity(disk) - SD_LAST_BUGGY_SECTORS * 18351070b86d15 Linus Torvalds 2008-08-05 1072 (sdp->sector_size / 512); 18351070b86d15 Linus Torvalds 2008-08-05 1073 18351070b86d15 Linus Torvalds 2008-08-05 1074 if (unlikely(sdp->last_sector_bug && block + this_count > threshold)) { 18351070b86d15 Linus Torvalds 2008-08-05 1075 if (block < threshold) { 18351070b86d15 Linus Torvalds 2008-08-05 1076 /* Access up to the threshold but not beyond */ 18351070b86d15 Linus Torvalds 2008-08-05 1077 this_count = threshold - block; 18351070b86d15 Linus Torvalds 2008-08-05 1078 } else { 18351070b86d15 Linus Torvalds 2008-08-05 1079 /* Access only a single hardware sector */ 18351070b86d15 Linus Torvalds 2008-08-05 1080 this_count = sdp->sector_size / 512; 18351070b86d15 Linus Torvalds 2008-08-05 1081 } 18351070b86d15 Linus Torvalds 2008-08-05 1082 } a0899d4df534d2 Hans de Goede 2008-01-20 1083 fa0d34be06213e Martin K. Petersen 2007-02-27 1084 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, "block=%llu\n", fa0d34be06213e Martin K. Petersen 2007-02-27 1085 (unsigned long long)block)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1086 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1087 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 1088 * If we have a 1K hardware sectorsize, prevent access to single ^1da177e4c3f41 Linus Torvalds 2005-04-16 1089 * 512 byte sectors. In theory we could handle this - in fact ^1da177e4c3f41 Linus Torvalds 2005-04-16 1090 * the scsi cdrom driver must be able to handle this because ^1da177e4c3f41 Linus Torvalds 2005-04-16 1091 * we typically use 1K blocksizes, and cdroms typically have ^1da177e4c3f41 Linus Torvalds 2005-04-16 1092 * 2K hardware sectorsizes. Of course, things are simpler ^1da177e4c3f41 Linus Torvalds 2005-04-16 1093 * with the cdrom, since it is read-only. For performance ^1da177e4c3f41 Linus Torvalds 2005-04-16 1094 * reasons, the filesystems should be able to handle this ^1da177e4c3f41 Linus Torvalds 2005-04-16 1095 * and not force the scsi disk driver to use bounce buffers ^1da177e4c3f41 Linus Torvalds 2005-04-16 1096 * for this. ^1da177e4c3f41 Linus Torvalds 2005-04-16 1097 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 1098 if (sdp->sector_size == 1024) { 83096ebf1263b2 Tejun Heo 2009-05-07 1099 if ((block & 1) || (blk_rq_sectors(rq) & 1)) { e73aec8247032e Martin K. Petersen 2007-02-27 1100 scmd_printk(KERN_ERR, SCpnt, e73aec8247032e Martin K. Petersen 2007-02-27 1101 "Bad block number requested\n"); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1102 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1103 } else { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1104 block = block >> 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1105 this_count = this_count >> 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1106 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1107 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1108 if (sdp->sector_size == 2048) { 83096ebf1263b2 Tejun Heo 2009-05-07 1109 if ((block & 3) || (blk_rq_sectors(rq) & 3)) { e73aec8247032e Martin K. Petersen 2007-02-27 1110 scmd_printk(KERN_ERR, SCpnt, e73aec8247032e Martin K. Petersen 2007-02-27 1111 "Bad block number requested\n"); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1112 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1113 } else { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1114 block = block >> 2; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1115 this_count = this_count >> 2; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1116 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1117 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1118 if (sdp->sector_size == 4096) { 83096ebf1263b2 Tejun Heo 2009-05-07 1119 if ((block & 7) || (blk_rq_sectors(rq) & 7)) { e73aec8247032e Martin K. Petersen 2007-02-27 1120 scmd_printk(KERN_ERR, SCpnt, e73aec8247032e Martin K. Petersen 2007-02-27 1121 "Bad block number requested\n"); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1122 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1123 } else { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1124 block = block >> 3; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1125 this_count = this_count >> 3; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1126 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1127 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1128 if (rq_data_dir(rq) == WRITE) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1129 SCpnt->cmnd[0] = WRITE_6; af55ff675a8461 Martin K. Petersen 2008-07-17 1130 8c579ab69d50a4 Martin K. Petersen 2012-08-28 1131 if (blk_integrity_rq(rq)) 10c41ddd61323b Max Gurtovoy 2018-07-30 1132 t10_pi_prepare(SCpnt->request, sdkp->protection_type); af55ff675a8461 Martin K. Petersen 2008-07-17 1133 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1134 } else if (rq_data_dir(rq) == READ) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1135 SCpnt->cmnd[0] = READ_6; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1136 } else { ef295ecf090d3e Christoph Hellwig 2016-10-28 1137 scmd_printk(KERN_ERR, SCpnt, "Unknown command %d\n", req_op(rq)); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1138 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1139 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1140 fa0d34be06213e Martin K. Petersen 2007-02-27 1141 SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, 83096ebf1263b2 Tejun Heo 2009-05-07 1142 "%s %d/%u 512 byte blocks.\n", fa0d34be06213e Martin K. Petersen 2007-02-27 1143 (rq_data_dir(rq) == WRITE) ? fa0d34be06213e Martin K. Petersen 2007-02-27 1144 "writing" : "reading", this_count, 83096ebf1263b2 Tejun Heo 2009-05-07 1145 blk_rq_sectors(rq))); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1146 c611529e7cd346 Martin K. Petersen 2014-09-26 1147 dix = scsi_prot_sg_count(SCpnt); c611529e7cd346 Martin K. Petersen 2014-09-26 1148 dif = scsi_host_dif_capable(SCpnt->device->host, sdkp->protection_type); c611529e7cd346 Martin K. Petersen 2014-09-26 1149 c611529e7cd346 Martin K. Petersen 2014-09-26 1150 if (dif || dix) c611529e7cd346 Martin K. Petersen 2014-09-26 1151 protect = sd_setup_protect_cmnd(SCpnt, dix, dif); af55ff675a8461 Martin K. Petersen 2008-07-17 1152 else 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1153 protect = 0; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1154 8475c8118551f8 Christoph Hellwig 2016-09-11 1155 if (protect && sdkp->protection_type == T10_PI_TYPE2_PROTECTION) { 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1156 SCpnt->cmnd = mempool_alloc(sd_cdb_pool, GFP_ATOMIC); 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1157 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1158 if (unlikely(SCpnt->cmnd == NULL)) { 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1159 ret = BLKPREP_DEFER; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1160 goto out; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1161 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1162 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1163 SCpnt->cmd_len = SD_EXT_CDB_SIZE; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1164 memset(SCpnt->cmnd, 0, SCpnt->cmd_len); 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1165 SCpnt->cmnd[0] = VARIABLE_LENGTH_CMD; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1166 SCpnt->cmnd[7] = 0x18; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1167 SCpnt->cmnd[9] = (rq_data_dir(rq) == READ) ? READ_32 : WRITE_32; 33659ebbae2622 Christoph Hellwig 2010-08-07 1168 SCpnt->cmnd[10] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1169 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1170 /* LBA */ 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1171 SCpnt->cmnd[12] = sizeof(block) > 4 ? (unsigned char) (block >> 56) & 0xff : 0; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1172 SCpnt->cmnd[13] = sizeof(block) > 4 ? (unsigned char) (block >> 48) & 0xff : 0; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1173 SCpnt->cmnd[14] = sizeof(block) > 4 ? (unsigned char) (block >> 40) & 0xff : 0; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1174 SCpnt->cmnd[15] = sizeof(block) > 4 ? (unsigned char) (block >> 32) & 0xff : 0; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1175 SCpnt->cmnd[16] = (unsigned char) (block >> 24) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1176 SCpnt->cmnd[17] = (unsigned char) (block >> 16) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1177 SCpnt->cmnd[18] = (unsigned char) (block >> 8) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1178 SCpnt->cmnd[19] = (unsigned char) block & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1179 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1180 /* Expected Indirect LBA */ 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1181 SCpnt->cmnd[20] = (unsigned char) (block >> 24) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1182 SCpnt->cmnd[21] = (unsigned char) (block >> 16) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1183 SCpnt->cmnd[22] = (unsigned char) (block >> 8) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1184 SCpnt->cmnd[23] = (unsigned char) block & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1185 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1186 /* Transfer length */ 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1187 SCpnt->cmnd[28] = (unsigned char) (this_count >> 24) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1188 SCpnt->cmnd[29] = (unsigned char) (this_count >> 16) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1189 SCpnt->cmnd[30] = (unsigned char) (this_count >> 8) & 0xff; 4e7392ec582cf0 Martin K. Petersen 2009-09-20 1190 SCpnt->cmnd[31] = (unsigned char) this_count & 0xff; e430cbc8bbd779 Akinobu Mita 2014-06-02 1191 } else if (sdp->use_16_for_rw || (this_count > 0xffff)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1192 SCpnt->cmnd[0] += READ_16 - READ_6; 33659ebbae2622 Christoph Hellwig 2010-08-07 1193 SCpnt->cmnd[1] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1194 SCpnt->cmnd[2] = sizeof(block) > 4 ? (unsigned char) (block >> 56) & 0xff : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1195 SCpnt->cmnd[3] = sizeof(block) > 4 ? (unsigned char) (block >> 48) & 0xff : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1196 SCpnt->cmnd[4] = sizeof(block) > 4 ? (unsigned char) (block >> 40) & 0xff : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1197 SCpnt->cmnd[5] = sizeof(block) > 4 ? (unsigned char) (block >> 32) & 0xff : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1198 SCpnt->cmnd[6] = (unsigned char) (block >> 24) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1199 SCpnt->cmnd[7] = (unsigned char) (block >> 16) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1200 SCpnt->cmnd[8] = (unsigned char) (block >> 8) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1201 SCpnt->cmnd[9] = (unsigned char) block & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1202 SCpnt->cmnd[10] = (unsigned char) (this_count >> 24) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1203 SCpnt->cmnd[11] = (unsigned char) (this_count >> 16) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1204 SCpnt->cmnd[12] = (unsigned char) (this_count >> 8) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1205 SCpnt->cmnd[13] = (unsigned char) this_count & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1206 SCpnt->cmnd[14] = SCpnt->cmnd[15] = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1207 } else if ((this_count > 0xff) || (block > 0x1fffff) || af55ff675a8461 Martin K. Petersen 2008-07-17 1208 scsi_device_protection(SCpnt->device) || ^1da177e4c3f41 Linus Torvalds 2005-04-16 1209 SCpnt->device->use_10_for_rw) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1210 SCpnt->cmnd[0] += READ_10 - READ_6; 33659ebbae2622 Christoph Hellwig 2010-08-07 1211 SCpnt->cmnd[1] = protect | ((rq->cmd_flags & REQ_FUA) ? 0x8 : 0); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1212 SCpnt->cmnd[2] = (unsigned char) (block >> 24) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1213 SCpnt->cmnd[3] = (unsigned char) (block >> 16) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1214 SCpnt->cmnd[4] = (unsigned char) (block >> 8) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1215 SCpnt->cmnd[5] = (unsigned char) block & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1216 SCpnt->cmnd[6] = SCpnt->cmnd[9] = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1217 SCpnt->cmnd[7] = (unsigned char) (this_count >> 8) & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1218 SCpnt->cmnd[8] = (unsigned char) this_count & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1219 } else { d597314e1e561e Bart Van Assche 2019-03-23 1220 /* Avoid that 0 blocks gets translated into 256 blocks. */ d597314e1e561e Bart Van Assche 2019-03-23 1221 if (WARN_ON_ONCE(nr_blocks == 0)) d597314e1e561e Bart Van Assche 2019-03-23 @1222 return BLK_STS_IOERR; d597314e1e561e Bart Van Assche 2019-03-23 1223 33659ebbae2622 Christoph Hellwig 2010-08-07 1224 if (unlikely(rq->cmd_flags & REQ_FUA)) { 007365ad60387d Tejun Heo 2006-01-06 1225 /* 007365ad60387d Tejun Heo 2006-01-06 1226 * This happens only if this drive failed 007365ad60387d Tejun Heo 2006-01-06 1227 * 10byte rw command with ILLEGAL_REQUEST 007365ad60387d Tejun Heo 2006-01-06 1228 * during operation and thus turned off 007365ad60387d Tejun Heo 2006-01-06 1229 * use_10_for_rw. 007365ad60387d Tejun Heo 2006-01-06 1230 */ e73aec8247032e Martin K. Petersen 2007-02-27 1231 scmd_printk(KERN_ERR, SCpnt, e73aec8247032e Martin K. Petersen 2007-02-27 1232 "FUA write on READ/WRITE(6) drive\n"); 7f9a6bc4e9d59e James Bottomley 2007-08-04 1233 goto out; 007365ad60387d Tejun Heo 2006-01-06 1234 } 007365ad60387d Tejun Heo 2006-01-06 1235 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1236 SCpnt->cmnd[1] |= (unsigned char) ((block >> 16) & 0x1f); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1237 SCpnt->cmnd[2] = (unsigned char) ((block >> 8) & 0xff); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1238 SCpnt->cmnd[3] = (unsigned char) block & 0xff; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1239 SCpnt->cmnd[4] = (unsigned char) this_count; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1240 SCpnt->cmnd[5] = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1241 } 30b0c37b27485a Boaz Harrosh 2007-12-13 1242 SCpnt->sdb.length = this_count * sdp->sector_size; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1243 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1244 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 1245 * We shouldn't disconnect in the middle of a sector, so with a dumb ^1da177e4c3f41 Linus Torvalds 2005-04-16 1246 * host adapter, it's safe to assume that we can at least transfer ^1da177e4c3f41 Linus Torvalds 2005-04-16 1247 * this many bytes between each connect / disconnect. ^1da177e4c3f41 Linus Torvalds 2005-04-16 1248 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 1249 SCpnt->transfersize = sdp->sector_size; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1250 SCpnt->underflow = this_count << 9; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1251 SCpnt->allowed = SD_MAX_RETRIES; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1252 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1253 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 1254 * This indicates that the command is ready from our end to be ^1da177e4c3f41 Linus Torvalds 2005-04-16 1255 * queued. ^1da177e4c3f41 Linus Torvalds 2005-04-16 1256 */ 7f9a6bc4e9d59e James Bottomley 2007-08-04 1257 ret = BLKPREP_OK; 7f9a6bc4e9d59e James Bottomley 2007-08-04 1258 out: a1b73fc194e73e Christoph Hellwig 2014-05-01 1259 return ret; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1260 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1261 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1581/21579] drivers/pci/probe.c:2223:3: sparse: sparse: symbol 'skip_1620_bus_num' was not declared. Should it be static?
by kernel test robot 29 Jan '24

29 Jan '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: acf72db532a7791fde53af3dc7b4d0a6adcf6eff commit: da5e23f4c7511cbc1a199bb4d5d5477e191dc26c [1581/21579] Hi1620 CS FPGA PCIe Skip Bus :::::: branch date: 2 days ago :::::: commit date: 4 years, 1 month ago config: x86_64-randconfig-121-20240125 (attached as .config) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (attached as 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202401290427.eM9fDHDi-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/pci/probe.c:2223:3: sparse: sparse: symbol 'skip_1620_bus_num' was not declared. Should it be static? drivers/pci/probe.c:448:21: sparse: sparse: self-comparison always evaluates to false vim +/skip_1620_bus_num +2223 drivers/pci/probe.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 2214 da5e23f4c7511c Dong Bo 2018-01-30 2215 static int skip_bus_flag = 0; da5e23f4c7511c Dong Bo 2018-01-30 2216 #define HOSTBRIGE_1620_NUM 48 da5e23f4c7511c Dong Bo 2018-01-30 2217 struct skip_bus_num { da5e23f4c7511c Dong Bo 2018-01-30 2218 char module_name[32]; da5e23f4c7511c Dong Bo 2018-01-30 2219 char label[4]; da5e23f4c7511c Dong Bo 2018-01-30 2220 int bus_num; da5e23f4c7511c Dong Bo 2018-01-30 2221 int dev_num; da5e23f4c7511c Dong Bo 2018-01-30 2222 int skip; da5e23f4c7511c Dong Bo 2018-01-30 @2223 } skip_1620_bus_num[HOSTBRIGE_1620_NUM] = { da5e23f4c7511c Dong Bo 2018-01-30 2224 /*chip 0*/ da5e23f4c7511c Dong Bo 2018-01-30 2225 { da5e23f4c7511c Dong Bo 2018-01-30 2226 .module_name = "chip0_pcie", da5e23f4c7511c Dong Bo 2018-01-30 2227 .label = "a0", da5e23f4c7511c Dong Bo 2018-01-30 2228 .bus_num = 0, da5e23f4c7511c Dong Bo 2018-01-30 2229 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2230 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2231 }, da5e23f4c7511c Dong Bo 2018-01-30 2232 { da5e23f4c7511c Dong Bo 2018-01-30 2233 .module_name = "chip0_pcie_dma", da5e23f4c7511c Dong Bo 2018-01-30 2234 .label = "a1", da5e23f4c7511c Dong Bo 2018-01-30 2235 .bus_num = 0x7b, da5e23f4c7511c Dong Bo 2018-01-30 2236 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2237 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2238 }, da5e23f4c7511c Dong Bo 2018-01-30 2239 { da5e23f4c7511c Dong Bo 2018-01-30 2240 .module_name = "chip0_pcie_sdi", da5e23f4c7511c Dong Bo 2018-01-30 2241 .label = "a2", da5e23f4c7511c Dong Bo 2018-01-30 2242 .bus_num = 0x7b, da5e23f4c7511c Dong Bo 2018-01-30 2243 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2244 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2245 }, da5e23f4c7511c Dong Bo 2018-01-30 2246 { da5e23f4c7511c Dong Bo 2018-01-30 2247 .module_name = "chip0_USB", da5e23f4c7511c Dong Bo 2018-01-30 2248 .label = "a3", da5e23f4c7511c Dong Bo 2018-01-30 2249 .bus_num = 0x7a, da5e23f4c7511c Dong Bo 2018-01-30 2250 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2251 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2252 }, da5e23f4c7511c Dong Bo 2018-01-30 2253 { da5e23f4c7511c Dong Bo 2018-01-30 2254 .module_name = "chip0_hpre", da5e23f4c7511c Dong Bo 2018-01-30 2255 .label = "a4", da5e23f4c7511c Dong Bo 2018-01-30 2256 .bus_num = 0x78, da5e23f4c7511c Dong Bo 2018-01-30 2257 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2258 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2259 }, da5e23f4c7511c Dong Bo 2018-01-30 2260 { da5e23f4c7511c Dong Bo 2018-01-30 2261 .module_name = "chip0_rde", da5e23f4c7511c Dong Bo 2018-01-30 2262 .label = "a5", da5e23f4c7511c Dong Bo 2018-01-30 2263 .bus_num = 0x78, da5e23f4c7511c Dong Bo 2018-01-30 2264 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2265 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2266 }, da5e23f4c7511c Dong Bo 2018-01-30 2267 { da5e23f4c7511c Dong Bo 2018-01-30 2268 .module_name = "chip0_nic", da5e23f4c7511c Dong Bo 2018-01-30 2269 .label = "aa", da5e23f4c7511c Dong Bo 2018-01-30 2270 .bus_num = 0x7c, da5e23f4c7511c Dong Bo 2018-01-30 2271 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2272 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2273 }, da5e23f4c7511c Dong Bo 2018-01-30 2274 { da5e23f4c7511c Dong Bo 2018-01-30 2275 .module_name = "chip0_sas", da5e23f4c7511c Dong Bo 2018-01-30 2276 .label = "a6", da5e23f4c7511c Dong Bo 2018-01-30 2277 .bus_num = 0x74, da5e23f4c7511c Dong Bo 2018-01-30 2278 .dev_num = 0x02, da5e23f4c7511c Dong Bo 2018-01-30 2279 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2280 }, da5e23f4c7511c Dong Bo 2018-01-30 2281 { da5e23f4c7511c Dong Bo 2018-01-30 2282 .module_name = "chip0_sas1", da5e23f4c7511c Dong Bo 2018-01-30 2283 .label = "ab", da5e23f4c7511c Dong Bo 2018-01-30 2284 .bus_num = 0x74, da5e23f4c7511c Dong Bo 2018-01-30 2285 .dev_num = 0x04, da5e23f4c7511c Dong Bo 2018-01-30 2286 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2287 }, da5e23f4c7511c Dong Bo 2018-01-30 2288 { da5e23f4c7511c Dong Bo 2018-01-30 2289 .module_name = "chip0_sata", da5e23f4c7511c Dong Bo 2018-01-30 2290 .label = "a7", da5e23f4c7511c Dong Bo 2018-01-30 2291 .bus_num = 0x74, da5e23f4c7511c Dong Bo 2018-01-30 2292 .dev_num = 0x03, da5e23f4c7511c Dong Bo 2018-01-30 2293 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2294 }, da5e23f4c7511c Dong Bo 2018-01-30 2295 { da5e23f4c7511c Dong Bo 2018-01-30 2296 .module_name = "chip0_zip", da5e23f4c7511c Dong Bo 2018-01-30 2297 .label = "a8", da5e23f4c7511c Dong Bo 2018-01-30 2298 .bus_num = 0x74, da5e23f4c7511c Dong Bo 2018-01-30 2299 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2300 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2301 }, da5e23f4c7511c Dong Bo 2018-01-30 2302 { da5e23f4c7511c Dong Bo 2018-01-30 2303 .module_name = "chip0_sec", da5e23f4c7511c Dong Bo 2018-01-30 2304 .label = "a9", da5e23f4c7511c Dong Bo 2018-01-30 2305 .bus_num = 0x74, da5e23f4c7511c Dong Bo 2018-01-30 2306 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2307 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2308 }, da5e23f4c7511c Dong Bo 2018-01-30 2309 /*chip 1*/ da5e23f4c7511c Dong Bo 2018-01-30 2310 { da5e23f4c7511c Dong Bo 2018-01-30 2311 .module_name = "chip1_pcie", da5e23f4c7511c Dong Bo 2018-01-30 2312 .label = "b0", da5e23f4c7511c Dong Bo 2018-01-30 2313 .bus_num = 0x80, da5e23f4c7511c Dong Bo 2018-01-30 2314 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2315 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2316 }, da5e23f4c7511c Dong Bo 2018-01-30 2317 { da5e23f4c7511c Dong Bo 2018-01-30 2318 .module_name = "chip1_pcie_dma", da5e23f4c7511c Dong Bo 2018-01-30 2319 .label = "b1", da5e23f4c7511c Dong Bo 2018-01-30 2320 .bus_num = 0xbb, da5e23f4c7511c Dong Bo 2018-01-30 2321 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2322 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2323 }, da5e23f4c7511c Dong Bo 2018-01-30 2324 { da5e23f4c7511c Dong Bo 2018-01-30 2325 .module_name = "chip1_pcie_sdi", da5e23f4c7511c Dong Bo 2018-01-30 2326 .label = "b2", da5e23f4c7511c Dong Bo 2018-01-30 2327 .bus_num = 0xbb, da5e23f4c7511c Dong Bo 2018-01-30 2328 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2329 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2330 }, da5e23f4c7511c Dong Bo 2018-01-30 2331 { da5e23f4c7511c Dong Bo 2018-01-30 2332 .module_name = "chip1_USB", da5e23f4c7511c Dong Bo 2018-01-30 2333 .label = "b3", da5e23f4c7511c Dong Bo 2018-01-30 2334 .bus_num = 0xba, da5e23f4c7511c Dong Bo 2018-01-30 2335 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2336 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2337 }, da5e23f4c7511c Dong Bo 2018-01-30 2338 { da5e23f4c7511c Dong Bo 2018-01-30 2339 .module_name = "chip1_hpre", da5e23f4c7511c Dong Bo 2018-01-30 2340 .label = "b4", da5e23f4c7511c Dong Bo 2018-01-30 2341 .bus_num = 0xb8, da5e23f4c7511c Dong Bo 2018-01-30 2342 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2343 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2344 }, da5e23f4c7511c Dong Bo 2018-01-30 2345 { da5e23f4c7511c Dong Bo 2018-01-30 2346 .module_name = "chip1_rde", da5e23f4c7511c Dong Bo 2018-01-30 2347 .label = "b5", da5e23f4c7511c Dong Bo 2018-01-30 2348 .bus_num = 0xb8, da5e23f4c7511c Dong Bo 2018-01-30 2349 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2350 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2351 }, da5e23f4c7511c Dong Bo 2018-01-30 2352 { da5e23f4c7511c Dong Bo 2018-01-30 2353 .module_name = "chip1_nic", da5e23f4c7511c Dong Bo 2018-01-30 2354 .label = "ba", da5e23f4c7511c Dong Bo 2018-01-30 2355 .bus_num = 0xbc, da5e23f4c7511c Dong Bo 2018-01-30 2356 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2357 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2358 }, da5e23f4c7511c Dong Bo 2018-01-30 2359 { da5e23f4c7511c Dong Bo 2018-01-30 2360 .module_name = "chip1_sas", da5e23f4c7511c Dong Bo 2018-01-30 2361 .label = "b6", da5e23f4c7511c Dong Bo 2018-01-30 2362 .bus_num = 0xb4, da5e23f4c7511c Dong Bo 2018-01-30 2363 .dev_num = 0x02, da5e23f4c7511c Dong Bo 2018-01-30 2364 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2365 }, da5e23f4c7511c Dong Bo 2018-01-30 2366 { da5e23f4c7511c Dong Bo 2018-01-30 2367 .module_name = "chip1_sas1", da5e23f4c7511c Dong Bo 2018-01-30 2368 .label = "bb", da5e23f4c7511c Dong Bo 2018-01-30 2369 .bus_num = 0xb4, da5e23f4c7511c Dong Bo 2018-01-30 2370 .dev_num = 0x04, da5e23f4c7511c Dong Bo 2018-01-30 2371 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2372 }, da5e23f4c7511c Dong Bo 2018-01-30 2373 { da5e23f4c7511c Dong Bo 2018-01-30 2374 .module_name = "chip1_sata", da5e23f4c7511c Dong Bo 2018-01-30 2375 .label = "b7", da5e23f4c7511c Dong Bo 2018-01-30 2376 .bus_num = 0xb4, da5e23f4c7511c Dong Bo 2018-01-30 2377 .dev_num = 0x03, da5e23f4c7511c Dong Bo 2018-01-30 2378 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2379 }, da5e23f4c7511c Dong Bo 2018-01-30 2380 { da5e23f4c7511c Dong Bo 2018-01-30 2381 .module_name = "chip1_zip", da5e23f4c7511c Dong Bo 2018-01-30 2382 .label = "b8", da5e23f4c7511c Dong Bo 2018-01-30 2383 .bus_num = 0xb4, da5e23f4c7511c Dong Bo 2018-01-30 2384 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2385 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2386 }, da5e23f4c7511c Dong Bo 2018-01-30 2387 { da5e23f4c7511c Dong Bo 2018-01-30 2388 .module_name = "chip0_sec", da5e23f4c7511c Dong Bo 2018-01-30 2389 .label = "b9", da5e23f4c7511c Dong Bo 2018-01-30 2390 .bus_num = 0xb4, da5e23f4c7511c Dong Bo 2018-01-30 2391 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2392 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2393 }, da5e23f4c7511c Dong Bo 2018-01-30 2394 da5e23f4c7511c Dong Bo 2018-01-30 2395 /*chip 2*/ da5e23f4c7511c Dong Bo 2018-01-30 2396 { da5e23f4c7511c Dong Bo 2018-01-30 2397 .module_name = "chip2_pcie", da5e23f4c7511c Dong Bo 2018-01-30 2398 .label = "c0", da5e23f4c7511c Dong Bo 2018-01-30 2399 .bus_num = 0xc0, da5e23f4c7511c Dong Bo 2018-01-30 2400 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2401 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2402 }, da5e23f4c7511c Dong Bo 2018-01-30 2403 { da5e23f4c7511c Dong Bo 2018-01-30 2404 .module_name = "chip2_pcie_dma", da5e23f4c7511c Dong Bo 2018-01-30 2405 .label = "c1", da5e23f4c7511c Dong Bo 2018-01-30 2406 .bus_num = 0xdb, da5e23f4c7511c Dong Bo 2018-01-30 2407 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2408 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2409 }, da5e23f4c7511c Dong Bo 2018-01-30 2410 { da5e23f4c7511c Dong Bo 2018-01-30 2411 .module_name = "chip2_pcie_sdi", da5e23f4c7511c Dong Bo 2018-01-30 2412 .label = "c2", da5e23f4c7511c Dong Bo 2018-01-30 2413 .bus_num = 0xdb, da5e23f4c7511c Dong Bo 2018-01-30 2414 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2415 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2416 }, da5e23f4c7511c Dong Bo 2018-01-30 2417 { da5e23f4c7511c Dong Bo 2018-01-30 2418 .module_name = "chip2_USB", da5e23f4c7511c Dong Bo 2018-01-30 2419 .label = "c3", da5e23f4c7511c Dong Bo 2018-01-30 2420 .bus_num = 0xda, da5e23f4c7511c Dong Bo 2018-01-30 2421 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2422 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2423 }, da5e23f4c7511c Dong Bo 2018-01-30 2424 { da5e23f4c7511c Dong Bo 2018-01-30 2425 .module_name = "chip2_hpre", da5e23f4c7511c Dong Bo 2018-01-30 2426 .label = "c4", da5e23f4c7511c Dong Bo 2018-01-30 2427 .bus_num = 0xd8, da5e23f4c7511c Dong Bo 2018-01-30 2428 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2429 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2430 }, da5e23f4c7511c Dong Bo 2018-01-30 2431 { da5e23f4c7511c Dong Bo 2018-01-30 2432 .module_name = "chip2_rde", da5e23f4c7511c Dong Bo 2018-01-30 2433 .label = "c5", da5e23f4c7511c Dong Bo 2018-01-30 2434 .bus_num = 0xd8, da5e23f4c7511c Dong Bo 2018-01-30 2435 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2436 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2437 }, da5e23f4c7511c Dong Bo 2018-01-30 2438 { da5e23f4c7511c Dong Bo 2018-01-30 2439 .module_name = "chip2_nic", da5e23f4c7511c Dong Bo 2018-01-30 2440 .label = "ca", da5e23f4c7511c Dong Bo 2018-01-30 2441 .bus_num = 0xdc, da5e23f4c7511c Dong Bo 2018-01-30 2442 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2443 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2444 }, da5e23f4c7511c Dong Bo 2018-01-30 2445 { da5e23f4c7511c Dong Bo 2018-01-30 2446 .module_name = "chip2_sas", da5e23f4c7511c Dong Bo 2018-01-30 2447 .label = "c6", da5e23f4c7511c Dong Bo 2018-01-30 2448 .bus_num = 0xd4, da5e23f4c7511c Dong Bo 2018-01-30 2449 .dev_num = 0x02, da5e23f4c7511c Dong Bo 2018-01-30 2450 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2451 }, da5e23f4c7511c Dong Bo 2018-01-30 2452 { da5e23f4c7511c Dong Bo 2018-01-30 2453 .module_name = "chip2_sas1", da5e23f4c7511c Dong Bo 2018-01-30 2454 .label = "cb", da5e23f4c7511c Dong Bo 2018-01-30 2455 .bus_num = 0xd4, da5e23f4c7511c Dong Bo 2018-01-30 2456 .dev_num = 0x04, da5e23f4c7511c Dong Bo 2018-01-30 2457 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2458 }, da5e23f4c7511c Dong Bo 2018-01-30 2459 { da5e23f4c7511c Dong Bo 2018-01-30 2460 .module_name = "chip2_sata", da5e23f4c7511c Dong Bo 2018-01-30 2461 .label = "c7", da5e23f4c7511c Dong Bo 2018-01-30 2462 .bus_num = 0xd4, da5e23f4c7511c Dong Bo 2018-01-30 2463 .dev_num = 0x03, da5e23f4c7511c Dong Bo 2018-01-30 2464 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2465 }, da5e23f4c7511c Dong Bo 2018-01-30 2466 { da5e23f4c7511c Dong Bo 2018-01-30 2467 .module_name = "chip2_zip", da5e23f4c7511c Dong Bo 2018-01-30 2468 .label = "c8", da5e23f4c7511c Dong Bo 2018-01-30 2469 .bus_num = 0xd4, da5e23f4c7511c Dong Bo 2018-01-30 2470 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2471 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2472 }, da5e23f4c7511c Dong Bo 2018-01-30 2473 { da5e23f4c7511c Dong Bo 2018-01-30 2474 .module_name = "chip2_sec", da5e23f4c7511c Dong Bo 2018-01-30 2475 .label = "c9", da5e23f4c7511c Dong Bo 2018-01-30 2476 .bus_num = 0xd4, da5e23f4c7511c Dong Bo 2018-01-30 2477 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2478 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2479 }, da5e23f4c7511c Dong Bo 2018-01-30 2480 da5e23f4c7511c Dong Bo 2018-01-30 2481 /*chip 3*/ da5e23f4c7511c Dong Bo 2018-01-30 2482 { da5e23f4c7511c Dong Bo 2018-01-30 2483 .module_name = "chip3_pcie", da5e23f4c7511c Dong Bo 2018-01-30 2484 .label = "d0", da5e23f4c7511c Dong Bo 2018-01-30 2485 .bus_num = 0xe0, da5e23f4c7511c Dong Bo 2018-01-30 2486 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2487 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2488 }, da5e23f4c7511c Dong Bo 2018-01-30 2489 { da5e23f4c7511c Dong Bo 2018-01-30 2490 .module_name = "chip3_pcie_dma", da5e23f4c7511c Dong Bo 2018-01-30 2491 .label = "d1", da5e23f4c7511c Dong Bo 2018-01-30 2492 .bus_num = 0xfb, da5e23f4c7511c Dong Bo 2018-01-30 2493 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2494 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2495 }, da5e23f4c7511c Dong Bo 2018-01-30 2496 { da5e23f4c7511c Dong Bo 2018-01-30 2497 .module_name = "chip3_pcie_sdi", da5e23f4c7511c Dong Bo 2018-01-30 2498 .label = "d2", da5e23f4c7511c Dong Bo 2018-01-30 2499 .bus_num = 0xfb, da5e23f4c7511c Dong Bo 2018-01-30 2500 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2501 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2502 }, da5e23f4c7511c Dong Bo 2018-01-30 2503 { da5e23f4c7511c Dong Bo 2018-01-30 2504 .module_name = "chip3_USB", da5e23f4c7511c Dong Bo 2018-01-30 2505 .label = "d3", da5e23f4c7511c Dong Bo 2018-01-30 2506 .bus_num = 0xfa, da5e23f4c7511c Dong Bo 2018-01-30 2507 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2508 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2509 }, da5e23f4c7511c Dong Bo 2018-01-30 2510 { da5e23f4c7511c Dong Bo 2018-01-30 2511 .module_name = "chip3_hpre", da5e23f4c7511c Dong Bo 2018-01-30 2512 .label = "d4", da5e23f4c7511c Dong Bo 2018-01-30 2513 .bus_num = 0xf8, da5e23f4c7511c Dong Bo 2018-01-30 2514 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2515 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2516 }, da5e23f4c7511c Dong Bo 2018-01-30 2517 { da5e23f4c7511c Dong Bo 2018-01-30 2518 .module_name = "chip3_rde", da5e23f4c7511c Dong Bo 2018-01-30 2519 .label = "d5", da5e23f4c7511c Dong Bo 2018-01-30 2520 .bus_num = 0xf8, da5e23f4c7511c Dong Bo 2018-01-30 2521 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2522 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2523 }, da5e23f4c7511c Dong Bo 2018-01-30 2524 { da5e23f4c7511c Dong Bo 2018-01-30 2525 .module_name = "chip3_nic", da5e23f4c7511c Dong Bo 2018-01-30 2526 .label = "da", da5e23f4c7511c Dong Bo 2018-01-30 2527 .bus_num = 0xfc, da5e23f4c7511c Dong Bo 2018-01-30 2528 .dev_num = 0xff, da5e23f4c7511c Dong Bo 2018-01-30 2529 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2530 }, da5e23f4c7511c Dong Bo 2018-01-30 2531 { da5e23f4c7511c Dong Bo 2018-01-30 2532 .module_name = "chip3_sas", da5e23f4c7511c Dong Bo 2018-01-30 2533 .label = "d6", da5e23f4c7511c Dong Bo 2018-01-30 2534 .bus_num = 0xf4, da5e23f4c7511c Dong Bo 2018-01-30 2535 .dev_num = 0x02, da5e23f4c7511c Dong Bo 2018-01-30 2536 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2537 }, da5e23f4c7511c Dong Bo 2018-01-30 2538 { da5e23f4c7511c Dong Bo 2018-01-30 2539 .module_name = "chip3_sas1", da5e23f4c7511c Dong Bo 2018-01-30 2540 .label = "db", da5e23f4c7511c Dong Bo 2018-01-30 2541 .bus_num = 0xf4, da5e23f4c7511c Dong Bo 2018-01-30 2542 .dev_num = 0x04, da5e23f4c7511c Dong Bo 2018-01-30 2543 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2544 }, da5e23f4c7511c Dong Bo 2018-01-30 2545 { da5e23f4c7511c Dong Bo 2018-01-30 2546 .module_name = "chip3_sata", da5e23f4c7511c Dong Bo 2018-01-30 2547 .label = "d7", da5e23f4c7511c Dong Bo 2018-01-30 2548 .bus_num = 0xf4, da5e23f4c7511c Dong Bo 2018-01-30 2549 .dev_num = 0x03, da5e23f4c7511c Dong Bo 2018-01-30 2550 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2551 }, da5e23f4c7511c Dong Bo 2018-01-30 2552 { da5e23f4c7511c Dong Bo 2018-01-30 2553 .module_name = "chip3_zip", da5e23f4c7511c Dong Bo 2018-01-30 2554 .label = "d8", da5e23f4c7511c Dong Bo 2018-01-30 2555 .bus_num = 0xf4, da5e23f4c7511c Dong Bo 2018-01-30 2556 .dev_num = 0x0, da5e23f4c7511c Dong Bo 2018-01-30 2557 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2558 }, da5e23f4c7511c Dong Bo 2018-01-30 2559 { da5e23f4c7511c Dong Bo 2018-01-30 2560 .module_name = "chip3_sec", da5e23f4c7511c Dong Bo 2018-01-30 2561 .label = "d9", da5e23f4c7511c Dong Bo 2018-01-30 2562 .bus_num = 0xf4, da5e23f4c7511c Dong Bo 2018-01-30 2563 .dev_num = 0x1, da5e23f4c7511c Dong Bo 2018-01-30 2564 .skip = 0 da5e23f4c7511c Dong Bo 2018-01-30 2565 }, da5e23f4c7511c Dong Bo 2018-01-30 2566 }; da5e23f4c7511c Dong Bo 2018-01-30 2567 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6 v3 0/2] KABI reservation for IMA and crypto
by GUO Zihua 29 Jan '24

29 Jan '24
KABI reservation for IMA and crypto module. v3: Reserve one more u64 for crypto related structs. v2: Changed reservation ordering, and more reservation. GUO Zihua (2): crypto: kabi: KABI reservation for crypto ima: kabi: KABI reservation for IMA include/crypto/aead.h | 7 +++++++ include/crypto/akcipher.h | 7 +++++++ include/crypto/algapi.h | 7 +++++++ include/crypto/cryptd.h | 3 +++ include/crypto/hash.h | 9 +++++++++ include/crypto/if_alg.h | 9 +++++++++ include/crypto/public_key.h | 5 +++++ include/crypto/rng.h | 5 +++++ include/crypto/skcipher.h | 7 +++++++ include/linux/crypto.h | 5 +++++ include/linux/fs.h | 5 +++++ include/linux/kernel_read_file.h | 3 +++ include/linux/kexec.h | 5 +++++ include/linux/user_namespace.h | 3 +++ 14 files changed, 80 insertions(+) -- 2.34.1
1 2
0 0
[PATCH OLK-6.6] iommu/iova: avoid softlockup in fq_flush_timeout
by Zhang Zekun 29 Jan '24

29 Jan '24
hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8ZE0I CVE: NA --------------------------------- There is softlockup under fio pressure test with smmu enabled: watchdog: BUG: soft lockup - CPU#81 stuck for 22s! [swapper/81:0] ... Call trace: fq_flush_timeout+0xc0/0x110 call_timer_fn+0x34/0x178 expire_timers+0xec/0x158 run_timer_softirq+0xc0/0x1f8 __do_softirq+0x120/0x324 irq_exit+0x11c/0x140 __handle_domain_irq+0x6c/0xc0 gic_handle_irq+0x6c/0x170 el1_irq+0xb8/0x140 arch_cpu_idle+0x38/0x1c0 default_idle_call+0x24/0x44 do_idle+0x1f4/0x2d8 cpu_startup_entry+0x2c/0x30 secondary_start_kernel+0x17c/0x1c8 This is because the timer callback fq_flush_timeout may run more than 10ms, and timer may be processed continuously in the softirq so trigger softlockup. We can use work to deal with fq_ring_free for each cpu which may take long time, that to avoid triggering softlockup. Signed-off-by: Li Bin <huawei.libin(a)huawei.com> Signed-off-by: Peng Wu <wupeng58(a)huawei.com> Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com> --- drivers/iommu/dma-iommu.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index 4b1a88f514c9..b144ce2b2915 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -68,6 +68,8 @@ struct iommu_dma_cookie { /* Domain for flush queue callback; NULL if flush queue not in use */ struct iommu_domain *fq_domain; struct mutex mutex; + + struct work_struct free_iova_work; }; static DEFINE_STATIC_KEY_FALSE(iommu_deferred_attach_enabled); @@ -155,20 +157,11 @@ static void fq_flush_iotlb(struct iommu_dma_cookie *cookie) static void fq_flush_timeout(struct timer_list *t) { struct iommu_dma_cookie *cookie = from_timer(cookie, t, fq_timer); - int cpu; atomic_set(&cookie->fq_timer_on, 0); fq_flush_iotlb(cookie); - for_each_possible_cpu(cpu) { - unsigned long flags; - struct iova_fq *fq; - - fq = per_cpu_ptr(cookie->fq, cpu); - spin_lock_irqsave(&fq->lock, flags); - fq_ring_free(cookie, fq); - spin_unlock_irqrestore(&fq->lock, flags); - } + schedule_work(&cookie->free_iova_work); } static void queue_iova(struct iommu_dma_cookie *cookie, @@ -235,9 +228,28 @@ static void iommu_dma_free_fq(struct iommu_dma_cookie *cookie) put_pages_list(&fq->entries[idx].freelist); } + flush_work(&cookie->free_iova_work); free_percpu(cookie->fq); } +static void free_iova_work_func(struct work_struct *work) +{ + struct iommu_dma_cookie *cookie; + int cpu; + + cookie = container_of(work, struct iommu_dma_cookie, free_iova_work); + for_each_possible_cpu(cpu) { + unsigned long flags; + struct iova_fq *fq; + + fq = per_cpu_ptr(cookie->fq, cpu); + spin_lock_irqsave(&fq->lock, flags); + fq_ring_free(cookie, fq); + spin_unlock_irqrestore(&fq->lock, flags); + } +} + + /* sysfs updates are serialised by the mutex of the group owning @domain */ int iommu_dma_init_fq(struct iommu_domain *domain) { @@ -271,6 +283,7 @@ int iommu_dma_init_fq(struct iommu_domain *domain) cookie->fq = queue; + INIT_WORK(&cookie->free_iova_work, free_iova_work_func); timer_setup(&cookie->fq_timer, fq_flush_timeout, 0); atomic_set(&cookie->fq_timer_on, 0); /* -- 2.17.1
2 1
0 0
[PATCH OLK-5.10] iommu/iova: avoid softlockup in fq_flush_timeout
by Zhang Zekun 29 Jan '24

29 Jan '24
hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8ZE0I CVE: NA --------------------------------- There is softlockup under fio pressure test with smmu enabled: watchdog: BUG: soft lockup - CPU#81 stuck for 22s! [swapper/81:0] ... Call trace: fq_flush_timeout+0xc0/0x110 call_timer_fn+0x34/0x178 expire_timers+0xec/0x158 run_timer_softirq+0xc0/0x1f8 __do_softirq+0x120/0x324 irq_exit+0x11c/0x140 __handle_domain_irq+0x6c/0xc0 gic_handle_irq+0x6c/0x170 el1_irq+0xb8/0x140 arch_cpu_idle+0x38/0x1c0 default_idle_call+0x24/0x44 do_idle+0x1f4/0x2d8 cpu_startup_entry+0x2c/0x30 secondary_start_kernel+0x17c/0x1c8 This is because the timer callback fq_flush_timeout may run more than 10ms, and timer may be processed continuously in the softirq so trigger softlockup. We can use work to deal with fq_ring_free for each cpu which may take long time, that to avoid triggering softlockup. Signed-off-by: Li Bin <huawei.libin(a)huawei.com> Signed-off-by: Peng Wu <wupeng58(a)huawei.com> Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com> --- drivers/iommu/dma-iommu.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index 4b1a88f514c9..b144ce2b2915 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -68,6 +68,8 @@ struct iommu_dma_cookie { /* Domain for flush queue callback; NULL if flush queue not in use */ struct iommu_domain *fq_domain; struct mutex mutex; + + struct work_struct free_iova_work; }; static DEFINE_STATIC_KEY_FALSE(iommu_deferred_attach_enabled); @@ -155,20 +157,11 @@ static void fq_flush_iotlb(struct iommu_dma_cookie *cookie) static void fq_flush_timeout(struct timer_list *t) { struct iommu_dma_cookie *cookie = from_timer(cookie, t, fq_timer); - int cpu; atomic_set(&cookie->fq_timer_on, 0); fq_flush_iotlb(cookie); - for_each_possible_cpu(cpu) { - unsigned long flags; - struct iova_fq *fq; - - fq = per_cpu_ptr(cookie->fq, cpu); - spin_lock_irqsave(&fq->lock, flags); - fq_ring_free(cookie, fq); - spin_unlock_irqrestore(&fq->lock, flags); - } + schedule_work(&cookie->free_iova_work); } static void queue_iova(struct iommu_dma_cookie *cookie, @@ -235,9 +228,28 @@ static void iommu_dma_free_fq(struct iommu_dma_cookie *cookie) put_pages_list(&fq->entries[idx].freelist); } + flush_work(&cookie->free_iova_work); free_percpu(cookie->fq); } +static void free_iova_work_func(struct work_struct *work) +{ + struct iommu_dma_cookie *cookie; + int cpu; + + cookie = container_of(work, struct iommu_dma_cookie, free_iova_work); + for_each_possible_cpu(cpu) { + unsigned long flags; + struct iova_fq *fq; + + fq = per_cpu_ptr(cookie->fq, cpu); + spin_lock_irqsave(&fq->lock, flags); + fq_ring_free(cookie, fq); + spin_unlock_irqrestore(&fq->lock, flags); + } +} + + /* sysfs updates are serialised by the mutex of the group owning @domain */ int iommu_dma_init_fq(struct iommu_domain *domain) { @@ -271,6 +283,7 @@ int iommu_dma_init_fq(struct iommu_domain *domain) cookie->fq = queue; + INIT_WORK(&cookie->free_iova_work, free_iova_work_func); timer_setup(&cookie->fq_timer, fq_flush_timeout, 0); atomic_set(&cookie->fq_timer_on, 0); /* -- 2.17.1
1 0
0 0
[PATCH OLK-5.10 0/2] fix spinlock already unlocked in inet_csk_reqsk_queue_add' bug
by Zhengchao Shao 29 Jan '24

29 Jan '24
Fix spinlock already unlocked in inet_csk_reqsk_queue_add' bug. Zhengchao Shao (2): tcp: make sure init the accept_queue's spinlocks once ipv6: init the accept_queue's spinlocks in inet6_create include/net/inet_connection_sock.h | 8 ++++++++ net/core/request_sock.c | 3 --- net/ipv4/af_inet.c | 3 +++ net/ipv4/inet_connection_sock.c | 4 ++++ net/ipv6/af_inet6.c | 3 +++ 5 files changed, 18 insertions(+), 3 deletions(-) -- 2.34.1
1 2
0 0
[PATCH OLK-6.6 v2] tcp: fix compilation issue when CONFIG_SYSCTL is disabled
by Zhengchao Shao 29 Jan '24

29 Jan '24
hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8Y7PX CVE: NA -------------------------------- The following error is reported when the kernel is compiled with CONFIG_SYSCTL disabled: aarch64-linux-ld: net/ipv4/inet_hashtables.o: in function `__inet_hash_connect': inet_hashtables.c:(.text+0x3564): undefined reference to `sysctl_local_port_allocation' aarch64-linux-ld: net/ipv4/inet_hashtables.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `sysctl_local_port_allocation' which may bind externally can not be used when making a shared object; recompile with -fPIC >> inet_hashtables.c:(.text+0x3564): dangerous relocation: unsupported relocation aarch64-linux-ld: inet_hashtables.c:(.text+0x3568): undefined reference to `sysctl_local_port_allocation' aarch64-linux-ld: inet_hashtables.c:(.text+0x3580): undefined reference to `sysctl_local_port_allocation' When CONFIG_SYSCTL is disabled, sysctl_local_port_allocation is undefined. Fixes: 208a72041292 ("tcp/dccp: Add another way to allocate local ports in connect()") Reported-by: kernel test robot <lkp(a)intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202401180939.2N529UUe-lkp@intel.com/ Signed-off-by: Zhengchao Shao <shaozhengchao(a)huawei.com> --- net/ipv4/inet_hashtables.c | 2 ++ net/ipv4/sysctl_net_ipv4.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index a24dcf39e9ae..57a207101545 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c @@ -28,6 +28,8 @@ #include <net/tcp.h> #include <net/sock_reuseport.h> +int sysctl_local_port_allocation; + u32 inet_ehashfn(const struct net *net, const __be32 laddr, const __u16 lport, const __be32 faddr, const __be16 fport) diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index f212133b05e9..64b3bfcbfa25 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -39,7 +39,6 @@ static unsigned long ip_ping_group_range_min[] = { 0, 0 }; static unsigned long ip_ping_group_range_max[] = { GID_T_MAX, GID_T_MAX }; static u32 u32_max_div_HZ = UINT_MAX / HZ; static int one_day_secs = 24 * 3600; -int sysctl_local_port_allocation; static u32 fib_multipath_hash_fields_all_mask __maybe_unused = FIB_MULTIPATH_HASH_FIELD_ALL_MASK; static unsigned int tcp_child_ehash_entries_max = 16 * 1024 * 1024; -- 2.34.1
2 1
0 0
[PATCH OLK-5.10 0/3] linux Mainline ubifs Fix Patch bacnport to 5.10
by ZhaoLong Wang 29 Jan '24

29 Jan '24
revert the commit f13656bbd4c9423857d7115ab93263b76d860c96 for apply d07cec9c238ae8fc6c1a9f3f5d30a2f8ec6cdc71 Backport d81efd66106c03771ffc8637855a6ec24caa6350 Konstantin Meskhidze (1): ubifs: fix possible dereference after free ZhaoLong Wang (2): Revert "mtd/ubi/block: Fix uaf problem in ubiblock_cleanup" ubi: block: Fix use-after-free in ubiblock_cleanup drivers/mtd/ubi/block.c | 4 +++- fs/ubifs/tnc.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) -- 2.34.3
1 3
0 0
  • ← Newer
  • 1
  • ...
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...
  • 66
  • Older →

HyperKitty Powered by HyperKitty