Declare all read only data structures as const
By analysing objdump output some read only structures were found in .data section. To help compiler further optimize code declare these as const. Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
This commit is contained in:
parent
fd4fb28179
commit
8b423edbd3
32 changed files with 93 additions and 92 deletions
|
@ -564,27 +564,27 @@ enum hostapd_hw_mode ieee80211_freq_to_chan(int freq, u8 *channel)
|
|||
}
|
||||
|
||||
|
||||
static const char *us_op_class_cc[] = {
|
||||
static const char *const us_op_class_cc[] = {
|
||||
"US", "CA", NULL
|
||||
};
|
||||
|
||||
static const char *eu_op_class_cc[] = {
|
||||
static const char *const eu_op_class_cc[] = {
|
||||
"AL", "AM", "AT", "AZ", "BA", "BE", "BG", "BY", "CH", "CY", "CZ", "DE",
|
||||
"DK", "EE", "EL", "ES", "FI", "FR", "GE", "HR", "HU", "IE", "IS", "IT",
|
||||
"LI", "LT", "LU", "LV", "MD", "ME", "MK", "MT", "NL", "NO", "PL", "PT",
|
||||
"RO", "RS", "RU", "SE", "SI", "SK", "TR", "UA", "UK", NULL
|
||||
};
|
||||
|
||||
static const char *jp_op_class_cc[] = {
|
||||
static const char *const jp_op_class_cc[] = {
|
||||
"JP", NULL
|
||||
};
|
||||
|
||||
static const char *cn_op_class_cc[] = {
|
||||
static const char *const cn_op_class_cc[] = {
|
||||
"CN", "CA", NULL
|
||||
};
|
||||
|
||||
|
||||
static int country_match(const char *cc[], const char *country)
|
||||
static int country_match(const char *const cc[], const char *const country)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
@ -161,7 +161,7 @@ struct omac1_test_vector {
|
|||
u8 tag[16];
|
||||
};
|
||||
|
||||
static struct omac1_test_vector omac1_test_vectors[] =
|
||||
static const struct omac1_test_vector omac1_test_vectors[] =
|
||||
{
|
||||
{
|
||||
{ 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
|
||||
|
@ -210,7 +210,8 @@ static struct omac1_test_vector omac1_test_vectors[] =
|
|||
};
|
||||
|
||||
|
||||
static int test_omac1_vector(struct omac1_test_vector *tv, unsigned int i)
|
||||
static int test_omac1_vector(const struct omac1_test_vector *tv,
|
||||
unsigned int i)
|
||||
{
|
||||
u8 key[] = {
|
||||
0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
|
||||
|
@ -983,14 +984,14 @@ static int test_eap_fast(void)
|
|||
}
|
||||
|
||||
|
||||
static u8 key0[] =
|
||||
static const u8 key0[] =
|
||||
{
|
||||
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
|
||||
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
|
||||
0x0b, 0x0b, 0x0b, 0x0b
|
||||
};
|
||||
static u8 data0[] = "Hi There";
|
||||
static u8 prf0[] =
|
||||
static const u8 data0[] = "Hi There";
|
||||
static const u8 prf0[] =
|
||||
{
|
||||
0xbc, 0xd4, 0xc6, 0x50, 0xb3, 0x0b, 0x96, 0x84,
|
||||
0x95, 0x18, 0x29, 0xe0, 0xd7, 0x5f, 0x9d, 0x54,
|
||||
|
@ -1002,9 +1003,9 @@ static u8 prf0[] =
|
|||
0xdb, 0x83, 0x73, 0x69, 0x83, 0x56, 0xcf, 0x5a
|
||||
};
|
||||
|
||||
static u8 key1[] = "Jefe";
|
||||
static u8 data1[] = "what do ya want for nothing?";
|
||||
static u8 prf1[] =
|
||||
static const u8 key1[] = "Jefe";
|
||||
static const u8 data1[] = "what do ya want for nothing?";
|
||||
static const u8 prf1[] =
|
||||
{
|
||||
0x51, 0xf4, 0xde, 0x5b, 0x33, 0xf2, 0x49, 0xad,
|
||||
0xf8, 0x1a, 0xeb, 0x71, 0x3a, 0x3c, 0x20, 0xf4,
|
||||
|
@ -1017,13 +1018,13 @@ static u8 prf1[] =
|
|||
};
|
||||
|
||||
|
||||
static u8 key2[] =
|
||||
static const u8 key2[] =
|
||||
{
|
||||
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||
0xaa, 0xaa, 0xaa, 0xaa
|
||||
};
|
||||
static u8 data2[] =
|
||||
static const u8 data2[] =
|
||||
{
|
||||
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
|
||||
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
|
||||
|
@ -1033,7 +1034,7 @@ static u8 data2[] =
|
|||
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
|
||||
0xdd, 0xdd
|
||||
};
|
||||
static u8 prf2[] =
|
||||
static const u8 prf2[] =
|
||||
{
|
||||
0xe1, 0xac, 0x54, 0x6e, 0xc4, 0xcb, 0x63, 0x6f,
|
||||
0x99, 0x76, 0x48, 0x7b, 0xe5, 0xc8, 0x6b, 0xe1,
|
||||
|
@ -1052,7 +1053,7 @@ struct passphrase_test {
|
|||
char psk[32];
|
||||
};
|
||||
|
||||
static struct passphrase_test passphrase_tests[] =
|
||||
static const struct passphrase_test passphrase_tests[] =
|
||||
{
|
||||
{
|
||||
"password",
|
||||
|
@ -1097,7 +1098,7 @@ struct rfc6070_test {
|
|||
size_t dk_len;
|
||||
};
|
||||
|
||||
static struct rfc6070_test rfc6070_tests[] =
|
||||
static const struct rfc6070_test rfc6070_tests[] =
|
||||
{
|
||||
{
|
||||
"password",
|
||||
|
@ -1214,7 +1215,7 @@ static int test_sha1(void)
|
|||
wpa_printf(MSG_INFO, "PBKDF2-SHA1 Passphrase test cases:");
|
||||
for (i = 0; i < NUM_PASSPHRASE_TESTS; i++) {
|
||||
u8 psk[32];
|
||||
struct passphrase_test *test = &passphrase_tests[i];
|
||||
const struct passphrase_test *test = &passphrase_tests[i];
|
||||
|
||||
if (pbkdf2_sha1(test->passphrase,
|
||||
(const u8 *) test->ssid, strlen(test->ssid),
|
||||
|
@ -1230,7 +1231,7 @@ static int test_sha1(void)
|
|||
wpa_printf(MSG_INFO, "PBKDF2-SHA1 test cases (RFC 6070):");
|
||||
for (i = 0; i < NUM_RFC6070_TESTS; i++) {
|
||||
u8 dk[25];
|
||||
struct rfc6070_test *test = &rfc6070_tests[i];
|
||||
const struct rfc6070_test *test = &rfc6070_tests[i];
|
||||
|
||||
if (pbkdf2_sha1(test->p, (const u8 *) test->s, strlen(test->s),
|
||||
test->c, dk, test->dk_len) == 0 &&
|
||||
|
@ -1248,7 +1249,7 @@ static int test_sha1(void)
|
|||
}
|
||||
|
||||
|
||||
struct {
|
||||
const struct {
|
||||
char *data;
|
||||
u8 hash[32];
|
||||
} tests[] = {
|
||||
|
@ -1272,7 +1273,7 @@ struct {
|
|||
}
|
||||
};
|
||||
|
||||
struct hmac_test {
|
||||
const struct hmac_test {
|
||||
u8 key[80];
|
||||
size_t key_len;
|
||||
u8 data[128];
|
||||
|
@ -1513,7 +1514,7 @@ static int test_sha256(void)
|
|||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(hmac_tests); i++) {
|
||||
struct hmac_test *t = &hmac_tests[i];
|
||||
const struct hmac_test *t = &hmac_tests[i];
|
||||
|
||||
wpa_printf(MSG_INFO, "HMAC-SHA256 test case %d:", i + 1);
|
||||
|
||||
|
|
|
@ -1153,7 +1153,7 @@ dh_group ## id ## _prime, sizeof(dh_group ## id ## _prime), \
|
|||
dh_group ## id ## _order, sizeof(dh_group ## id ## _order), safe }
|
||||
|
||||
|
||||
static struct dh_group dh_groups[] = {
|
||||
static const struct dh_group dh_groups[] = {
|
||||
DH_GROUP(5, 1),
|
||||
#ifdef ALL_DH_GROUPS
|
||||
DH_GROUP(1, 1),
|
||||
|
|
|
@ -4640,6 +4640,6 @@ wpa_get_wowlan_triggers(const char *wowlan_triggers,
|
|||
const struct wpa_driver_capa *capa);
|
||||
|
||||
/* NULL terminated array of linked in driver wrappers */
|
||||
extern struct wpa_driver_ops *wpa_drivers[];
|
||||
extern const struct wpa_driver_ops *const wpa_drivers[];
|
||||
|
||||
#endif /* DRIVER_H */
|
||||
|
|
|
@ -743,7 +743,7 @@ struct wpa_driver_ops wpa_driver_privsep_ops = {
|
|||
};
|
||||
|
||||
|
||||
struct wpa_driver_ops *wpa_drivers[] =
|
||||
const struct wpa_driver_ops *const wpa_drivers[] =
|
||||
{
|
||||
&wpa_driver_privsep_ops,
|
||||
NULL
|
||||
|
|
|
@ -47,7 +47,7 @@ extern struct wpa_driver_ops wpa_driver_none_ops; /* driver_none.c */
|
|||
#endif /* CONFIG_DRIVER_NONE */
|
||||
|
||||
|
||||
struct wpa_driver_ops *wpa_drivers[] =
|
||||
const struct wpa_driver_ops *const wpa_drivers[] =
|
||||
{
|
||||
#ifdef CONFIG_DRIVER_NL80211
|
||||
&wpa_driver_nl80211_ops,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "ikev2_common.h"
|
||||
|
||||
|
||||
static struct ikev2_integ_alg ikev2_integ_algs[] = {
|
||||
static const struct ikev2_integ_alg ikev2_integ_algs[] = {
|
||||
{ AUTH_HMAC_SHA1_96, 20, 12 },
|
||||
{ AUTH_HMAC_MD5_96, 16, 12 }
|
||||
};
|
||||
|
@ -24,7 +24,7 @@ static struct ikev2_integ_alg ikev2_integ_algs[] = {
|
|||
#define NUM_INTEG_ALGS ARRAY_SIZE(ikev2_integ_algs)
|
||||
|
||||
|
||||
static struct ikev2_prf_alg ikev2_prf_algs[] = {
|
||||
static const struct ikev2_prf_alg ikev2_prf_algs[] = {
|
||||
{ PRF_HMAC_SHA1, 20, 20 },
|
||||
{ PRF_HMAC_MD5, 16, 16 }
|
||||
};
|
||||
|
@ -32,7 +32,7 @@ static struct ikev2_prf_alg ikev2_prf_algs[] = {
|
|||
#define NUM_PRF_ALGS ARRAY_SIZE(ikev2_prf_algs)
|
||||
|
||||
|
||||
static struct ikev2_encr_alg ikev2_encr_algs[] = {
|
||||
static const struct ikev2_encr_alg ikev2_encr_algs[] = {
|
||||
{ ENCR_AES_CBC, 16, 16 }, /* only 128-bit keys supported for now */
|
||||
{ ENCR_3DES, 24, 8 }
|
||||
};
|
||||
|
|
|
@ -1911,7 +1911,7 @@ static void eap_peer_sm_tls_event(void *ctx, enum tls_event ev,
|
|||
* structure remains alive while the EAP state machine is active.
|
||||
*/
|
||||
struct eap_sm * eap_peer_sm_init(void *eapol_ctx,
|
||||
struct eapol_callbacks *eapol_cb,
|
||||
const struct eapol_callbacks *eapol_cb,
|
||||
void *msg_ctx, struct eap_config *conf)
|
||||
{
|
||||
struct eap_sm *sm;
|
||||
|
|
|
@ -307,7 +307,7 @@ struct eap_config {
|
|||
};
|
||||
|
||||
struct eap_sm * eap_peer_sm_init(void *eapol_ctx,
|
||||
struct eapol_callbacks *eapol_cb,
|
||||
const struct eapol_callbacks *eapol_cb,
|
||||
void *msg_ctx, struct eap_config *conf);
|
||||
void eap_peer_sm_deinit(struct eap_sm *sm);
|
||||
int eap_peer_sm_step(struct eap_sm *sm);
|
||||
|
|
|
@ -328,7 +328,7 @@ struct eap_sm {
|
|||
/* not defined in RFC 4137 */
|
||||
Boolean changed;
|
||||
void *eapol_ctx;
|
||||
struct eapol_callbacks *eapol_cb;
|
||||
const struct eapol_callbacks *eapol_cb;
|
||||
void *eap_method_priv;
|
||||
int init_phase2;
|
||||
int fast_reauth;
|
||||
|
|
|
@ -139,7 +139,7 @@ struct eap_config {
|
|||
|
||||
|
||||
struct eap_sm * eap_server_sm_init(void *eapol_ctx,
|
||||
struct eapol_callbacks *eapol_cb,
|
||||
const struct eapol_callbacks *eapol_cb,
|
||||
struct eap_config *eap_conf);
|
||||
void eap_server_sm_deinit(struct eap_sm *sm);
|
||||
int eap_server_sm_step(struct eap_sm *sm);
|
||||
|
|
|
@ -155,7 +155,7 @@ struct eap_sm {
|
|||
/* not defined in RFC 4137 */
|
||||
Boolean changed;
|
||||
void *eapol_ctx, *msg_ctx;
|
||||
struct eapol_callbacks *eapol_cb;
|
||||
const struct eapol_callbacks *eapol_cb;
|
||||
void *eap_method_priv;
|
||||
u8 *identity;
|
||||
size_t identity_len;
|
||||
|
|
|
@ -1802,7 +1802,7 @@ static void eap_user_free(struct eap_user *user)
|
|||
* This function allocates and initializes an EAP state machine.
|
||||
*/
|
||||
struct eap_sm * eap_server_sm_init(void *eapol_ctx,
|
||||
struct eapol_callbacks *eapol_cb,
|
||||
const struct eapol_callbacks *eapol_cb,
|
||||
struct eap_config *conf)
|
||||
{
|
||||
struct eap_sm *sm;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#define STATE_MACHINE_DEBUG_PREFIX "IEEE 802.1X"
|
||||
#define STATE_MACHINE_ADDR sm->addr
|
||||
|
||||
static struct eapol_callbacks eapol_cb;
|
||||
static const struct eapol_callbacks eapol_cb;
|
||||
|
||||
/* EAPOL state machines are described in IEEE Std 802.1X-2004, Chap. 8.2 */
|
||||
|
||||
|
@ -1056,7 +1056,7 @@ static int eapol_sm_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
|
|||
}
|
||||
|
||||
|
||||
static struct eapol_callbacks eapol_cb =
|
||||
static const struct eapol_callbacks eapol_cb =
|
||||
{
|
||||
eapol_sm_get_eap_user,
|
||||
eapol_sm_get_eap_req_id_text,
|
||||
|
|
|
@ -1997,7 +1997,7 @@ static void eapol_sm_set_anon_id(void *ctx, const u8 *id, size_t len)
|
|||
}
|
||||
|
||||
|
||||
static struct eapol_callbacks eapol_cb =
|
||||
static const struct eapol_callbacks eapol_cb =
|
||||
{
|
||||
eapol_sm_get_config,
|
||||
eapol_sm_get_bool,
|
||||
|
|
|
@ -167,7 +167,7 @@ struct radius_attr_type {
|
|||
} data_type;
|
||||
};
|
||||
|
||||
static struct radius_attr_type radius_attrs[] =
|
||||
static const struct radius_attr_type radius_attrs[] =
|
||||
{
|
||||
{ RADIUS_ATTR_USER_NAME, "User-Name", RADIUS_ATTR_TEXT },
|
||||
{ RADIUS_ATTR_USER_PASSWORD, "User-Password", RADIUS_ATTR_UNDIST },
|
||||
|
@ -259,7 +259,7 @@ static struct radius_attr_type radius_attrs[] =
|
|||
#define RADIUS_ATTRS ARRAY_SIZE(radius_attrs)
|
||||
|
||||
|
||||
static struct radius_attr_type *radius_get_attr_type(u8 type)
|
||||
static const struct radius_attr_type *radius_get_attr_type(u8 type)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -274,7 +274,7 @@ static struct radius_attr_type *radius_get_attr_type(u8 type)
|
|||
|
||||
static void radius_msg_dump_attr(struct radius_attr_hdr *hdr)
|
||||
{
|
||||
struct radius_attr_type *attr;
|
||||
const struct radius_attr_type *attr;
|
||||
int len;
|
||||
unsigned char *pos;
|
||||
char buf[1000];
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
*/
|
||||
#define RADIUS_MAX_MSG_LEN 3000
|
||||
|
||||
static struct eapol_callbacks radius_server_eapol_cb;
|
||||
static const struct eapol_callbacks radius_server_eapol_cb;
|
||||
|
||||
struct radius_client;
|
||||
struct radius_server_data;
|
||||
|
@ -2101,7 +2101,7 @@ static int radius_server_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
|
|||
#endif /* CONFIG_ERP */
|
||||
|
||||
|
||||
static struct eapol_callbacks radius_server_eapol_cb =
|
||||
static const struct eapol_callbacks radius_server_eapol_cb =
|
||||
{
|
||||
.get_eap_user = radius_server_get_eap_user,
|
||||
.get_eap_req_id_text = radius_server_get_eap_req_id_text,
|
||||
|
|
|
@ -29,8 +29,8 @@ struct ndef_record {
|
|||
u32 total_length;
|
||||
};
|
||||
|
||||
static char wifi_handover_type[] = "application/vnd.wfa.wsc";
|
||||
static char p2p_handover_type[] = "application/vnd.wfa.p2p";
|
||||
static const char wifi_handover_type[] = "application/vnd.wfa.wsc";
|
||||
static const char p2p_handover_type[] = "application/vnd.wfa.p2p";
|
||||
|
||||
static int ndef_parse_record(const u8 *data, u32 size,
|
||||
struct ndef_record *record)
|
||||
|
@ -97,7 +97,7 @@ static struct wpabuf * ndef_parse_records(const struct wpabuf *buf,
|
|||
}
|
||||
|
||||
|
||||
static struct wpabuf * ndef_build_record(u8 flags, void *type,
|
||||
static struct wpabuf * ndef_build_record(u8 flags, const void *type,
|
||||
u8 type_length, void *id,
|
||||
u8 id_length,
|
||||
const struct wpabuf *payload)
|
||||
|
|
|
@ -17,7 +17,7 @@ struct wps_attr_parse_test {
|
|||
int extra;
|
||||
};
|
||||
|
||||
struct wps_attr_parse_test wps_attr_parse_test_cases[] = {
|
||||
const struct wps_attr_parse_test wps_attr_parse_test_cases[] = {
|
||||
/* Empty message */
|
||||
{ "", 0, 0 },
|
||||
/* Truncated attribute header */
|
||||
|
@ -271,7 +271,7 @@ static int wps_attr_parse_tests(void)
|
|||
for (i = 0; i < ARRAY_SIZE(wps_attr_parse_test_cases); i++) {
|
||||
struct wpabuf *buf;
|
||||
size_t len;
|
||||
struct wps_attr_parse_test *test =
|
||||
const struct wps_attr_parse_test *test =
|
||||
&wps_attr_parse_test_cases[i];
|
||||
|
||||
len = os_strlen(test->data) / 2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue