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

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to