* [hch-xfs:xfs-zoned 36/65] fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end'.
@ 2023-11-25 15:13 kernel test robot
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2023-11-25 15:13 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Christoph Hellwig <hch@lst.de>
tree: git://git.infradead.org/users/hch/xfs xfs-zoned
head: f5b3c0ffa575a5035e6d607b616c05638ed48937
commit: cc4a639e3052fefb385f63a0db5dfe07db4e9d58 [36/65] iomap: add a iomap_rewrite_range helper
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: x86_64-randconfig-161-20231125 (https://download.01.org/0day-ci/archive/20231125/202311252130.sO3YytsF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231125/202311252130.sO3YytsF-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202311252130.sO3YytsF-lkp@intel.com/
New smatch warnings:
fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end'.
Old smatch warnings:
fs/iomap/buffered-io.c:1762 iomap_add_to_ioend() error: we previously assumed 'wpc->ioend' could be null (see line 1739)
vim +/folio_end +2127 fs/iomap/buffered-io.c
cc4a639e3052fe Christoph Hellwig 2023-11-24 2074
cc4a639e3052fe Christoph Hellwig 2023-11-24 2075 int
cc4a639e3052fe Christoph Hellwig 2023-11-24 2076 iomap_rewrite_range(struct address_space *mapping, loff_t pos, size_t len,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2077 struct iomap_writepage_ctx *wpc)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2078 {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2079 struct inode *inode = mapping->host;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2080 u64 end_pos = pos + len;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2081 int error = 0;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2082
cc4a639e3052fe Christoph Hellwig 2023-11-24 2083 inode_attach_wb(inode, NULL);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2084
cc4a639e3052fe Christoph Hellwig 2023-11-24 2085 while (pos < end_pos) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2086 struct folio *folio;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2087 unsigned count = 0;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2088 u64 folio_end;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2089
cc4a639e3052fe Christoph Hellwig 2023-11-24 2090 folio = iomap_read_mapping_page(mapping, pos, end_pos);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2091 if (IS_ERR(folio)) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2092 error = PTR_ERR(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2093 break;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2094 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2095
cc4a639e3052fe Christoph Hellwig 2023-11-24 2096 folio_lock(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2097 if (folio->mapping != mapping) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2098 folio_unlock(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2099 goto folio_put;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2100 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2101 folio_end = folio_pos(folio) + folio_size(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2102 len = min(folio_end, end_pos) - pos;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2103
cc4a639e3052fe Christoph Hellwig 2023-11-24 2104 folio_wait_writeback(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2105
cc4a639e3052fe Christoph Hellwig 2023-11-24 2106 /*
cc4a639e3052fe Christoph Hellwig 2023-11-24 2107 * If we're writing out the whole folio, clear the dirty bit.
cc4a639e3052fe Christoph Hellwig 2023-11-24 2108 */
cc4a639e3052fe Christoph Hellwig 2023-11-24 2109 if (folio_test_dirty(folio) &&
cc4a639e3052fe Christoph Hellwig 2023-11-24 2110 folio_pos(folio) == pos && folio_end == end_pos)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2111 folio_clear_dirty(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2112
cc4a639e3052fe Christoph Hellwig 2023-11-24 2113 iomap_start_writeback(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2114 error = iomap_writepage_map_blocks(wpc, NULL, inode, folio, pos,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2115 len, &count);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2116 if (count)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2117 wpc->nr_folios++;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2118 if (!error) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2119 iomap_clear_range_dirty(folio,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2120 offset_in_folio(folio, pos), len);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2121 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2122 iomap_end_writeback(folio, count);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2123 folio_put:
cc4a639e3052fe Christoph Hellwig 2023-11-24 2124 folio_put(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2125 if (error)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2126 break;
cc4a639e3052fe Christoph Hellwig 2023-11-24 @2127 pos = folio_end;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2128 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2129
cc4a639e3052fe Christoph Hellwig 2023-11-24 2130 return iomap_submit_ioend(wpc, error);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2131 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2132 EXPORT_SYMBOL_GPL(iomap_rewrite_range);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2133
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* [hch-xfs:xfs-zoned 36/65] fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end'.
@ 2023-11-27 8:17 Dan Carpenter
2023-11-27 9:27 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2023-11-27 8:17 UTC (permalink / raw)
To: oe-kbuild, Christoph Hellwig; +Cc: lkp, oe-kbuild-all
tree: git://git.infradead.org/users/hch/xfs xfs-zoned
head: f5b3c0ffa575a5035e6d607b616c05638ed48937
commit: cc4a639e3052fefb385f63a0db5dfe07db4e9d58 [36/65] iomap: add a iomap_rewrite_range helper
config: x86_64-randconfig-161-20231125 (https://download.01.org/0day-ci/archive/20231125/202311252130.sO3YytsF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231125/202311252130.sO3YytsF-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202311252130.sO3YytsF-lkp@intel.com/
New smatch warnings:
fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end'.
vim +/folio_end +2127 fs/iomap/buffered-io.c
cc4a639e3052fe Christoph Hellwig 2023-11-24 2075 int
cc4a639e3052fe Christoph Hellwig 2023-11-24 2076 iomap_rewrite_range(struct address_space *mapping, loff_t pos, size_t len,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2077 struct iomap_writepage_ctx *wpc)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2078 {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2079 struct inode *inode = mapping->host;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2080 u64 end_pos = pos + len;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2081 int error = 0;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2082
cc4a639e3052fe Christoph Hellwig 2023-11-24 2083 inode_attach_wb(inode, NULL);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2084
cc4a639e3052fe Christoph Hellwig 2023-11-24 2085 while (pos < end_pos) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2086 struct folio *folio;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2087 unsigned count = 0;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2088 u64 folio_end;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2089
cc4a639e3052fe Christoph Hellwig 2023-11-24 2090 folio = iomap_read_mapping_page(mapping, pos, end_pos);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2091 if (IS_ERR(folio)) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2092 error = PTR_ERR(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2093 break;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2094 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2095
cc4a639e3052fe Christoph Hellwig 2023-11-24 2096 folio_lock(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2097 if (folio->mapping != mapping) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2098 folio_unlock(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2099 goto folio_put;
folio_end not initialize here. error is zero.
cc4a639e3052fe Christoph Hellwig 2023-11-24 2100 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2101 folio_end = folio_pos(folio) + folio_size(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2102 len = min(folio_end, end_pos) - pos;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2103
cc4a639e3052fe Christoph Hellwig 2023-11-24 2104 folio_wait_writeback(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2105
cc4a639e3052fe Christoph Hellwig 2023-11-24 2106 /*
cc4a639e3052fe Christoph Hellwig 2023-11-24 2107 * If we're writing out the whole folio, clear the dirty bit.
cc4a639e3052fe Christoph Hellwig 2023-11-24 2108 */
cc4a639e3052fe Christoph Hellwig 2023-11-24 2109 if (folio_test_dirty(folio) &&
cc4a639e3052fe Christoph Hellwig 2023-11-24 2110 folio_pos(folio) == pos && folio_end == end_pos)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2111 folio_clear_dirty(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2112
cc4a639e3052fe Christoph Hellwig 2023-11-24 2113 iomap_start_writeback(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2114 error = iomap_writepage_map_blocks(wpc, NULL, inode, folio, pos,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2115 len, &count);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2116 if (count)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2117 wpc->nr_folios++;
cc4a639e3052fe Christoph Hellwig 2023-11-24 2118 if (!error) {
cc4a639e3052fe Christoph Hellwig 2023-11-24 2119 iomap_clear_range_dirty(folio,
cc4a639e3052fe Christoph Hellwig 2023-11-24 2120 offset_in_folio(folio, pos), len);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2121 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2122 iomap_end_writeback(folio, count);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2123 folio_put:
cc4a639e3052fe Christoph Hellwig 2023-11-24 2124 folio_put(folio);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2125 if (error)
cc4a639e3052fe Christoph Hellwig 2023-11-24 2126 break;
cc4a639e3052fe Christoph Hellwig 2023-11-24 @2127 pos = folio_end;
^^^^^^^^^
cc4a639e3052fe Christoph Hellwig 2023-11-24 2128 }
cc4a639e3052fe Christoph Hellwig 2023-11-24 2129
cc4a639e3052fe Christoph Hellwig 2023-11-24 2130 return iomap_submit_ioend(wpc, error);
cc4a639e3052fe Christoph Hellwig 2023-11-24 2131 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [hch-xfs:xfs-zoned 36/65] fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end'.
2023-11-27 8:17 [hch-xfs:xfs-zoned 36/65] fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end' Dan Carpenter
@ 2023-11-27 9:27 ` Christoph Hellwig
0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2023-11-27 9:27 UTC (permalink / raw)
To: Dan Carpenter; +Cc: oe-kbuild, Christoph Hellwig, lkp, oe-kbuild-all
Thanks!
I'll incorporate this into the next version.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-11-27 9:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-27 8:17 [hch-xfs:xfs-zoned 36/65] fs/iomap/buffered-io.c:2127 iomap_rewrite_range() error: uninitialized symbol 'folio_end' Dan Carpenter
2023-11-27 9:27 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2023-11-25 15:13 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.