]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
A race condition existed between the time a UFS/FFS superblock check
authormckusick <mckusick@FreeBSD.org>
Tue, 6 Aug 2019 18:10:34 +0000 (18:10 +0000)
committermckusick <mckusick@FreeBSD.org>
Tue, 6 Aug 2019 18:10:34 +0000 (18:10 +0000)
commitde7c6145deb3244732e924f1f7a07eea4add1560
treef4302f1cdf7cda9158f7a2ff6cea09bb23a03d77
parent4575ce87297eeff7cfb0937841ba59924d8e11a5
A race condition existed between the time a UFS/FFS superblock check
hash was computed and the time that the superblock was copied to a
buffer to be written to disk. The result was a failed superblock
check hash the next time that the superblock was read.

The fix is to compute the check hash after the superblock has been
copied to a buffer to be written.

PR:           236504
Reported by:  Peter Holm
Tested by:    Peter Holm
Sponsored by: Netflix
sys/ufs/ffs/ffs_vfsops.c