mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
We got slightly different patches removing a double word
in a comment in net/ipv4/raw.c - picked the version from net.
Simple conflict in drivers/net/ethernet/ibm/ibmvnic.c. Use cached
values instead of VNIC login response buffer (following what
commit 507ebe6444
("ibmvnic: Fix use-after-free of VNIC login
response buffer") did).
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -875,7 +875,7 @@ static int sctp_inet6_af_supported(sa_family_t family, struct sctp_sock *sp)
|
||||
case AF_INET:
|
||||
if (!__ipv6_only_sock(sctp_opt2sk(sp)))
|
||||
return 1;
|
||||
/* fallthru */
|
||||
fallthrough;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@@ -912,7 +912,7 @@ static void sctp_outq_flush_ctrl(struct sctp_flush_ctx *ctx)
|
||||
case SCTP_CID_ABORT:
|
||||
if (sctp_test_T_bit(chunk))
|
||||
ctx->packet->vtag = ctx->asoc->c.my_vtag;
|
||||
/* fallthru */
|
||||
fallthrough;
|
||||
|
||||
/* The following chunks are "response" chunks, i.e.
|
||||
* they are generated in response to something we
|
||||
@@ -927,7 +927,7 @@ static void sctp_outq_flush_ctrl(struct sctp_flush_ctx *ctx)
|
||||
case SCTP_CID_ECN_CWR:
|
||||
case SCTP_CID_ASCONF_ACK:
|
||||
one_packet = 1;
|
||||
/* Fall through */
|
||||
fallthrough;
|
||||
|
||||
case SCTP_CID_SACK:
|
||||
case SCTP_CID_HEARTBEAT:
|
||||
@@ -1030,7 +1030,7 @@ static void sctp_outq_flush_data(struct sctp_flush_ctx *ctx,
|
||||
if (!ctx->packet || !ctx->packet->has_cookie_echo)
|
||||
return;
|
||||
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
case SCTP_STATE_ESTABLISHED:
|
||||
case SCTP_STATE_SHUTDOWN_PENDING:
|
||||
case SCTP_STATE_SHUTDOWN_RECEIVED:
|
||||
|
@@ -2077,7 +2077,7 @@ static enum sctp_ierror sctp_process_unk_param(
|
||||
break;
|
||||
case SCTP_PARAM_ACTION_DISCARD_ERR:
|
||||
retval = SCTP_IERROR_ERROR;
|
||||
/* Fall through */
|
||||
fallthrough;
|
||||
case SCTP_PARAM_ACTION_SKIP_ERR:
|
||||
/* Make an ERROR chunk, preparing enough room for
|
||||
* returning multiple unknown parameters.
|
||||
|
@@ -1516,7 +1516,7 @@ static int sctp_cmd_interpreter(enum sctp_event_type event_type,
|
||||
|
||||
if (timer_pending(timer))
|
||||
break;
|
||||
/* fall through */
|
||||
fallthrough;
|
||||
|
||||
case SCTP_CMD_TIMER_START:
|
||||
timer = &asoc->timers[cmd->obj.to];
|
||||
|
@@ -4315,7 +4315,7 @@ enum sctp_disposition sctp_sf_eat_auth(struct net *net,
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_REPLY,
|
||||
SCTP_CHUNK(err_chunk));
|
||||
}
|
||||
/* Fall Through */
|
||||
fallthrough;
|
||||
case SCTP_IERROR_AUTH_BAD_KEYID:
|
||||
case SCTP_IERROR_BAD_SIG:
|
||||
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
|
||||
|
@@ -8060,8 +8060,6 @@ static int sctp_get_port_local(struct sock *sk, union sctp_addr *addr)
|
||||
|
||||
pr_debug("%s: begins, snum:%d\n", __func__, snum);
|
||||
|
||||
local_bh_disable();
|
||||
|
||||
if (snum == 0) {
|
||||
/* Search for an available port. */
|
||||
int low, high, remaining, index;
|
||||
@@ -8079,20 +8077,21 @@ static int sctp_get_port_local(struct sock *sk, union sctp_addr *addr)
|
||||
continue;
|
||||
index = sctp_phashfn(net, rover);
|
||||
head = &sctp_port_hashtable[index];
|
||||
spin_lock(&head->lock);
|
||||
spin_lock_bh(&head->lock);
|
||||
sctp_for_each_hentry(pp, &head->chain)
|
||||
if ((pp->port == rover) &&
|
||||
net_eq(net, pp->net))
|
||||
goto next;
|
||||
break;
|
||||
next:
|
||||
spin_unlock(&head->lock);
|
||||
spin_unlock_bh(&head->lock);
|
||||
cond_resched();
|
||||
} while (--remaining > 0);
|
||||
|
||||
/* Exhausted local port range during search? */
|
||||
ret = 1;
|
||||
if (remaining <= 0)
|
||||
goto fail;
|
||||
return ret;
|
||||
|
||||
/* OK, here is the one we will use. HEAD (the port
|
||||
* hash table list entry) is non-NULL and we hold it's
|
||||
@@ -8107,7 +8106,7 @@ static int sctp_get_port_local(struct sock *sk, union sctp_addr *addr)
|
||||
* port iterator, pp being NULL.
|
||||
*/
|
||||
head = &sctp_port_hashtable[sctp_phashfn(net, snum)];
|
||||
spin_lock(&head->lock);
|
||||
spin_lock_bh(&head->lock);
|
||||
sctp_for_each_hentry(pp, &head->chain) {
|
||||
if ((pp->port == snum) && net_eq(pp->net, net))
|
||||
goto pp_found;
|
||||
@@ -8207,10 +8206,7 @@ success:
|
||||
ret = 0;
|
||||
|
||||
fail_unlock:
|
||||
spin_unlock(&head->lock);
|
||||
|
||||
fail:
|
||||
local_bh_enable();
|
||||
spin_unlock_bh(&head->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user