Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2016 01:17:07 +0000 (21:17 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2016 02:20:41 +0000 (22:20 -0400)
Three sets of overlapping changes.  Nothing serious.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/freescale/fec_main.c
include/net/sctp/structs.h
kernel/events/core.c
net/ipv4/route.c
net/ipv4/tcp_input.c
net/ipv4/tcp_output.c
net/ipv6/ip6_gre.c
net/ipv6/route.c
net/sched/act_ife.c
net/sctp/chunk.c
net/sctp/outqueue.c
net/sctp/sctp_diag.c
net/sctp/sm_make_chunk.c
net/sctp/socket.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 3ec6da8bbb5360187007935838717885c97f9e91,107233da5cc91078f5ff34207fb35d0fca7f6633..582585393d35ea43d69a85f836d5d6d864ccad4e
@@@ -298,19 -299,42 +298,19 @@@ void sctp_outq_tail(struct sctp_outq *q
         * immediately.
         */
        if (sctp_chunk_is_data(chunk)) {
 -              /* Is it OK to queue data chunks?  */
 -              /* From 9. Termination of Association
 -               *
 -               * When either endpoint performs a shutdown, the
 -               * association on each peer will stop accepting new
 -               * data from its user and only deliver data in queue
 -               * at the time of sending or receiving the SHUTDOWN
 -               * chunk.
 -               */
 -              switch (q->asoc->state) {
 -              case SCTP_STATE_CLOSED:
 -              case SCTP_STATE_SHUTDOWN_PENDING:
 -              case SCTP_STATE_SHUTDOWN_SENT:
 -              case SCTP_STATE_SHUTDOWN_RECEIVED:
 -              case SCTP_STATE_SHUTDOWN_ACK_SENT:
 -                      /* Cannot send after transport endpoint shutdown */
 -                      error = -ESHUTDOWN;
 -                      break;
 -
 -              default:
 -                      pr_debug("%s: outqueueing: outq:%p, chunk:%p[%s])\n",
 -                               __func__, q, chunk, chunk && chunk->chunk_hdr ?
 -                               sctp_cname(SCTP_ST_CHUNK(chunk->chunk_hdr->type)) :
 -                               "illegal chunk");
 -
 -                      sctp_chunk_hold(chunk);
 -                      sctp_outq_tail_data(q, chunk);
 -                      if (chunk->asoc->peer.prsctp_capable &&
 -                          SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags))
 -                              chunk->asoc->sent_cnt_removable++;
 -                      if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
 -                              SCTP_INC_STATS(net, SCTP_MIB_OUTUNORDERCHUNKS);
 -                      else
 -                              SCTP_INC_STATS(net, SCTP_MIB_OUTORDERCHUNKS);
 -                      break;
 -              }
 +              pr_debug("%s: outqueueing: outq:%p, chunk:%p[%s])\n",
 +                       __func__, q, chunk, chunk && chunk->chunk_hdr ?
 +                       sctp_cname(SCTP_ST_CHUNK(chunk->chunk_hdr->type)) :
 +                       "illegal chunk");
 +
 +              sctp_outq_tail_data(q, chunk);
-               if (chunk->asoc->prsctp_enable &&
++              if (chunk->asoc->peer.prsctp_capable &&
 +                  SCTP_PR_PRIO_ENABLED(chunk->sinfo.sinfo_flags))
 +                      chunk->asoc->sent_cnt_removable++;
 +              if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
 +                      SCTP_INC_STATS(net, SCTP_MIB_OUTUNORDERCHUNKS);
 +              else
 +                      SCTP_INC_STATS(net, SCTP_MIB_OUTORDERCHUNKS);
        } else {
                list_add_tail(&chunk->list, &q->control_chunk_list);
                SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS);
index 807158e32f5fe5e2028d578ce078bb2d00345b73,cef0cee182d447e65bfd1bdfbe8cc0201156b221..048954eee984f28e599084b32fad87b2bd6989d0
@@@ -314,10 -299,9 +303,10 @@@ static int sctp_sock_dump(struct sock *
                                        sk_user_ns(NETLINK_CB(cb->skb).sk),
                                        NETLINK_CB(cb->skb).portid,
                                        cb->nlh->nlmsg_seq,
 -                                      NLM_F_MULTI, cb->nlh) < 0) {
 +                                      NLM_F_MULTI, cb->nlh,
 +                                      commp->net_admin) < 0) {
                        cb->args[3] = 1;
-                       err = 2;
+                       err = 1;
                        goto release;
                }
                cb->args[3] = 1;
                if (inet_sctp_diag_fill(sk, assoc, skb, r,
                                        sk_user_ns(NETLINK_CB(cb->skb).sk),
                                        NETLINK_CB(cb->skb).portid,
 -                                      cb->nlh->nlmsg_seq, 0, cb->nlh) < 0) {
 +                                      cb->nlh->nlmsg_seq, 0, cb->nlh,
 +                                      commp->net_admin) < 0) {
-                       err = 2;
+                       err = 1;
                        goto release;
                }
  next:
Simple merge
Simple merge