/* network zero copy callback descriptor embedded in struct ksock_tx */
 
-/*
- * space for the rx frag descriptors; we either read a single contiguous
- * header, or up to LNET_MAX_IOV frags of payload of either type.
- */
-union ksock_rxiovspace {
-       struct kvec      iov[LNET_MAX_IOV];
-       struct bio_vec  kiov[LNET_MAX_IOV];
-};
-
 #define SOCKNAL_RX_KSM_HEADER   1 /* reading ksock message header */
 #define SOCKNAL_RX_LNET_HEADER  2 /* reading lnet message header */
 #define SOCKNAL_RX_PARSE        3 /* Calling lnet_parse() */
        __u8               ksnc_rx_state;     /* what is being read */
        int                ksnc_rx_nob_left;  /* # bytes to next hdr/body */
        struct iov_iter    ksnc_rx_to;          /* copy destination */
-       union ksock_rxiovspace ksnc_rx_iov_space; /* space for frag descriptors */
+       struct kvec        ksnc_rx_iov_space[LNET_MAX_IOV]; /* space for frag descriptors */
        __u32              ksnc_rx_csum;      /* partial checksum for incoming
                                               * data
                                               */
 
 ksocknal_new_packet(struct ksock_conn *conn, int nob_to_skip)
 {
        static char ksocknal_slop_buffer[4096];
-       struct kvec *kvec = (struct kvec *)&conn->ksnc_rx_iov_space;
+       struct kvec *kvec = conn->ksnc_rx_iov_space;
 
        int nob;
        unsigned int niov;
 static int
 ksocknal_process_receive(struct ksock_conn *conn)
 {
-       struct kvec *kvec = (struct kvec *)&conn->ksnc_rx_iov_space;
+       struct kvec *kvec = conn->ksnc_rx_iov_space;
        struct lnet_hdr *lhdr;
        struct lnet_process_id *id;
        int rc;