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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.