Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
On Tue, Apr 18, 2017 at 06:56:42AM +0200, Greg Kroah-Hartman wrote: > On Mon, Apr 17, 2017 at 05:00:50PM -0300, Marcelo Ricardo Leitner wrote: > > > > > > Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: > > > 3.18-stable review patch. If anyone has any objections, please let me > > > know. > > > > > > -- > > > > > > From: Marcelo Ricardo Leitner> > > > > > > > > [ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] > > > > > > Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation > > on asocs with threads sleeping on it") > > It's a follow-up fix for this one, would be good to have it too. > > Interesting, I don't see that in any of the stable trees, nor in the > networking stable queue. David, any objection to me queueing it up for > all of the stable kernels? I think it somehow got missed. I've queued it up now in my trees, thanks. greg k-h
Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
On Tue, Apr 18, 2017 at 06:56:42AM +0200, Greg Kroah-Hartman wrote: > On Mon, Apr 17, 2017 at 05:00:50PM -0300, Marcelo Ricardo Leitner wrote: > > > > > > Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: > > > 3.18-stable review patch. If anyone has any objections, please let me > > > know. > > > > > > -- > > > > > > From: Marcelo Ricardo Leitner > > > > > > > > > [ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] > > > > > > Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation > > on asocs with threads sleeping on it") > > It's a follow-up fix for this one, would be good to have it too. > > Interesting, I don't see that in any of the stable trees, nor in the > networking stable queue. David, any objection to me queueing it up for > all of the stable kernels? I think it somehow got missed. I've queued it up now in my trees, thanks. greg k-h
Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
On Mon, Apr 17, 2017 at 05:00:50PM -0300, Marcelo Ricardo Leitner wrote: > > > Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: > > 3.18-stable review patch. If anyone has any objections, please let me know. > > > > -- > > > > From: Marcelo Ricardo Leitner> > > > > > [ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] > > > Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation > on asocs with threads sleeping on it") > It's a follow-up fix for this one, would be good to have it too. Interesting, I don't see that in any of the stable trees, nor in the networking stable queue. David, any objection to me queueing it up for all of the stable kernels? I think it somehow got missed. thanks, greg k-h
Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
On Mon, Apr 17, 2017 at 05:00:50PM -0300, Marcelo Ricardo Leitner wrote: > > > Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: > > 3.18-stable review patch. If anyone has any objections, please let me know. > > > > -- > > > > From: Marcelo Ricardo Leitner > > > > > > [ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] > > > Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation > on asocs with threads sleeping on it") > It's a follow-up fix for this one, would be good to have it too. Interesting, I don't see that in any of the stable trees, nor in the networking stable queue. David, any objection to me queueing it up for all of the stable kernels? I think it somehow got missed. thanks, greg k-h
Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: 3.18-stable review patch. If anyone has any objections, please let me know. -- From: Marcelo Ricardo Leitner[ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation on asocs with threads sleeping on it") It's a follow-up fix for this one, would be good to have it too. Alexander Popov reported that an application may trigger a BUG_ON in sctp_wait_for_sndbuf if the socket tx buffer is full, a thread is waiting on it to queue more data and meanwhile another thread peels off the association being used by the first thread. This patch replaces the BUG_ON call with a proper error handling. It will return -EPIPE to the original sendmsg call, similarly to what would have been done if the association wasn't found in the first place. Acked-by: Alexander Popov Signed-off-by: Marcelo Ricardo Leitner Reviewed-by: Xin Long Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- net/sctp/socket.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -6962,7 +6962,8 @@ static int sctp_wait_for_sndbuf(struct s */ release_sock(sk); current_timeo = schedule_timeout(current_timeo); - BUG_ON(sk != asoc->base.sk); + if (sk != asoc->base.sk) + goto do_error; lock_sock(sk); *timeo_p = current_timeo;
Re: [PATCH 3.18 010/145] sctp: avoid BUG_ON on sctp_wait_for_sndbuf
Em 16-04-2017 07:48, Greg Kroah-Hartman escreveu: 3.18-stable review patch. If anyone has any objections, please let me know. -- From: Marcelo Ricardo Leitner [ Upstream commit 2dcab598484185dea7ec22219c76dcdd59e3cb90 ] Hi Greg. Are you also including dfcb9f4f99f1 ("sctp: deny peeloff operation on asocs with threads sleeping on it") It's a follow-up fix for this one, would be good to have it too. Alexander Popov reported that an application may trigger a BUG_ON in sctp_wait_for_sndbuf if the socket tx buffer is full, a thread is waiting on it to queue more data and meanwhile another thread peels off the association being used by the first thread. This patch replaces the BUG_ON call with a proper error handling. It will return -EPIPE to the original sendmsg call, similarly to what would have been done if the association wasn't found in the first place. Acked-by: Alexander Popov Signed-off-by: Marcelo Ricardo Leitner Reviewed-by: Xin Long Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- net/sctp/socket.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -6962,7 +6962,8 @@ static int sctp_wait_for_sndbuf(struct s */ release_sock(sk); current_timeo = schedule_timeout(current_timeo); - BUG_ON(sk != asoc->base.sk); + if (sk != asoc->base.sk) + goto do_error; lock_sock(sk); *timeo_p = current_timeo;