[SCTP]: SCTP_CMD_INIT_FAILED annotations.
argument stored for SCTP_CMD_INIT_FAILED is always __be16 (protocol error). Introduced new field and accessor for it (SCTP_PERR()); switched to their use (from SCTP_U32() and .u32) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f94c0198dd
commit
dc251b2b1c
@ -119,6 +119,7 @@ typedef union {
|
||||
__u16 u16;
|
||||
__u8 u8;
|
||||
int error;
|
||||
__be16 err;
|
||||
sctp_state_t state;
|
||||
sctp_event_timeout_t to;
|
||||
unsigned long zero;
|
||||
@ -167,6 +168,7 @@ SCTP_ARG_CONSTRUCTOR(U32, __u32, u32)
|
||||
SCTP_ARG_CONSTRUCTOR(U16, __u16, u16)
|
||||
SCTP_ARG_CONSTRUCTOR(U8, __u8, u8)
|
||||
SCTP_ARG_CONSTRUCTOR(ERROR, int, error)
|
||||
SCTP_ARG_CONSTRUCTOR(PERR, __be16, err) /* protocol error */
|
||||
SCTP_ARG_CONSTRUCTOR(STATE, sctp_state_t, state)
|
||||
SCTP_ARG_CONSTRUCTOR(TO, sctp_event_timeout_t, to)
|
||||
SCTP_ARG_CONSTRUCTOR(PTR, void *, ptr)
|
||||
|
@ -1360,7 +1360,7 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
|
||||
break;
|
||||
|
||||
case SCTP_CMD_INIT_FAILED:
|
||||
sctp_cmd_init_failed(commands, asoc, cmd->obj.u32);
|
||||
sctp_cmd_init_failed(commands, asoc, cmd->obj.err);
|
||||
break;
|
||||
|
||||
case SCTP_CMD_ASSOC_FAILED:
|
||||
|
@ -2138,7 +2138,7 @@ static sctp_disposition_t sctp_sf_do_5_2_6_stale(const struct sctp_endpoint *ep,
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
|
||||
SCTP_ERROR(ETIMEDOUT));
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(SCTP_ERROR_STALE_COOKIE));
|
||||
SCTP_PERR(SCTP_ERROR_STALE_COOKIE));
|
||||
return SCTP_DISPOSITION_DELETE_TCB;
|
||||
}
|
||||
|
||||
@ -2370,7 +2370,7 @@ static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands,
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(sk_err));
|
||||
/* CMD_INIT_FAILED will DELETE_TCB. */
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(error));
|
||||
SCTP_PERR(error));
|
||||
return SCTP_DISPOSITION_ABORT;
|
||||
}
|
||||
|
||||
@ -3743,7 +3743,7 @@ static sctp_disposition_t sctp_sf_violation_chunklen(
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
|
||||
SCTP_ERROR(ECONNREFUSED));
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(SCTP_ERROR_PROTO_VIOLATION));
|
||||
SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION));
|
||||
} else {
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
|
||||
SCTP_ERROR(ECONNABORTED));
|
||||
@ -4199,7 +4199,7 @@ sctp_disposition_t sctp_sf_cookie_wait_prm_abort(
|
||||
SCTP_ERROR(ECONNREFUSED));
|
||||
/* Delete the established association. */
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(SCTP_ERROR_USER_ABORT));
|
||||
SCTP_PERR(SCTP_ERROR_USER_ABORT));
|
||||
|
||||
return retval;
|
||||
}
|
||||
@ -4693,7 +4693,7 @@ sctp_disposition_t sctp_sf_t1_init_timer_expire(const struct sctp_endpoint *ep,
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
|
||||
SCTP_ERROR(ETIMEDOUT));
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(SCTP_ERROR_NO_ERROR));
|
||||
SCTP_PERR(SCTP_ERROR_NO_ERROR));
|
||||
return SCTP_DISPOSITION_DELETE_TCB;
|
||||
}
|
||||
|
||||
@ -4745,7 +4745,7 @@ sctp_disposition_t sctp_sf_t1_cookie_timer_expire(const struct sctp_endpoint *ep
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
|
||||
SCTP_ERROR(ETIMEDOUT));
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
||||
SCTP_U32(SCTP_ERROR_NO_ERROR));
|
||||
SCTP_PERR(SCTP_ERROR_NO_ERROR));
|
||||
return SCTP_DISPOSITION_DELETE_TCB;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user