On Thu, Apr 07, 2016 at 09:09:30AM -0400, Neil Horman wrote:
> On Tue, Apr 05, 2016 at 12:06:30PM +0800, Xin Long wrote:
> > There are some transport traversal functions for sctp_diag, we can also
> > use it for sctp_proc. cause they have the similar situation to traversal
> > transport.
> >
> > Signed-off-by: Xin Long <[email protected]>
> > ---
> > net/sctp/proc.c | 80
> > +++++++++++++--------------------------------------------
> > 1 file changed, 18 insertions(+), 62 deletions(-)
> >
> > diff --git a/net/sctp/proc.c b/net/sctp/proc.c
> > index 5cfac8d..dd8492f 100644
> > --- a/net/sctp/proc.c
> > +++ b/net/sctp/proc.c
> > @@ -282,80 +282,31 @@ struct sctp_ht_iter {
> > struct rhashtable_iter hti;
> > };
> >
> > -static struct sctp_transport *sctp_transport_get_next(struct seq_file *seq)
> > -{
> > - struct sctp_ht_iter *iter = seq->private;
> > - struct sctp_transport *t;
> > -
> > - t = rhashtable_walk_next(&iter->hti);
> > - for (; t; t = rhashtable_walk_next(&iter->hti)) {
> > - if (IS_ERR(t)) {
> > - if (PTR_ERR(t) == -EAGAIN)
> > - continue;
> > - break;
> > - }
> > -
> > - if (net_eq(sock_net(t->asoc->base.sk), seq_file_net(seq)) &&
> > - t->asoc->peer.primary_path == t)
> > - break;
> > - }
> > -
> > - return t;
> > -}
> > -
>
> this may just be a nit, but you defined the new sctp_transport_get_next in
> patch
> 2 of this series, and didn't remove this private version until here. Is that
> going to cause some behavioral issue, if someone builds a kernel between
> patch 2
Yes, it causes issues:
...net/sctp/proc.c:285:31: error: conflicting types for
‘sctp_transport_get_next’
static struct sctp_transport *sctp_transport_get_next(struct seq_file *seq)
^
> and 7? Seems like perhaps those two patches should be merged.
Agreed.
Marcelo