f2fs-fix-6.18-rc2

This includes two urgent fixes:
 1) iput() added by bc986b1d75 causes soft lockup [1].
 2) fix a wrong block address map on multiple devices.
 
 [1] https://lore.kernel.org/oe-lkp/202509301450.138b448f-lkp@intel.com
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE00UqedjCtOrGVvQiQBSofoJIUNIFAmjxLREACgkQQBSofoJI
 UNK7sg/+K2nxz7nH+8H2zBqzS1EdIE+CO7rubJ0dC6jq6CMJbRHjOUYVcyqrHG2g
 jHz/Y0csxTZth1CCcRaZ1yfK9cvbHV/hPFcXLJ/mccrGmptyYUH+PQg8as8EvCK8
 8tj9EsT0EcirbP7RxcQOqtXUDz1bPz94GWa9JoV/BQdF17g7doDZFXa2GTkKnZE+
 jugTdUOOVoKix988kaW/fxYHPaVono6tUBKTZwkDfdfYs7p88Gw5qhSirtRtn6XR
 0v1FAurazXNPN6L00jP3G9gm8LvwWv3TQw1T6bgxBPE5krwHJL0ZFiX7eJAdkauA
 JtJIwq6Jzp+pVw11O8c6WSSnARA1+G0LCBpKhrZBbppLf1xQDVlLH5krmuCI0u59
 dNVhU47X+hiSIUvoP1knV7RBFbRbJ8q7hFXFLdVXf6Vt/NXfGjVEginzNyEY0mdS
 EPNb2vXCVBBGaj0HxxzLloYpWJIAY+TSiBKhzxk/Y81l+Lk4qbrMZOqPC3+5DADQ
 ERHu2xUBZV+p80khxvTqB1bEoU9HGnSKm7Tvs0Litnh61dJYhSmV6S/amVQNaGPW
 M3qYIDIC2SrEuNzy780vEjQSJ9e3vxZEBwV/NDm6ToEOdBjsrW1WDYuj5c+2Nqfd
 MJzfkvyRluhKyU+ywVSB5WvOwbe9Bn/Kg1/6fih1MUyzwfe4oC8=
 =gigW
 -----END PGP SIGNATURE-----

Merge tag 'f2fs-fix-6.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs

Pull f2fs fixes from Jaegeuk Kim:

 - fix soft lockupg caused by iput() added in bc986b1d75 ("fs: stop
   accessing ->i_count directly in f2fs and gfs2")

 - fix a wrong block address map on multiple devices

Link: https://lore.kernel.org/oe-lkp/202509301450.138b448f-lkp@intel.com [1]

* tag 'f2fs-fix-6.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
  f2fs: fix wrong block mapping for multi-devices
  f2fs: don't call iput() from f2fs_drop_inode()
This commit is contained in:
Linus Torvalds 2025-10-16 10:58:49 -07:00
commit 98ac9cc4b4
2 changed files with 2 additions and 2 deletions

View file

@ -1497,8 +1497,8 @@ static bool f2fs_map_blocks_cached(struct inode *inode,
struct f2fs_dev_info *dev = &sbi->devs[bidx];
map->m_bdev = dev->bdev;
map->m_pblk -= dev->start_blk;
map->m_len = min(map->m_len, dev->end_blk + 1 - map->m_pblk);
map->m_pblk -= dev->start_blk;
} else {
map->m_bdev = inode->i_sb->s_bdev;
}

View file

@ -1820,7 +1820,7 @@ static int f2fs_drop_inode(struct inode *inode)
sb_end_intwrite(inode->i_sb);
spin_lock(&inode->i_lock);
iput(inode);
atomic_dec(&inode->i_count);
}
trace_f2fs_drop_inode(inode, 0);
return 0;