看板 DFBSD_bugs 關於我們 聯絡資訊
:I'm not sure this is the correct approach, but the attached patch :should fix this issue. : :Joe :... : :diff --git a/sys/dev/disk/vn/vn.c b/sys/dev/disk/vn/vn.c :index 95bcf44..9f45281 100644 :--- a/sys/dev/disk/vn/vn.c :+++ b/sys/dev/disk/vn/vn.c :@@ -697,7 +697,7 @@ vnsetcred(struct vn_softc *vn, struct ucred *cred) : * Set credits in our softc : */ : :- if (vn->sc_cred) :+ if (vn->sc_cred && vn->sc_cred->cr_ref > 0) : crfree(vn->sc_cred); : vn->sc_cred = crdup(cred); That can't be right. If vn->sc_cred is set at all there must be a ref on it. If there isn't something is leaking a crfree() without clearing it. -Matt Matthew Dillon <dillon@backplane.com>