possible deadlocks?
Sam Leffler
sam at errno.com
Wed Aug 6 16:22:33 PDT 2003
> My advisor Dawson Engler has written a deadlock detector, and we'd like
> some verification. They look like bugs, unless there is some other reason
> why two call chains cannot happen at the same time.
>
Dawson? Hey Dawson!
> second one in bpf, between bpfif_lock and bpfd_lock.
>
> thread 1:
> bpf_tap() /* or bpf_mtap */
> BPFIF_LOCK(bp); /* gets this lock */
> for (d = bp->bif_dlist; d != 0; d = d->bd_next) {
> BPFD_LOCK(d); /* waits for thread 2 */
>
> thread 2:
> bpf_setdlt()
> BPFD_LOCK(d); /* gets lock */
> bpf_detachd(d); /* or bpf_attachd */
> BPFIF_LOCK(bp); /* waits for thread 1 */
Yeah, this is my bad. Will have to look if it's possible.
Does this mean you're going to prove -current is "lockably corrrect"? :)
Sam
More information about the freebsd-hackers
mailing list