Initialize mnt_stat.f_iosize before autostarting UFS1 extattrs.
It is normally initialized by ffs_statfs() after ffs_mount finished. The extattr autostart code calls the ufs_lookup(), that uses value above to iterate over the directory blocks, see bmask initialization in the ufs_lookup() and ufsdirhash. Having the filesystem with root directory spanning more then one block would result in reading a random kernel memory. PR: kern/120781 Test case provided by: rwatson MFC after: 1 week
This commit is contained in:
parent
3a583d1e7f
commit
e7fd887711
@ -880,6 +880,7 @@ ffs_mountfs(devvp, mp, td)
|
||||
* This would all happen while the filesystem was busy/not
|
||||
* available, so would effectively be "atomic".
|
||||
*/
|
||||
mp->mnt_stat.f_iosize = fs->fs_bsize;
|
||||
(void) ufs_extattr_autostart(mp, td);
|
||||
#endif /* !UFS_EXTATTR_AUTOSTART */
|
||||
#endif /* !UFS_EXTATTR */
|
||||
|
Loading…
Reference in New Issue
Block a user