cvs commit: src/sys/kern vfs_bio.c

Sam Leffler sam at errno.com
Thu Sep 29 08:38:06 PDT 2005


Peter Edwards wrote:
> On 9/29/05, Pawel Jakub Dawidek <pjd at freebsd.org> wrote:
> 
>>On Thu, Sep 29, 2005 at 10:37:20AM +0000, Peter Edwards wrote:
>>+> peadar      2005-09-29 10:37:20 UTC
>>+>
>>+>   FreeBSD src repository
>>+>
>>+>   Modified files:
>>+>     sys/kern             vfs_bio.c
>>+>   Log:
>>+>   Close a race in biodone(), whereby the bio_done field of the passed
>>+>   bio may have been freed and reassigned by the wakeup before being
>>+>   tested after releasing the bdonelock.
>>+>
>>+>   There's a non-zero chance this is the cause of a few of the crashes
>>+>   knocking around with biodone() sitting in the stack backtrace.
>>
>>Should this fix the panic on boot in vmware?
>>
> 
> 
> That one falls under the "non-zero chance" mentioned above :-) The
> problem was very intermittent for me, and wanting the laptop not to
> fall over seemed to be a prerequisite to reproducing the panic, so I
> can't positively say it's fixed the problem yet.
> 
> If you have a reliable way of reproducing the panic, can you try out
> the patch and let me know?

vmware is great for finding races like these because of the way it 
handles concurrency.  I can remember finding many problems like this in 
"client operating systems" when I worked on it.

	Sam


More information about the cvs-all mailing list