ATM: use designated initializers
authorKees Cook <keescook@chromium.org>
Sat, 17 Dec 2016 00:58:43 +0000 (16:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 Dec 2016 16:56:57 +0000 (11:56 -0500)
Prepare to mark sensitive kernel structures for randomization by making
sure they're using designated initializers. These were identified during
allyesconfig builds of x86, arm, and arm64, with most initializer fixes
extracted from grsecurity.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/atm/lec.c
net/atm/mpoa_caches.c
net/vmw_vsock/vmci_transport_notify.c
net/vmw_vsock/vmci_transport_notify_qstate.c

index 779b3fa6052d68648c3f8b7a8d3f85292be453e1..019557d0a11d2434ff7186da5504917717bf7d2b 100644 (file)
@@ -111,9 +111,9 @@ static inline void lec_arp_put(struct lec_arp_table *entry)
 }
 
 static struct lane2_ops lane2_ops = {
-       lane2_resolve,          /* resolve,             spec 3.1.3 */
-       lane2_associate_req,    /* associate_req,       spec 3.1.4 */
-       NULL                    /* associate indicator, spec 3.1.5 */
+       .resolve = lane2_resolve,               /* spec 3.1.3 */
+       .associate_req = lane2_associate_req,   /* spec 3.1.4 */
+       .associate_indicator = NULL             /* spec 3.1.5 */
 };
 
 static unsigned char bus_mac[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
index 9e60e74c807d961bf9eab2d439eb6ffa95599007..a89fdebeffdae49a0b2b1bb363b5dfa11bfb6c9a 100644 (file)
@@ -535,33 +535,32 @@ static void eg_destroy_cache(struct mpoa_client *mpc)
 
 
 static const struct in_cache_ops ingress_ops = {
-       in_cache_add_entry,               /* add_entry       */
-       in_cache_get,                     /* get             */
-       in_cache_get_with_mask,           /* get_with_mask   */
-       in_cache_get_by_vcc,              /* get_by_vcc      */
-       in_cache_put,                     /* put             */
-       in_cache_remove_entry,            /* remove_entry    */
-       cache_hit,                        /* cache_hit       */
-       clear_count_and_expired,          /* clear_count     */
-       check_resolving_entries,          /* check_resolving */
-       refresh_entries,                  /* refresh         */
-       in_destroy_cache                  /* destroy_cache   */
+       .add_entry = in_cache_add_entry,
+       .get = in_cache_get,
+       .get_with_mask = in_cache_get_with_mask,
+       .get_by_vcc = in_cache_get_by_vcc,
+       .put = in_cache_put,
+       .remove_entry = in_cache_remove_entry,
+       .cache_hit = cache_hit,
+       .clear_count = clear_count_and_expired,
+       .check_resolving = check_resolving_entries,
+       .refresh = refresh_entries,
+       .destroy_cache = in_destroy_cache
 };
 
 static const struct eg_cache_ops egress_ops = {
-       eg_cache_add_entry,               /* add_entry        */
-       eg_cache_get_by_cache_id,         /* get_by_cache_id  */
-       eg_cache_get_by_tag,              /* get_by_tag       */
-       eg_cache_get_by_vcc,              /* get_by_vcc       */
-       eg_cache_get_by_src_ip,           /* get_by_src_ip    */
-       eg_cache_put,                     /* put              */
-       eg_cache_remove_entry,            /* remove_entry     */
-       update_eg_cache_entry,            /* update           */
-       clear_expired,                    /* clear_expired    */
-       eg_destroy_cache                  /* destroy_cache    */
+       .add_entry = eg_cache_add_entry,
+       .get_by_cache_id = eg_cache_get_by_cache_id,
+       .get_by_tag = eg_cache_get_by_tag,
+       .get_by_vcc = eg_cache_get_by_vcc,
+       .get_by_src_ip = eg_cache_get_by_src_ip,
+       .put = eg_cache_put,
+       .remove_entry = eg_cache_remove_entry,
+       .update = update_eg_cache_entry,
+       .clear_expired = clear_expired,
+       .destroy_cache = eg_destroy_cache
 };
 
-
 void atm_mpoa_init_cache(struct mpoa_client *mpc)
 {
        mpc->in_ops = &ingress_ops;
index fd8cf0214d514f777736fade0a707a509e8829ec..1406db4d97d14fe2d204f9b93ecfbdb53ec3e34f 100644 (file)
@@ -662,19 +662,19 @@ static void vmci_transport_notify_pkt_process_negotiate(struct sock *sk)
 
 /* Socket control packet based operations. */
 const struct vmci_transport_notify_ops vmci_transport_notify_pkt_ops = {
-       vmci_transport_notify_pkt_socket_init,
-       vmci_transport_notify_pkt_socket_destruct,
-       vmci_transport_notify_pkt_poll_in,
-       vmci_transport_notify_pkt_poll_out,
-       vmci_transport_notify_pkt_handle_pkt,
-       vmci_transport_notify_pkt_recv_init,
-       vmci_transport_notify_pkt_recv_pre_block,
-       vmci_transport_notify_pkt_recv_pre_dequeue,
-       vmci_transport_notify_pkt_recv_post_dequeue,
-       vmci_transport_notify_pkt_send_init,
-       vmci_transport_notify_pkt_send_pre_block,
-       vmci_transport_notify_pkt_send_pre_enqueue,
-       vmci_transport_notify_pkt_send_post_enqueue,
-       vmci_transport_notify_pkt_process_request,
-       vmci_transport_notify_pkt_process_negotiate,
+       .socket_init = vmci_transport_notify_pkt_socket_init,
+       .socket_destruct = vmci_transport_notify_pkt_socket_destruct,
+       .poll_in = vmci_transport_notify_pkt_poll_in,
+       .poll_out = vmci_transport_notify_pkt_poll_out,
+       .handle_notify_pkt = vmci_transport_notify_pkt_handle_pkt,
+       .recv_init = vmci_transport_notify_pkt_recv_init,
+       .recv_pre_block = vmci_transport_notify_pkt_recv_pre_block,
+       .recv_pre_dequeue = vmci_transport_notify_pkt_recv_pre_dequeue,
+       .recv_post_dequeue = vmci_transport_notify_pkt_recv_post_dequeue,
+       .send_init = vmci_transport_notify_pkt_send_init,
+       .send_pre_block = vmci_transport_notify_pkt_send_pre_block,
+       .send_pre_enqueue = vmci_transport_notify_pkt_send_pre_enqueue,
+       .send_post_enqueue = vmci_transport_notify_pkt_send_post_enqueue,
+       .process_request = vmci_transport_notify_pkt_process_request,
+       .process_negotiate = vmci_transport_notify_pkt_process_negotiate,
 };
index 21e591dafb031c728e3f3c8bc624750b54e94f94..f3a0afc46208137a84227cc60d1d8fe9da8d7ec0 100644 (file)
@@ -420,19 +420,19 @@ vmci_transport_notify_pkt_send_pre_enqueue(
 
 /* Socket always on control packet based operations. */
 const struct vmci_transport_notify_ops vmci_transport_notify_pkt_q_state_ops = {
-       vmci_transport_notify_pkt_socket_init,
-       vmci_transport_notify_pkt_socket_destruct,
-       vmci_transport_notify_pkt_poll_in,
-       vmci_transport_notify_pkt_poll_out,
-       vmci_transport_notify_pkt_handle_pkt,
-       vmci_transport_notify_pkt_recv_init,
-       vmci_transport_notify_pkt_recv_pre_block,
-       vmci_transport_notify_pkt_recv_pre_dequeue,
-       vmci_transport_notify_pkt_recv_post_dequeue,
-       vmci_transport_notify_pkt_send_init,
-       vmci_transport_notify_pkt_send_pre_block,
-       vmci_transport_notify_pkt_send_pre_enqueue,
-       vmci_transport_notify_pkt_send_post_enqueue,
-       vmci_transport_notify_pkt_process_request,
-       vmci_transport_notify_pkt_process_negotiate,
+       .socket_init = vmci_transport_notify_pkt_socket_init,
+       .socket_destruct = vmci_transport_notify_pkt_socket_destruct,
+       .poll_in = vmci_transport_notify_pkt_poll_in,
+       .poll_out = vmci_transport_notify_pkt_poll_out,
+       .handle_notify_pkt = vmci_transport_notify_pkt_handle_pkt,
+       .recv_init = vmci_transport_notify_pkt_recv_init,
+       .recv_pre_block = vmci_transport_notify_pkt_recv_pre_block,
+       .recv_pre_dequeue = vmci_transport_notify_pkt_recv_pre_dequeue,
+       .recv_post_dequeue = vmci_transport_notify_pkt_recv_post_dequeue,
+       .send_init = vmci_transport_notify_pkt_send_init,
+       .send_pre_block = vmci_transport_notify_pkt_send_pre_block,
+       .send_pre_enqueue = vmci_transport_notify_pkt_send_pre_enqueue,
+       .send_post_enqueue = vmci_transport_notify_pkt_send_post_enqueue,
+       .process_request = vmci_transport_notify_pkt_process_request,
+       .process_negotiate = vmci_transport_notify_pkt_process_negotiate,
 };