Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 fixes from Ted Ts'o:
"A regression fix, bug fix, and a comment cleanup for ext4"

* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: fix potential htree corruption when growing large_dir directories
ext4: remove conflicting comment from __ext4_forget
ext4: fix potential uninitialized access to retval in kmmpd

+2 -5
-3
fs/ext4/ext4_jbd2.c
··· 244 244 * "bh" may be NULL: a metadata block may have been freed from memory 245 245 * but there may still be a record of it in the journal, and that record 246 246 * still needs to be revoked. 247 - * 248 - * If the handle isn't valid we're not journaling, but we still need to 249 - * call into ext4_journal_revoke() to put the buffer head. 250 247 */ 251 248 int __ext4_forget(const char *where, unsigned int line, handle_t *handle, 252 249 int is_metadata, struct inode *inode,
+1 -1
fs/ext4/mmp.c
··· 138 138 unsigned mmp_check_interval; 139 139 unsigned long last_update_time; 140 140 unsigned long diff; 141 - int retval; 141 + int retval = 0; 142 142 143 143 mmp_block = le64_to_cpu(es->s_mmp_block); 144 144 mmp = (struct mmp_struct *)(bh->b_data);
+1 -1
fs/ext4/namei.c
··· 2517 2517 goto journal_error; 2518 2518 err = ext4_handle_dirty_dx_node(handle, dir, 2519 2519 frame->bh); 2520 - if (err) 2520 + if (restart || err) 2521 2521 goto journal_error; 2522 2522 } else { 2523 2523 struct dx_root *dxroot;