diff options
Diffstat (limited to 'net/sctp/sm_statefuns.c')
| -rw-r--r-- | net/sctp/sm_statefuns.c | 51 | 
1 files changed, 26 insertions, 25 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 246117142b5..49b847b00f9 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -4008,31 +4008,32 @@ sctp_disposition_t sctp_sf_eat_auth(const struct sctp_endpoint *ep,  	auth_hdr = (struct sctp_authhdr *)chunk->skb->data;  	error = sctp_sf_authenticate(ep, asoc, type, chunk);  	switch (error) { -		case SCTP_IERROR_AUTH_BAD_HMAC: -			/* Generate the ERROR chunk and discard the rest -			 * of the packet -			 */ -			err_chunk = sctp_make_op_error(asoc, chunk, -							SCTP_ERROR_UNSUP_HMAC, -							&auth_hdr->hmac_id, -							sizeof(__u16), 0); -			if (err_chunk) { -				sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, -						SCTP_CHUNK(err_chunk)); -			} -			/* Fall Through */ -		case SCTP_IERROR_AUTH_BAD_KEYID: -		case SCTP_IERROR_BAD_SIG: -			return sctp_sf_pdiscard(ep, asoc, type, arg, commands); -			break; -		case SCTP_IERROR_PROTO_VIOLATION: -			return sctp_sf_violation_chunklen(ep, asoc, type, arg, -							  commands); -			break; -		case SCTP_IERROR_NOMEM: -			return SCTP_DISPOSITION_NOMEM; -		default: -			break; +	case SCTP_IERROR_AUTH_BAD_HMAC: +		/* Generate the ERROR chunk and discard the rest +		 * of the packet +		 */ +		err_chunk = sctp_make_op_error(asoc, chunk, +					       SCTP_ERROR_UNSUP_HMAC, +					       &auth_hdr->hmac_id, +					       sizeof(__u16), 0); +		if (err_chunk) { +			sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, +					SCTP_CHUNK(err_chunk)); +		} +		/* Fall Through */ +	case SCTP_IERROR_AUTH_BAD_KEYID: +	case SCTP_IERROR_BAD_SIG: +		return sctp_sf_pdiscard(ep, asoc, type, arg, commands); + +	case SCTP_IERROR_PROTO_VIOLATION: +		return sctp_sf_violation_chunklen(ep, asoc, type, arg, +						  commands); + +	case SCTP_IERROR_NOMEM: +		return SCTP_DISPOSITION_NOMEM; + +	default:			/* Prevent gcc warnings */ +		break;  	}  	if (asoc->active_key_id != ntohs(auth_hdr->shkey_id)) {  |