opnsense-src/sys/ufs/ffs
Konstantin Belousov f0d5223230 Avoid dereferencing potentially freed workitem in
softdep_count_dependencies().

Buffer's b_dep list is protected by the SU mount lock.  Owning the
buffer lock is not enough to guarantee the stability of the list.

Calculation of the UFS mount owning the workitems from the buffer must
be much more careful to not dereference the work item which might be
freed meantime.  To get to ump, use the pointers chain which does not
involve workitems at all.

Reported and tested by:	pho
Reviewed by:	mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-08-21 16:23:44 +00:00
..
ffs_alloc.c Remove write-only variable. 2017-07-16 07:12:04 +00:00
ffs_balloc.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
ffs_extern.h Create a new function ffs_getcg() to read in and verify a cylinder 2017-06-28 17:32:09 +00:00
ffs_inode.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ffs_rawread.c Remove spl() calls from UFS code. 2017-05-07 14:59:45 +00:00
ffs_snapshot.c Avoid reading a snapshot block when it is already in the cache. 2017-07-31 20:41:45 +00:00
ffs_softdep.c Avoid dereferencing potentially freed workitem in 2017-08-21 16:23:44 +00:00
ffs_subr.c ANSIfy ffs_subr.c 2016-10-31 20:43:43 +00:00
ffs_suspend.c Partially lift suspension when ffs_reload() finished with cgs and 2016-09-08 12:01:28 +00:00
ffs_tables.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ffs_vfsops.c Create a new function ffs_getcg() to read in and verify a cylinder 2017-06-28 17:32:09 +00:00
ffs_vnops.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
fs.h Since the switch to GPT disk labels, fsck for UFS/FFS has been 2017-08-09 05:17:21 +00:00
softdep.h Mitigate several problems with the softdep_request_cleanup() on busy 2017-06-03 16:18:50 +00:00