Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

llc: Make llc_sap_action_t function pointer arrays const

It's better when function pointer arrays aren't modifiable.

Net change:

$ size net/llc/built-in.o.*
text data bss dec hex filename
61193 12758 1344 75295 1261f net/llc/built-in.o.new
47113 27030 1344 75487 126df net/llc/built-in.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Joe Perches and committed by
David S. Miller
22bbf5f3 9b373069

+12 -12
+1 -1
include/net/llc_s_st.h
··· 19 19 struct llc_sap_state_trans { 20 20 llc_sap_ev_t ev; 21 21 u8 next_state; 22 - llc_sap_action_t *ev_actions; 22 + const llc_sap_action_t *ev_actions; 23 23 }; 24 24 25 25 struct llc_sap_state {
+10 -10
net/llc/llc_s_st.c
··· 29 29 /* state LLC_SAP_STATE_INACTIVE transition for 30 30 * LLC_SAP_EV_ACTIVATION_REQ event 31 31 */ 32 - static llc_sap_action_t llc_sap_inactive_state_actions_1[] = { 32 + static const llc_sap_action_t llc_sap_inactive_state_actions_1[] = { 33 33 [0] = llc_sap_action_report_status, 34 34 [1] = NULL, 35 35 }; ··· 47 47 }; 48 48 49 49 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_RX_UI event */ 50 - static llc_sap_action_t llc_sap_active_state_actions_1[] = { 50 + static const llc_sap_action_t llc_sap_active_state_actions_1[] = { 51 51 [0] = llc_sap_action_unitdata_ind, 52 52 [1] = NULL, 53 53 }; ··· 59 59 }; 60 60 61 61 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_UNITDATA_REQ event */ 62 - static llc_sap_action_t llc_sap_active_state_actions_2[] = { 62 + static const llc_sap_action_t llc_sap_active_state_actions_2[] = { 63 63 [0] = llc_sap_action_send_ui, 64 64 [1] = NULL, 65 65 }; ··· 71 71 }; 72 72 73 73 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_XID_REQ event */ 74 - static llc_sap_action_t llc_sap_active_state_actions_3[] = { 74 + static const llc_sap_action_t llc_sap_active_state_actions_3[] = { 75 75 [0] = llc_sap_action_send_xid_c, 76 76 [1] = NULL, 77 77 }; ··· 83 83 }; 84 84 85 85 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_RX_XID_C event */ 86 - static llc_sap_action_t llc_sap_active_state_actions_4[] = { 86 + static const llc_sap_action_t llc_sap_active_state_actions_4[] = { 87 87 [0] = llc_sap_action_send_xid_r, 88 88 [1] = NULL, 89 89 }; ··· 95 95 }; 96 96 97 97 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_RX_XID_R event */ 98 - static llc_sap_action_t llc_sap_active_state_actions_5[] = { 98 + static const llc_sap_action_t llc_sap_active_state_actions_5[] = { 99 99 [0] = llc_sap_action_xid_ind, 100 100 [1] = NULL, 101 101 }; ··· 107 107 }; 108 108 109 109 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_TEST_REQ event */ 110 - static llc_sap_action_t llc_sap_active_state_actions_6[] = { 110 + static const llc_sap_action_t llc_sap_active_state_actions_6[] = { 111 111 [0] = llc_sap_action_send_test_c, 112 112 [1] = NULL, 113 113 }; ··· 119 119 }; 120 120 121 121 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_RX_TEST_C event */ 122 - static llc_sap_action_t llc_sap_active_state_actions_7[] = { 122 + static const llc_sap_action_t llc_sap_active_state_actions_7[] = { 123 123 [0] = llc_sap_action_send_test_r, 124 124 [1] = NULL, 125 125 }; ··· 131 131 }; 132 132 133 133 /* state LLC_SAP_STATE_ACTIVE transition for LLC_SAP_EV_RX_TEST_R event */ 134 - static llc_sap_action_t llc_sap_active_state_actions_8[] = { 134 + static const llc_sap_action_t llc_sap_active_state_actions_8[] = { 135 135 [0] = llc_sap_action_test_ind, 136 136 [1] = NULL, 137 137 }; ··· 145 145 /* state LLC_SAP_STATE_ACTIVE transition for 146 146 * LLC_SAP_EV_DEACTIVATION_REQ event 147 147 */ 148 - static llc_sap_action_t llc_sap_active_state_actions_9[] = { 148 + static const llc_sap_action_t llc_sap_active_state_actions_9[] = { 149 149 [0] = llc_sap_action_report_status, 150 150 [1] = NULL, 151 151 };
+1 -1
net/llc/llc_sap.c
··· 146 146 struct sk_buff *skb) 147 147 { 148 148 int rc = 0; 149 - llc_sap_action_t *next_action = trans->ev_actions; 149 + const llc_sap_action_t *next_action = trans->ev_actions; 150 150 151 151 for (; next_action && *next_action; next_action++) 152 152 if ((*next_action)(sap, skb))