1
0
Fork 0

sctp: remove the typedef sctp_sm_table_entry_t

This patch is to remove the typedef sctp_sm_table_entry_t, and
replace with struct sctp_sm_table_entry in the places where it's
using this typedef.

It is also to fix some indents.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
zero-colors
Xin Long 2017-08-11 10:23:56 +08:00 committed by David S. Miller
parent eb662a6a9b
commit 8ee821aea3
3 changed files with 29 additions and 21 deletions

View File

@ -72,10 +72,10 @@ typedef sctp_disposition_t (sctp_state_fn_t) (struct net *,
void *arg, void *arg,
struct sctp_cmd_seq *); struct sctp_cmd_seq *);
typedef void (sctp_timer_event_t) (unsigned long); typedef void (sctp_timer_event_t) (unsigned long);
typedef struct { struct sctp_sm_table_entry {
sctp_state_fn_t *fn; sctp_state_fn_t *fn;
const char *name; const char *name;
} sctp_sm_table_entry_t; };
/* A naming convention of "sctp_sf_xxx" applies to all the state functions /* A naming convention of "sctp_sf_xxx" applies to all the state functions
* currently in use. * currently in use.
@ -170,7 +170,7 @@ sctp_state_fn_t sctp_sf_autoclose_timer_expire;
/* Prototypes for utility support functions. */ /* Prototypes for utility support functions. */
__u8 sctp_get_chunk_type(struct sctp_chunk *chunk); __u8 sctp_get_chunk_type(struct sctp_chunk *chunk);
const sctp_sm_table_entry_t *sctp_sm_lookup_event( const struct sctp_sm_table_entry *sctp_sm_lookup_event(
struct net *net, struct net *net,
enum sctp_event event_type, enum sctp_event event_type,
enum sctp_state state, enum sctp_state state,

View File

@ -1146,7 +1146,7 @@ int sctp_do_sm(struct net *net, enum sctp_event event_type,
void *event_arg, gfp_t gfp) void *event_arg, gfp_t gfp)
{ {
struct sctp_cmd_seq commands; struct sctp_cmd_seq commands;
const sctp_sm_table_entry_t *state_fn; const struct sctp_sm_table_entry *state_fn;
sctp_disposition_t status; sctp_disposition_t status;
int error = 0; int error = 0;
typedef const char *(printfn_t)(union sctp_subtype); typedef const char *(printfn_t)(union sctp_subtype);

View File

@ -45,27 +45,27 @@
#include <net/sctp/sctp.h> #include <net/sctp/sctp.h>
#include <net/sctp/sm.h> #include <net/sctp/sm.h>
static const sctp_sm_table_entry_t static const struct sctp_sm_table_entry
primitive_event_table[SCTP_NUM_PRIMITIVE_TYPES][SCTP_STATE_NUM_STATES]; primitive_event_table[SCTP_NUM_PRIMITIVE_TYPES][SCTP_STATE_NUM_STATES];
static const sctp_sm_table_entry_t static const struct sctp_sm_table_entry
other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_STATE_NUM_STATES]; other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_STATE_NUM_STATES];
static const sctp_sm_table_entry_t static const struct sctp_sm_table_entry
timeout_event_table[SCTP_NUM_TIMEOUT_TYPES][SCTP_STATE_NUM_STATES]; timeout_event_table[SCTP_NUM_TIMEOUT_TYPES][SCTP_STATE_NUM_STATES];
static const sctp_sm_table_entry_t *sctp_chunk_event_lookup( static const struct sctp_sm_table_entry *sctp_chunk_event_lookup(
struct net *net, struct net *net,
enum sctp_cid cid, enum sctp_cid cid,
enum sctp_state state); enum sctp_state state);
static const sctp_sm_table_entry_t bug = { static const struct sctp_sm_table_entry bug = {
.fn = sctp_sf_bug, .fn = sctp_sf_bug,
.name = "sctp_sf_bug" .name = "sctp_sf_bug"
}; };
#define DO_LOOKUP(_max, _type, _table) \ #define DO_LOOKUP(_max, _type, _table) \
({ \ ({ \
const sctp_sm_table_entry_t *rtn; \ const struct sctp_sm_table_entry *rtn; \
\ \
if ((event_subtype._type > (_max))) { \ if ((event_subtype._type > (_max))) { \
pr_warn("table %p possible attack: event %d exceeds max %d\n", \ pr_warn("table %p possible attack: event %d exceeds max %d\n", \
@ -77,7 +77,7 @@ static const sctp_sm_table_entry_t bug = {
rtn; \ rtn; \
}) })
const sctp_sm_table_entry_t *sctp_sm_lookup_event( const struct sctp_sm_table_entry *sctp_sm_lookup_event(
struct net *net, struct net *net,
enum sctp_event event_type, enum sctp_event event_type,
enum sctp_state state, enum sctp_state state,
@ -394,7 +394,8 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(
* *
* For base protocol (RFC 2960). * For base protocol (RFC 2960).
*/ */
static const sctp_sm_table_entry_t chunk_event_table[SCTP_NUM_BASE_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
chunk_event_table[SCTP_NUM_BASE_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_DATA, TYPE_SCTP_DATA,
TYPE_SCTP_INIT, TYPE_SCTP_INIT,
TYPE_SCTP_INIT_ACK, TYPE_SCTP_INIT_ACK,
@ -453,7 +454,8 @@ static const sctp_sm_table_entry_t chunk_event_table[SCTP_NUM_BASE_CHUNK_TYPES][
/* The primary index for this table is the chunk type. /* The primary index for this table is the chunk type.
* The secondary index for this table is the state. * The secondary index for this table is the state.
*/ */
static const sctp_sm_table_entry_t addip_chunk_event_table[SCTP_NUM_ADDIP_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
addip_chunk_event_table[SCTP_NUM_ADDIP_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_ASCONF, TYPE_SCTP_ASCONF,
TYPE_SCTP_ASCONF_ACK, TYPE_SCTP_ASCONF_ACK,
}; /*state_fn_t addip_chunk_event_table[][] */ }; /*state_fn_t addip_chunk_event_table[][] */
@ -480,7 +482,8 @@ static const sctp_sm_table_entry_t addip_chunk_event_table[SCTP_NUM_ADDIP_CHUNK_
/* The primary index for this table is the chunk type. /* The primary index for this table is the chunk type.
* The secondary index for this table is the state. * The secondary index for this table is the state.
*/ */
static const sctp_sm_table_entry_t prsctp_chunk_event_table[SCTP_NUM_PRSCTP_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
prsctp_chunk_event_table[SCTP_NUM_PRSCTP_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_FWD_TSN, TYPE_SCTP_FWD_TSN,
}; /*state_fn_t prsctp_chunk_event_table[][] */ }; /*state_fn_t prsctp_chunk_event_table[][] */
@ -506,7 +509,8 @@ static const sctp_sm_table_entry_t prsctp_chunk_event_table[SCTP_NUM_PRSCTP_CHUN
/* The primary index for this table is the chunk type. /* The primary index for this table is the chunk type.
* The secondary index for this table is the state. * The secondary index for this table is the state.
*/ */
static const sctp_sm_table_entry_t reconf_chunk_event_table[SCTP_NUM_RECONF_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
reconf_chunk_event_table[SCTP_NUM_RECONF_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_RECONF, TYPE_SCTP_RECONF,
}; /*state_fn_t reconf_chunk_event_table[][] */ }; /*state_fn_t reconf_chunk_event_table[][] */
@ -532,11 +536,12 @@ static const sctp_sm_table_entry_t reconf_chunk_event_table[SCTP_NUM_RECONF_CHUN
/* The primary index for this table is the chunk type. /* The primary index for this table is the chunk type.
* The secondary index for this table is the state. * The secondary index for this table is the state.
*/ */
static const sctp_sm_table_entry_t auth_chunk_event_table[SCTP_NUM_AUTH_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
auth_chunk_event_table[SCTP_NUM_AUTH_CHUNK_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_AUTH, TYPE_SCTP_AUTH,
}; /*state_fn_t auth_chunk_event_table[][] */ }; /*state_fn_t auth_chunk_event_table[][] */
static const sctp_sm_table_entry_t static const struct sctp_sm_table_entry
chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = { chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {
/* SCTP_STATE_CLOSED */ /* SCTP_STATE_CLOSED */
TYPE_SCTP_FUNC(sctp_sf_ootb), TYPE_SCTP_FUNC(sctp_sf_ootb),
@ -693,7 +698,8 @@ chunk_event_table_unknown[SCTP_STATE_NUM_STATES] = {
/* The primary index for this table is the primitive type. /* The primary index for this table is the primitive type.
* The secondary index for this table is the state. * The secondary index for this table is the state.
*/ */
static const sctp_sm_table_entry_t primitive_event_table[SCTP_NUM_PRIMITIVE_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
primitive_event_table[SCTP_NUM_PRIMITIVE_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_PRIMITIVE_ASSOCIATE, TYPE_SCTP_PRIMITIVE_ASSOCIATE,
TYPE_SCTP_PRIMITIVE_SHUTDOWN, TYPE_SCTP_PRIMITIVE_SHUTDOWN,
TYPE_SCTP_PRIMITIVE_ABORT, TYPE_SCTP_PRIMITIVE_ABORT,
@ -741,7 +747,8 @@ static const sctp_sm_table_entry_t primitive_event_table[SCTP_NUM_PRIMITIVE_TYPE
TYPE_SCTP_FUNC(sctp_sf_ignore_other), \ TYPE_SCTP_FUNC(sctp_sf_ignore_other), \
} }
static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_OTHER_NO_PENDING_TSN, TYPE_SCTP_OTHER_NO_PENDING_TSN,
TYPE_SCTP_OTHER_ICMP_PROTO_UNREACH, TYPE_SCTP_OTHER_ICMP_PROTO_UNREACH,
}; };
@ -955,7 +962,8 @@ static const sctp_sm_table_entry_t other_event_table[SCTP_NUM_OTHER_TYPES][SCTP_
TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \ TYPE_SCTP_FUNC(sctp_sf_timer_ignore), \
} }
static const sctp_sm_table_entry_t timeout_event_table[SCTP_NUM_TIMEOUT_TYPES][SCTP_STATE_NUM_STATES] = { static const struct sctp_sm_table_entry
timeout_event_table[SCTP_NUM_TIMEOUT_TYPES][SCTP_STATE_NUM_STATES] = {
TYPE_SCTP_EVENT_TIMEOUT_NONE, TYPE_SCTP_EVENT_TIMEOUT_NONE,
TYPE_SCTP_EVENT_TIMEOUT_T1_COOKIE, TYPE_SCTP_EVENT_TIMEOUT_T1_COOKIE,
TYPE_SCTP_EVENT_TIMEOUT_T1_INIT, TYPE_SCTP_EVENT_TIMEOUT_T1_INIT,
@ -969,7 +977,7 @@ static const sctp_sm_table_entry_t timeout_event_table[SCTP_NUM_TIMEOUT_TYPES][S
TYPE_SCTP_EVENT_TIMEOUT_AUTOCLOSE, TYPE_SCTP_EVENT_TIMEOUT_AUTOCLOSE,
}; };
static const sctp_sm_table_entry_t *sctp_chunk_event_lookup( static const struct sctp_sm_table_entry *sctp_chunk_event_lookup(
struct net *net, struct net *net,
enum sctp_cid cid, enum sctp_cid cid,
enum sctp_state state) enum sctp_state state)