[hch-misc:lazy-bounce 15/23] include/linux/iomap.h:433 iomap_ioend_flags() warn: bitwise AND condition is false here

kernel test robot <[email protected]> Sun, 26 Jul 2026 04:20:13 +0800
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
TO: Christoph Hellwig <[email protected]>

tree:   git://git.infradead.org/users/hch/misc.git lazy-bounce
head:   50dcf0b97beec0605157d1bb4b7c5d776498d7a4
commit: b5be06d0686d2a68d7076ff8a4c6c40ae7fa8c33 [15/23] iomap: add a IOMAP_IOEND_INTEGRITY flag
:::::: branch date: 32 hours ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-161-20260725 (https://download.01.org/0day-ci/archive/20260726/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb

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]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

New smatch warnings:
include/linux/iomap.h:433 iomap_ioend_flags() warn: bitwise AND condition is false here
include/linux/iomap.h:433 iomap_ioend_flags() warn: bitwise AND condition is false here

Old smatch warnings:
fs/xfs/xfs_aops.c:676 xfs_zoned_writeback_submit() warn: bitwise AND condition is false here

vim +433 include/linux/iomap.h

71027333066324 Christoph Hellwig 2025-02-06  415  
71027333066324 Christoph Hellwig 2025-02-06  416  /*
71027333066324 Christoph Hellwig 2025-02-06  417   * Flags that if set on either ioend prevent the merge of two ioends.
71027333066324 Christoph Hellwig 2025-02-06  418   * (IOMAP_IOEND_BOUNDARY also prevents merges, but only one-way)
71027333066324 Christoph Hellwig 2025-02-06  419   */
71027333066324 Christoph Hellwig 2025-02-06  420  #define IOMAP_IOEND_NOMERGE_FLAGS \
34ecde3c56066b Jens Axboe        2025-05-27  421  	(IOMAP_IOEND_SHARED | IOMAP_IOEND_UNWRITTEN | IOMAP_IOEND_DIRECT | \
b5be06d0686d2a Christoph Hellwig 2026-07-07  422  	 IOMAP_IOEND_DONTCACHE | IOMAP_IOEND_INTEGRITY)
71027333066324 Christoph Hellwig 2025-02-06  423  
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  424  /* ioend flags directly implied by iomap flags */
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  425  static inline u16 iomap_ioend_flags(const struct iomap *iomap)
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  426  {
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  427  	unsigned int flags = 0;
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  428  
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  429  	if (iomap->type == IOMAP_UNWRITTEN)
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  430  		flags |= IOMAP_IOEND_UNWRITTEN;
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  431  	if (iomap->flags & IOMAP_F_SHARED)
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  432  		flags |= IOMAP_IOEND_SHARED;
b5be06d0686d2a Christoph Hellwig 2026-07-07 @433  	if (iomap->flags & IOMAP_F_INTEGRITY)
b5be06d0686d2a Christoph Hellwig 2026-07-07  434  		flags |= IOMAP_IOEND_INTEGRITY;
b5be06d0686d2a Christoph Hellwig 2026-07-07  435  
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  436  	return flags;
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  437  }
9fbcaa255d9aa7 Christoph Hellwig 2026-07-19  438  

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