PERFORCE change 134961 for review
Kip Macy
kmacy at FreeBSD.org
Wed Feb 6 21:34:04 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=134961
Change 134961 by kmacy at 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);
More information about the p4-projects
mailing list