From owner-p4-projects@FreeBSD.ORG Thu Feb 7 05:34:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A78016A41A; Thu, 7 Feb 2008 05:34:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3FF0716A418 for ; Thu, 7 Feb 2008 05:34:04 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1ED9413C459 for ; Thu, 7 Feb 2008 05:34:04 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m175Y4LV016083 for ; Thu, 7 Feb 2008 05:34:04 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m175Y4Jc016080 for perforce@freebsd.org; Thu, 7 Feb 2008 05:34:04 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 7 Feb 2008 05:34:04 GMT Message-Id: <200802070534.m175Y4Jc016080@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 134961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Feb 2008 05:34:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=134961 Change 134961 by kmacy@kmacy:entropy:iwarp on 2008/02/07 05:33:45 fix kernel socket panic Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#9 integrate Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#9 (text+ko) ==== @@ -519,7 +519,7 @@ zcopy_thres = TOM_TUNABLE(tdev, zcopy_sosend_partial_thres); zcopy_enabled = TOM_TUNABLE(tdev, zcopy_sosend_enabled); - if ((uio->uio_resid > zcopy_thres) && + if (uio && (uio->uio_resid > zcopy_thres) && (uio->uio_iovcnt < TMP_IOV_MAX) && ((so->so_state & SS_NBIO) == 0) && zcopy_enabled) { rv = t3_sosend(so, uio); @@ -926,7 +926,7 @@ * */ - if ((tp->t_flags & TF_TOE) && ((flags & (MSG_WAITALL|MSG_OOB|MSG_PEEK|MSG_DONTWAIT)) == 0) + if ((tp->t_flags & TF_TOE) && uio && ((flags & (MSG_WAITALL|MSG_OOB|MSG_PEEK|MSG_DONTWAIT)) == 0) && (uio->uio_iovcnt == 1) && (mp0 == NULL)) { tdev = TOE_DEV(so); zcopy_thres = TOM_TUNABLE(tdev, ddp_thres); @@ -940,7 +940,7 @@ else printf("returned EAGAIN\n"); } - } else if (tp->t_flags & TF_TOE) + } else if ((tp->t_flags & TF_TOE) && uio) printf("skipping t3_soreceive flags=0x%x iovcnt=%d mp0=%p sb_state=0x%x\n", flags, uio->uio_iovcnt, mp0, so->so_rcv.sb_state); return pru_soreceive(so, psa, uio, mp0, controlp, flagsp);