Re: FAILED: patch "[PATCH] svcrpc: don't error out on small tcp fragment" failed to apply to 3.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]