On Tue, Jul 23, 2013 at 10:52:05AM -0400, J. Bruce Fields wrote: > On Mon, Jul 22, 2013 at 09:55:59PM -0700, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > > > The patch below does not apply to the 3.10-stable tree. > > If someone wants it applied there, or to any other stable or longterm > > tree, then please email the backport, including the original git commit > > id to <stable@xxxxxxxxxxxxxxx>. > > cf3aa02cb4a0c5af5557dd47f15a08a7df33182a "svcrpc: fix handling of > too-short rpc's" should also have been backported, and is a prerequisite > for this patch. And actually a subsequent message says you did take that patch. And I've checked and this one does apply cleanly on top of 10.3.2 + that patch. So these two got misordered somehow? In any case, let me know what I can do to help sort this out. --b. > > Looks like that one was marked with "stable@xxxxxxxxxx" instead of > "stable@xxxxxxxxxxxxxxx"--could that be the original problem? > > --b. > > > > > thanks, > > > > greg k-h > > > > ------------------ original commit in Linus's tree ------------------ > > > > From 1f691b07c5dc51b2055834f58c0f351defd97f27 Mon Sep 17 00:00:00 2001 > > From: "J. Bruce Fields" <bfields@xxxxxxxxxx> > > Date: Wed, 26 Jun 2013 10:55:40 -0400 > > Subject: [PATCH] svcrpc: don't error out on small tcp fragment > > > > Though clients we care about mostly don't do this, it is possible for > > rpc requests to be sent in multiple fragments. Here we have a sanity > > check to ensure that the final received rpc isn't too small--except that > > the number we're actually checking is the length of just the final > > fragment, not of the whole rpc. So a perfectly legal rpc that's > > unluckily fragmented could cause the server to close the connection > > here. > > > > Cc: stable@xxxxxxxxxxxxxxx > > Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> > > > > diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c > > index df74919..305374d 100644 > > --- a/net/sunrpc/svcsock.c > > +++ b/net/sunrpc/svcsock.c > > @@ -1095,7 +1095,7 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp) > > goto err_noclose; > > } > > > > - if (svc_sock_reclen(svsk) < 8) { > > + if (svsk->sk_datalen < 8) { > > svsk->sk_datalen = 0; > > goto err_delete; /* client is nuts. */ > > } > > -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html