Messages in this thread |  | | Date | Sat, 29 May 2021 14:15:19 +0800 | From | kernel test robot <> | Subject | fs/ext4/dir.c:126:12: warning: stack frame size of 2096 bytes in function 'ext4_readdir' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 6799d4f2da496cab9b3fd26283a8ce3639b1a88d commit: 471fbbea7ff7061b2d6474665cb5a2ceb4fd6500 ext4: handle casefolding with encryption date: 8 weeks ago config: powerpc64-randconfig-r036-20210529 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project bc6799f2f79f0ae87e9f1ebf9d25ba799fbd25a9) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc64 cross compiling tool for clang build # apt-get install binutils-powerpc64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=471fbbea7ff7061b2d6474665cb5a2ceb4fd6500 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 471fbbea7ff7061b2d6474665cb5a2ceb4fd6500 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/powerpc/include/asm/io.h:619: arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET' __do_##name al; \ ^~~~~~~~~~~~~~ <scratch space>:199:1: note: expanded from here __do_insw ^ arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw' #define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n)) ~~~~~~~~~~~~~~~~~~~~~^ In file included from fs/ext4/dir.c:26: In file included from include/linux/buffer_head.h:14: In file included from include/linux/pagemap.h:11: In file included from include/linux/highmem.h:10: In file included from include/linux/hardirq.h:10: In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/powerpc/include/asm/io.h:619: arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET' __do_##name al; \ ^~~~~~~~~~~~~~ <scratch space>:201:1: note: expanded from here __do_insl ^ arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl' #define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n)) ~~~~~~~~~~~~~~~~~~~~~^ In file included from fs/ext4/dir.c:26: In file included from include/linux/buffer_head.h:14: In file included from include/linux/pagemap.h:11: In file included from include/linux/highmem.h:10: In file included from include/linux/hardirq.h:10: In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/powerpc/include/asm/io.h:619: arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET' __do_##name al; \ ^~~~~~~~~~~~~~ <scratch space>:203:1: note: expanded from here __do_outsb ^ arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb' #define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) ~~~~~~~~~~~~~~~~~~~~~^ In file included from fs/ext4/dir.c:26: In file included from include/linux/buffer_head.h:14: In file included from include/linux/pagemap.h:11: In file included from include/linux/highmem.h:10: In file included from include/linux/hardirq.h:10: In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/powerpc/include/asm/io.h:619: arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET' __do_##name al; \ ^~~~~~~~~~~~~~ <scratch space>:205:1: note: expanded from here __do_outsw ^ arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw' #define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) ~~~~~~~~~~~~~~~~~~~~~^ In file included from fs/ext4/dir.c:26: In file included from include/linux/buffer_head.h:14: In file included from include/linux/pagemap.h:11: In file included from include/linux/highmem.h:10: In file included from include/linux/hardirq.h:10: In file included from arch/powerpc/include/asm/hardirq.h:6: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/powerpc/include/asm/io.h:619: arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET' __do_##name al; \ ^~~~~~~~~~~~~~ <scratch space>:207:1: note: expanded from here __do_outsl ^ arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl' #define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) ~~~~~~~~~~~~~~~~~~~~~^ >> fs/ext4/dir.c:126:12: warning: stack frame size of 2096 bytes in function 'ext4_readdir' [-Wframe-larger-than=] static int ext4_readdir(struct file *file, struct dir_context *ctx) ^ 14 warnings generated.
vim +/ext4_readdir +126 fs/ext4/dir.c
ac27a0ec112a08 Dave Kleikamp 2006-10-11 125 725bebb27882ae Al Viro 2013-05-17 @126 static int ext4_readdir(struct file *file, struct dir_context *ctx) ac27a0ec112a08 Dave Kleikamp 2006-10-11 127 { 498e5f24158da7 Theodore Ts'o 2008-11-05 128 unsigned int offset; aa13d5f67c6f5f Giedrius Rekasius 2014-05-27 129 int i; 617ba13b31fbf5 Mingming Cao 2006-10-11 130 struct ext4_dir_entry_2 *de; ac27a0ec112a08 Dave Kleikamp 2006-10-11 131 int err; 725bebb27882ae Al Viro 2013-05-17 132 struct inode *inode = file_inode(file); d1f5273e9adb40 Fan Yong 2012-03-18 133 struct super_block *sb = inode->i_sb; 4461471107b79b Michael Halcrow 2015-04-12 134 struct buffer_head *bh = NULL; a7550b30ab709f Jaegeuk Kim 2016-07-10 135 struct fscrypt_str fstr = FSTR_INIT(NULL, 0); ac27a0ec112a08 Dave Kleikamp 2006-10-11 136 ec0caa974cd092 Eric Biggers 2020-12-02 137 err = fscrypt_prepare_readdir(inode); 3b1ada55b905f3 Eric Biggers 2019-12-09 138 if (err) 28b4c263961c47 Theodore Ts'o 2016-02-07 139 return err; 28b4c263961c47 Theodore Ts'o 2016-02-07 140 d1f5273e9adb40 Fan Yong 2012-03-18 141 if (is_dx_dir(inode)) { 725bebb27882ae Al Viro 2013-05-17 142 err = ext4_dx_readdir(file, ctx); 400086d7c11327 Milan Djurovic 2021-03-15 143 if (err != ERR_BAD_DX_DIR) 725bebb27882ae Al Viro 2013-05-17 144 return err; 400086d7c11327 Milan Djurovic 2021-03-15 145 48a34311953d92 Jan Kara 2020-02-10 146 /* Can we just clear INDEX flag to ignore htree information? */ 48a34311953d92 Jan Kara 2020-02-10 147 if (!ext4_has_metadata_csum(sb)) { ac27a0ec112a08 Dave Kleikamp 2006-10-11 148 /* ac27a0ec112a08 Dave Kleikamp 2006-10-11 149 * We don't set the inode dirty flag since it's not 48a34311953d92 Jan Kara 2020-02-10 150 * critical that it gets flushed back to the disk. ac27a0ec112a08 Dave Kleikamp 2006-10-11 151 */ 48a34311953d92 Jan Kara 2020-02-10 152 ext4_clear_inode_flag(inode, EXT4_INODE_INDEX); 48a34311953d92 Jan Kara 2020-02-10 153 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 154 } 8af0f082279770 Tao Ma 2013-04-19 155 8af0f082279770 Tao Ma 2013-04-19 156 if (ext4_has_inline_data(inode)) { 8af0f082279770 Tao Ma 2013-04-19 157 int has_inline_data = 1; 4461471107b79b Michael Halcrow 2015-04-12 158 err = ext4_read_inline_dir(file, ctx, 8af0f082279770 Tao Ma 2013-04-19 159 &has_inline_data); 8af0f082279770 Tao Ma 2013-04-19 160 if (has_inline_data) 4461471107b79b Michael Halcrow 2015-04-12 161 return err; 4461471107b79b Michael Halcrow 2015-04-12 162 } 4461471107b79b Michael Halcrow 2015-04-12 163 592ddec7578a33 Chandan Rajendra 2018-12-12 164 if (IS_ENCRYPTED(inode)) { 8b10fe68985278 Jeff Layton 2020-08-10 165 err = fscrypt_fname_alloc_buffer(EXT4_NAME_LEN, &fstr); b7236e21d55ff9 Theodore Ts'o 2015-05-18 166 if (err < 0) 4461471107b79b Michael Halcrow 2015-04-12 167 return err; 4461471107b79b Michael Halcrow 2015-04-12 168 } 8af0f082279770 Tao Ma 2013-04-19 169 725bebb27882ae Al Viro 2013-05-17 170 while (ctx->pos < inode->i_size) { 2ed886852adfcb Theodore Ts'o 2010-05-16 171 struct ext4_map_blocks map; ac27a0ec112a08 Dave Kleikamp 2006-10-11 172 1f60fbe7274918 Theodore Ts'o 2016-04-23 173 if (fatal_signal_pending(current)) { 1f60fbe7274918 Theodore Ts'o 2016-04-23 174 err = -ERESTARTSYS; 1f60fbe7274918 Theodore Ts'o 2016-04-23 175 goto errout; 1f60fbe7274918 Theodore Ts'o 2016-04-23 176 } 1f60fbe7274918 Theodore Ts'o 2016-04-23 177 cond_resched(); 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 178 offset = ctx->pos & (sb->s_blocksize - 1); 725bebb27882ae Al Viro 2013-05-17 179 map.m_lblk = ctx->pos >> EXT4_BLOCK_SIZE_BITS(sb); 2ed886852adfcb Theodore Ts'o 2010-05-16 180 map.m_len = 1; 2ed886852adfcb Theodore Ts'o 2010-05-16 181 err = ext4_map_blocks(NULL, inode, &map, 0); 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 182 if (err == 0) { 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 183 /* m_len should never be zero but let's avoid 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 184 * an infinite loop if it somehow is */ 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 185 if (map.m_len == 0) 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 186 map.m_len = 1; 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 187 ctx->pos += map.m_len * sb->s_blocksize; 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 188 continue; 4e19d6b65fb4fc Theodore Ts'o 2019-06-20 189 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 190 if (err > 0) { 2ed886852adfcb Theodore Ts'o 2010-05-16 191 pgoff_t index = map.m_pblk >> 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 192 (PAGE_SHIFT - inode->i_blkbits); 725bebb27882ae Al Viro 2013-05-17 193 if (!ra_has_index(&file->f_ra, index)) cf914a7d656e62 Rusty Russell 2007-07-19 194 page_cache_sync_readahead( dc7868fcb9a739 Fengguang Wu 2007-07-19 195 sb->s_bdev->bd_inode->i_mapping, 725bebb27882ae Al Viro 2013-05-17 196 &file->f_ra, file, cf914a7d656e62 Rusty Russell 2007-07-19 197 index, 1); 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 198 file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT; 1c2150283cae89 Theodore Ts'o 2014-08-29 199 bh = ext4_bread(NULL, inode, map.m_lblk, 0); c906f38e8853cf Kirill Tkhai 2016-02-16 200 if (IS_ERR(bh)) { c906f38e8853cf Kirill Tkhai 2016-02-16 201 err = PTR_ERR(bh); c906f38e8853cf Kirill Tkhai 2016-02-16 202 bh = NULL; c906f38e8853cf Kirill Tkhai 2016-02-16 203 goto errout; c906f38e8853cf Kirill Tkhai 2016-02-16 204 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 205 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 206 ac27a0ec112a08 Dave Kleikamp 2006-10-11 207 if (!bh) { e6c4021190c828 Eric Sandeen 2006-12-06 208 /* corrupt size? Maybe no more blocks to read */ 725bebb27882ae Al Viro 2013-05-17 209 if (ctx->pos > inode->i_blocks << 9) e6c4021190c828 Eric Sandeen 2006-12-06 210 break; 725bebb27882ae Al Viro 2013-05-17 211 ctx->pos += sb->s_blocksize - offset; ac27a0ec112a08 Dave Kleikamp 2006-10-11 212 continue; ac27a0ec112a08 Dave Kleikamp 2006-10-11 213 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 214 b0336e8d2108e6 Darrick J. Wong 2012-04-29 215 /* Check the checksum */ b0336e8d2108e6 Darrick J. Wong 2012-04-29 216 if (!buffer_verified(bh) && f036adb3997646 Theodore Ts'o 2019-06-21 217 !ext4_dirblock_csum_verify(inode, bh)) { 725bebb27882ae Al Viro 2013-05-17 218 EXT4_ERROR_FILE(file, 0, "directory fails checksum " b0336e8d2108e6 Darrick J. Wong 2012-04-29 219 "at offset %llu", 725bebb27882ae Al Viro 2013-05-17 220 (unsigned long long)ctx->pos); 725bebb27882ae Al Viro 2013-05-17 221 ctx->pos += sb->s_blocksize - offset; d5ac7773051602 Guo Chao 2013-01-28 222 brelse(bh); 4461471107b79b Michael Halcrow 2015-04-12 223 bh = NULL; b0336e8d2108e6 Darrick J. Wong 2012-04-29 224 continue; b0336e8d2108e6 Darrick J. Wong 2012-04-29 225 } b0336e8d2108e6 Darrick J. Wong 2012-04-29 226 set_buffer_verified(bh); b0336e8d2108e6 Darrick J. Wong 2012-04-29 227 ac27a0ec112a08 Dave Kleikamp 2006-10-11 228 /* If the dir block has changed since the last call to ac27a0ec112a08 Dave Kleikamp 2006-10-11 229 * readdir(2), then we might be pointing to an invalid ac27a0ec112a08 Dave Kleikamp 2006-10-11 230 * dirent right now. Scan from the start of the block ac27a0ec112a08 Dave Kleikamp 2006-10-11 231 * to make sure. */ c472c07bfed9c8 Goffredo Baroncelli 2018-02-01 232 if (!inode_eq_iversion(inode, file->f_version)) { ac27a0ec112a08 Dave Kleikamp 2006-10-11 233 for (i = 0; i < sb->s_blocksize && i < offset; ) { 617ba13b31fbf5 Mingming Cao 2006-10-11 234 de = (struct ext4_dir_entry_2 *) ac27a0ec112a08 Dave Kleikamp 2006-10-11 235 (bh->b_data + i); ac27a0ec112a08 Dave Kleikamp 2006-10-11 236 /* It's too expensive to do a full ac27a0ec112a08 Dave Kleikamp 2006-10-11 237 * dirent test each time round this ac27a0ec112a08 Dave Kleikamp 2006-10-11 238 * loop, but we do have to test at ac27a0ec112a08 Dave Kleikamp 2006-10-11 239 * least that it is non-zero. A ac27a0ec112a08 Dave Kleikamp 2006-10-11 240 * failure will be detected in the ac27a0ec112a08 Dave Kleikamp 2006-10-11 241 * dirent test below. */ 3d0518f4758eca Wei Yongjun 2009-02-14 242 if (ext4_rec_len_from_disk(de->rec_len, 471fbbea7ff706 Daniel Rosenberg 2021-03-19 243 sb->s_blocksize) < ext4_dir_rec_len(1, 471fbbea7ff706 Daniel Rosenberg 2021-03-19 244 inode)) ac27a0ec112a08 Dave Kleikamp 2006-10-11 245 break; 3d0518f4758eca Wei Yongjun 2009-02-14 246 i += ext4_rec_len_from_disk(de->rec_len, 3d0518f4758eca Wei Yongjun 2009-02-14 247 sb->s_blocksize); ac27a0ec112a08 Dave Kleikamp 2006-10-11 248 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 249 offset = i; 725bebb27882ae Al Viro 2013-05-17 250 ctx->pos = (ctx->pos & ~(sb->s_blocksize - 1)) ac27a0ec112a08 Dave Kleikamp 2006-10-11 251 | offset; ee73f9a52a3437 Jeff Layton 2018-01-09 252 file->f_version = inode_query_iversion(inode); ac27a0ec112a08 Dave Kleikamp 2006-10-11 253 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 254 725bebb27882ae Al Viro 2013-05-17 255 while (ctx->pos < inode->i_size ac27a0ec112a08 Dave Kleikamp 2006-10-11 256 && offset < sb->s_blocksize) { 617ba13b31fbf5 Mingming Cao 2006-10-11 257 de = (struct ext4_dir_entry_2 *) (bh->b_data + offset); 725bebb27882ae Al Viro 2013-05-17 258 if (ext4_check_dir_entry(inode, file, de, bh, 226ba972b08637 Tao Ma 2012-12-10 259 bh->b_data, bh->b_size, 226ba972b08637 Tao Ma 2012-12-10 260 offset)) { 63f5793351d821 Andrew Morton 2006-10-11 261 /* 725bebb27882ae Al Viro 2013-05-17 262 * On error, skip to the next block 63f5793351d821 Andrew Morton 2006-10-11 263 */ 725bebb27882ae Al Viro 2013-05-17 264 ctx->pos = (ctx->pos | ac27a0ec112a08 Dave Kleikamp 2006-10-11 265 (sb->s_blocksize - 1)) + 1; 725bebb27882ae Al Viro 2013-05-17 266 break; ac27a0ec112a08 Dave Kleikamp 2006-10-11 267 } 3d0518f4758eca Wei Yongjun 2009-02-14 268 offset += ext4_rec_len_from_disk(de->rec_len, 3d0518f4758eca Wei Yongjun 2009-02-14 269 sb->s_blocksize); ac27a0ec112a08 Dave Kleikamp 2006-10-11 270 if (le32_to_cpu(de->inode)) { 592ddec7578a33 Chandan Rajendra 2018-12-12 271 if (!IS_ENCRYPTED(inode)) { 725bebb27882ae Al Viro 2013-05-17 272 if (!dir_emit(ctx, de->name, ac27a0ec112a08 Dave Kleikamp 2006-10-11 273 de->name_len, ac27a0ec112a08 Dave Kleikamp 2006-10-11 274 le32_to_cpu(de->inode), 4461471107b79b Michael Halcrow 2015-04-12 275 get_dtype(sb, de->file_type))) 4461471107b79b Michael Halcrow 2015-04-12 276 goto done; 4461471107b79b Michael Halcrow 2015-04-12 277 } else { a7550b30ab709f Jaegeuk Kim 2016-07-10 278 int save_len = fstr.len; a7550b30ab709f Jaegeuk Kim 2016-07-10 279 struct fscrypt_str de_name = a7550b30ab709f Jaegeuk Kim 2016-07-10 280 FSTR_INIT(de->name, a7550b30ab709f Jaegeuk Kim 2016-07-10 281 de->name_len); d229959072eba4 Theodore Ts'o 2015-05-18 282 4461471107b79b Michael Halcrow 2015-04-12 283 /* Directory is encrypted */ a7550b30ab709f Jaegeuk Kim 2016-07-10 284 err = fscrypt_fname_disk_to_usr(inode, 471fbbea7ff706 Daniel Rosenberg 2021-03-19 285 EXT4_DIRENT_HASH(de), 471fbbea7ff706 Daniel Rosenberg 2021-03-19 286 EXT4_DIRENT_MINOR_HASH(de), 471fbbea7ff706 Daniel Rosenberg 2021-03-19 287 &de_name, &fstr); ef1eb3aa50930f Eric Biggers 2016-09-15 288 de_name = fstr; a7550b30ab709f Jaegeuk Kim 2016-07-10 289 fstr.len = save_len; ef1eb3aa50930f Eric Biggers 2016-09-15 290 if (err) 4461471107b79b Michael Halcrow 2015-04-12 291 goto errout; 4461471107b79b Michael Halcrow 2015-04-12 292 if (!dir_emit(ctx, ef1eb3aa50930f Eric Biggers 2016-09-15 293 de_name.name, de_name.len, 4461471107b79b Michael Halcrow 2015-04-12 294 le32_to_cpu(de->inode), 4461471107b79b Michael Halcrow 2015-04-12 295 get_dtype(sb, de->file_type))) 4461471107b79b Michael Halcrow 2015-04-12 296 goto done; 725bebb27882ae Al Viro 2013-05-17 297 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 298 } 725bebb27882ae Al Viro 2013-05-17 299 ctx->pos += ext4_rec_len_from_disk(de->rec_len, 3d0518f4758eca Wei Yongjun 2009-02-14 300 sb->s_blocksize); ac27a0ec112a08 Dave Kleikamp 2006-10-11 301 } ae05327a00fd47 Al Viro 2016-05-12 302 if ((ctx->pos < inode->i_size) && !dir_relax_shared(inode)) 4461471107b79b Michael Halcrow 2015-04-12 303 goto done; ac27a0ec112a08 Dave Kleikamp 2006-10-11 304 brelse(bh); 4461471107b79b Michael Halcrow 2015-04-12 305 bh = NULL; 4461471107b79b Michael Halcrow 2015-04-12 306 offset = 0; 725bebb27882ae Al Viro 2013-05-17 307 } 4461471107b79b Michael Halcrow 2015-04-12 308 done: 4461471107b79b Michael Halcrow 2015-04-12 309 err = 0; 4461471107b79b Michael Halcrow 2015-04-12 310 errout: a7550b30ab709f Jaegeuk Kim 2016-07-10 311 fscrypt_fname_free_buffer(&fstr); 4461471107b79b Michael Halcrow 2015-04-12 312 brelse(bh); 4461471107b79b Michael Halcrow 2015-04-12 313 return err; ac27a0ec112a08 Dave Kleikamp 2006-10-11 314 } ac27a0ec112a08 Dave Kleikamp 2006-10-11 315
:::::: The code at line 126 was first introduced by commit :::::: 725bebb27882ae617d50776cc8b6cacd84481c91 [readdir] convert ext4
:::::: TO: Al Viro <viro@zeniv.linux.org.uk> :::::: CC: Al Viro <viro@zeniv.linux.org.uk>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] |  |