drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
From: kernel test robot
Date: Wed Jun 17 2026 - 15:51:06 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0839c8963b7b28d25350bd5ea69bacde794124ab
commit: 593f1aac976d9bb4681746bfc4b90e1b73821411 s390/percpu: Use new percpu code section for arch_this_cpu_add_return()
date: 2 weeks ago
config: s390-randconfig-r072-20260617 (https://download.01.org/0day-ci/archive/20260618/202606180318.r8O5XKoV-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9185-gbcc58b9c
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260618/202606180318.r8O5XKoV-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
| Fixes: 593f1aac976d ("s390/percpu: Use new percpu code section for arch_this_cpu_add_return()")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606180318.r8O5XKoV-lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
drivers/nvdimm/region_devs.c: Assembler messages:
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
>> drivers/nvdimm/region_devs.c:1147: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
drivers/nvdimm/region_devs.c:1152: Warning: missing closing `"'
--
drivers/md/dm-vdo/funnel-workqueue.c: Assembler messages:
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
>> drivers/md/dm-vdo/funnel-workqueue.c:590: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
drivers/md/dm-vdo/funnel-workqueue.c:595: Warning: missing closing `"'
vim +1147 drivers/nvdimm/region_devs.c
04ad63f086d1a9 Dan Williams 2022-01-11 1110
c5d4355d10d414 Pankaj Gupta 2019-07-05 1111 int nvdimm_flush(struct nd_region *nd_region, struct bio *bio)
c5d4355d10d414 Pankaj Gupta 2019-07-05 1112 {
c5d4355d10d414 Pankaj Gupta 2019-07-05 1113 int rc = 0;
c5d4355d10d414 Pankaj Gupta 2019-07-05 1114
c5d4355d10d414 Pankaj Gupta 2019-07-05 1115 if (!nd_region->flush)
c5d4355d10d414 Pankaj Gupta 2019-07-05 1116 rc = generic_nvdimm_flush(nd_region);
c5d4355d10d414 Pankaj Gupta 2019-07-05 1117 else {
c5d4355d10d414 Pankaj Gupta 2019-07-05 1118 if (nd_region->flush(nd_region, bio))
c5d4355d10d414 Pankaj Gupta 2019-07-05 1119 rc = -EIO;
c5d4355d10d414 Pankaj Gupta 2019-07-05 1120 }
c5d4355d10d414 Pankaj Gupta 2019-07-05 1121
c5d4355d10d414 Pankaj Gupta 2019-07-05 1122 return rc;
c5d4355d10d414 Pankaj Gupta 2019-07-05 1123 }
f284a4f23752d0 Dan Williams 2016-07-07 1124 /**
a84b280f195df8 Jiapeng Chong 2022-09-19 1125 * generic_nvdimm_flush() - flush any posted write queues between the cpu and pmem media
3b6c6c039707f6 Dan Williams 2022-03-09 1126 * @nd_region: interleaved pmem region
f284a4f23752d0 Dan Williams 2016-07-07 1127 */
c5d4355d10d414 Pankaj Gupta 2019-07-05 1128 int generic_nvdimm_flush(struct nd_region *nd_region)
f284a4f23752d0 Dan Williams 2016-07-07 1129 {
f284a4f23752d0 Dan Williams 2016-07-07 1130 struct nd_region_data *ndrd = dev_get_drvdata(&nd_region->dev);
0c27af60d1bbd3 Dan Williams 2016-05-27 1131 int i, idx;
0c27af60d1bbd3 Dan Williams 2016-05-27 1132
0c27af60d1bbd3 Dan Williams 2016-05-27 1133 /*
0c27af60d1bbd3 Dan Williams 2016-05-27 1134 * Try to encourage some diversity in flush hint addresses
0c27af60d1bbd3 Dan Williams 2016-05-27 1135 * across cpus assuming a limited number of flush hints.
0c27af60d1bbd3 Dan Williams 2016-05-27 1136 */
0c27af60d1bbd3 Dan Williams 2016-05-27 1137 idx = this_cpu_read(flush_idx);
0c27af60d1bbd3 Dan Williams 2016-05-27 1138 idx = this_cpu_add_return(flush_idx, hash_32(current->pid + idx, 8));
f284a4f23752d0 Dan Williams 2016-07-07 1139
f284a4f23752d0 Dan Williams 2016-07-07 1140 /*
3e79f082ebfc13 Aneesh Kumar K.V 2020-07-01 1141 * The pmem_wmb() is needed to 'sfence' all
3e79f082ebfc13 Aneesh Kumar K.V 2020-07-01 1142 * previous writes such that they are architecturally visible for
3e79f082ebfc13 Aneesh Kumar K.V 2020-07-01 1143 * the platform buffer flush. Note that we've already arranged for pmem
0aed55af88345b Dan Williams 2017-05-29 1144 * writes to avoid the cache via memcpy_flushcache(). The final
0aed55af88345b Dan Williams 2017-05-29 1145 * wmb() ensures ordering for the NVDIMM flush write.
f284a4f23752d0 Dan Williams 2016-07-07 1146 */
3e79f082ebfc13 Aneesh Kumar K.V 2020-07-01 @1147 pmem_wmb();
f284a4f23752d0 Dan Williams 2016-07-07 1148 for (i = 0; i < nd_region->ndr_mappings; i++)
595c73071e6641 Dan Williams 2016-09-23 1149 if (ndrd_get_flush_wpq(ndrd, i, 0))
595c73071e6641 Dan Williams 2016-09-23 1150 writeq(1, ndrd_get_flush_wpq(ndrd, i, idx));
f284a4f23752d0 Dan Williams 2016-07-07 1151 wmb();
c5d4355d10d414 Pankaj Gupta 2019-07-05 1152
c5d4355d10d414 Pankaj Gupta 2019-07-05 1153 return 0;
f284a4f23752d0 Dan Williams 2016-07-07 1154 }
f284a4f23752d0 Dan Williams 2016-07-07 1155 EXPORT_SYMBOL_GPL(nvdimm_flush);
f284a4f23752d0 Dan Williams 2016-07-07 1156
:::::: The code at line 1147 was first introduced by commit
:::::: 3e79f082ebfc130360bcee23e4dd74729dcafdf4 libnvdimm/nvdimm/flush: Allow architecture to override the flush barrier
:::::: TO: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx>
:::::: CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki