View | Details | Raw Unified | Return to bug 204437
Collapse All | Expand All

(-)netinet/in_pcb.c (-1 / +10 lines)
Lines 1150-1157 Link Here
1150
1208
1151
	INP_WLOCK_ASSERT(inp);
1209
	INP_WLOCK_ASSERT(inp);
1152
1210
1153
	if (refcount_release(&inp->inp_refcount) == 0)
1211
	if (refcount_release(&inp->inp_refcount) == 0) {
1212
		/*
1213
		 * If the inpcb has been freed, let the caller know, even if
1214
		 * this isn't the last reference.
1215
		 */
1216
		if (inp->inp_flags2 & INP_FREED) {
1217
			INP_WUNLOCK(inp);
1218
			return (1);
1219
		}
1154
		return (0);
1220
		return (0);
1221
	}
1155
1222
1156
	KASSERT(inp->inp_socket == NULL, ("%s: inp_socket != NULL", __func__));
1223
	KASSERT(inp->inp_socket == NULL, ("%s: inp_socket != NULL", __func__));
1157
1224

Return to bug 204437