Re: [linux-next:master 7183/13846] kernel/hazptr.c:178: Warning: missing closing `"'
"Paul E. McKenney" <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <314a0d67-7402-4201-8aef-cc46cdb1f1dc@paulmck-laptop> |
On Sat, Aug 08, 2026 at 08:58:42AM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 6b8c8af514d739d0335f5579b585e02babe8a727 > commit: 9d30872a4c09c2e8a97084ef1fe6913f6bf9e34d [7183/13846] hazptr: Implement Hazard Pointers > config: s390-randconfig-001-20260808 (https://download.01.org/0day-ci/archive/20260808/[email protected]/config) > compiler: s390-linux-gcc (GCC) 8.5.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260808/[email protected]/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 <[email protected]> > | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ > > All warnings (new ones prefixed by >>): > > kernel/hazptr.c: Assembler messages: > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > >> kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:178: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > kernel/hazptr.c:183: Warning: missing closing `"' > > > vim +178 kernel/hazptr.c > > 154 > 155 /* > 156 * hazptr_synchronize: Wait until @addr is released from all slots. > 157 * > 158 * Wait to observe that each slot contains a value that differs from > 159 * @addr before returning. > 160 * Should be called from preemptible context. > 161 */ > 162 void hazptr_synchronize(void *addr) > 163 { > 164 int cpu; > 165 > 166 /* > 167 * Busy-wait should only be done from preemptible context. > 168 */ > 169 lockdep_assert_preemption_enabled(); > 170 > 171 /* > 172 * Store A precedes hazptr_scan(): it unpublishes addr (sets it to > 173 * NULL or to a different value), and thus hides it from hazard > 174 * pointer readers. > 175 */ > 176 if (!addr) > 177 return; > > 178 /* Memory ordering: Store A before Load B. */ Is this perhaps a typo in s390 smp_mb() or similar? I freely confess that I am having trouble seeing how the above comment causes trouble. Thanx, Paul > 179 smp_mb(); > 180 /* Scan all CPUs slots. */ > 181 for_each_possible_cpu(cpu) { > 182 struct hazptr_overflow_list_flip *overflow_list_flip = per_cpu_ptr(&percpu_overflow_list_flip, cpu); > 183 unsigned int scan_idx; > 184 > 185 /* Scan CPU slots. */ > 186 hazptr_synchronize_cpu_slots(cpu, addr); > 187 > 188 /* > 189 * Scan backup slots in percpu overflow lists. > 190 * Forward progress is guaranteed by scanning one list > 191 * while new elements are added into the other list. > 192 */ > 193 guard(mutex)(&overflow_list_flip->lock); > 194 scan_idx = overflow_list_flip->add_idx ^ 1; > 195 hazptr_synchronize_overflow_list(&overflow_list_flip->array[scan_idx], addr); > 196 /* Flip current list. */ > 197 WRITE_ONCE(overflow_list_flip->add_idx, scan_idx); > 198 hazptr_synchronize_overflow_list(&overflow_list_flip->array[scan_idx ^ 1], addr); > 199 } > 200 } > 201 EXPORT_SYMBOL_GPL(hazptr_synchronize); > 202 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki