Bug 21808

Summary: [msdosfs] [patch] msdosfs incorrectly handles vnode locking
Product: Base System Reporter: mbendiks <mbendiks>
Component: kernAssignee: Bruce Evans <bde>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.1-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description mbendiks 2000-10-07 05:40:01 UTC
	In a number of functions, msdosfs incorrectly attempts to use vnodes
	that have previously been released. This could cause problems, given
	MP systems, for example. This is a straight import of errata 008 for
	OpenBSD 2.7.

Fix: In /sys/msdosfs; diff -u4 patches follow:
How-To-Repeat: 
	not known.
Comment 1 Boris Popov freebsd_committer freebsd_triage 2000-10-22 15:37:48 UTC
State Changed
From-To: open->analyzed

I'm unsure if this patch is correct: 

it just gathers VOP_UNLOCK(fvp) invocations into one. 
it introduces a bug by not releasing fdvp vnode when it is necessary. 
de_flags field still not protected by the lock (should it be ?).
Comment 2 Remko Lodder freebsd_committer freebsd_triage 2006-12-29 20:39:45 UTC
Responsible Changed
From-To: freebsd-bugs->trhodes

assign to tom, he cares about msdosfs
Comment 3 K. Macy freebsd_committer freebsd_triage 2007-11-16 02:40:33 UTC
Responsible Changed
From-To: trhodes->bde


bde is the current msdosfs stuckee.
Comment 4 Robert Watson freebsd_committer freebsd_triage 2008-03-08 18:21:42 UTC
State Changed
From-To: analyzed->closed

A casual inspection of a recent FreeBSD msdosfs_vnops.c suggests 
that these changes generally don't (no longer?) apply to the 
FreeBSD code.  Thanks for the submission, however, and apologies 
for the very long time it's taken to look at it (quite possibly 
these issues were fixed in the intermediate time independently).