mempool: allow populating with unaligned virtual area
[dpdk.git] / lib / librte_cryptodev / rte_cryptodev_pmd.h
index f15c9af..fba14f2 100644 (file)
@@ -61,7 +61,6 @@ struct rte_cryptodev_global {
        struct rte_cryptodev_data *data[RTE_CRYPTO_MAX_DEVS];
        /**< Device private data */
        uint8_t nb_devs;                /**< Number of devices found */
-       uint8_t max_devs;               /**< Max number of devices */
 };
 
 /* Cryptodev driver, containing the driver ID */
@@ -475,14 +474,23 @@ RTE_INIT(init_ ##driver_id)\
 static inline void *
 get_sym_session_private_data(const struct rte_cryptodev_sym_session *sess,
                uint8_t driver_id) {
-       return sess->sess_private_data[driver_id];
+       if (unlikely(sess->nb_drivers <= driver_id))
+               return NULL;
+
+       return sess->sess_data[driver_id].data;
 }
 
 static inline void
 set_sym_session_private_data(struct rte_cryptodev_sym_session *sess,
                uint8_t driver_id, void *private_data)
 {
-       sess->sess_private_data[driver_id] = private_data;
+       if (unlikely(sess->nb_drivers <= driver_id)) {
+               CDEV_LOG_ERR("Set private data for driver %u not allowed\n",
+                               driver_id);
+               return;
+       }
+
+       sess->sess_data[driver_id].data = private_data;
 }
 
 static inline void *