u64 queue_pair_max_size;
        u32 detach_sub_id;
        union vmci_transport_notify notify;
-       struct vmci_transport_notify_ops *notify_ops;
+       const struct vmci_transport_notify_ops *notify_ops;
        struct list_head elem;
        struct sock *sk;
        spinlock_t lock; /* protects sk. */
 
 }
 
 /* Socket control packet based operations. */
-struct vmci_transport_notify_ops vmci_transport_notify_pkt_ops = {
+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,
 
        void (*process_negotiate) (struct sock *sk);
 };
 
-extern struct vmci_transport_notify_ops vmci_transport_notify_pkt_ops;
-extern struct vmci_transport_notify_ops vmci_transport_notify_pkt_q_state_ops;
+extern const struct vmci_transport_notify_ops vmci_transport_notify_pkt_ops;
+extern const
+struct vmci_transport_notify_ops vmci_transport_notify_pkt_q_state_ops;
 
 #endif /* __VMCI_TRANSPORT_NOTIFY_H__ */
 
 }
 
 /* Socket always on control packet based operations. */
-struct vmci_transport_notify_ops vmci_transport_notify_pkt_q_state_ops = {
+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,