Re: Recent full disclosure post - Local DOS
- From: Lawrence Stewart <lstewart@xxxxxxxxxxx>
- Date: Tue, 01 Feb 2011 09:40:19 +1100
On 01/29/11 11:30, Christian Peron wrote:
On Fri, Jan 28, 2011 at 02:27:18PM -0500, John Baldwin wrote:
[..]
===================================================================
--- tcp_usrreq.c (revision 218018)
+++ tcp_usrreq.c (working copy)
@@ -1330,7 +1330,8 @@ tcp_ctloutput(struct socket *so, struct sockopt *s
tp->t_flags |= TF_NOPUSH;
else {
tp->t_flags &= ~TF_NOPUSH;
- error = tcp_output(tp);
+ if (TCPS_HAVEESTABLISHED(tp->t_state))
+ error = tcp_output(tp);
}
INP_WUNLOCK(inp);
break;
I was thinking of correcting it the same way.. I might even do something
like:
else {
if (tp->t_flags & TF_NOPUSH) {
tp->t_flags &= ~TF_NOPUSH;
if (TCPS_HAVEESTABLISHED(tp->t_state))
error = tcp_output(tp);
}
}
By default, this mask is not set.. so un-setting it and calling tcp_output()
if it was not already set seems wasteful
Apologies for tuning in late, but FWIW I concur and think the above
patch is appropriate.
Cheers,
Lawrence
_______________________________________________
freebsd-security@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security
To unsubscribe, send any mail to "freebsd-security-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: Recent full disclosure post - Local DOS
- From: Egoitz Aurrekoetxea Aurre
- Re: Recent full disclosure post - Local DOS
- Next by Date: Re: Recent full disclosure post - Local DOS
- Next by thread: Re: Recent full disclosure post - Local DOS
- Index(es):
Relevant Pages
|