[dpdk-dev] examples/ipsec_secgw: fix security session

Message ID 20180123123211.43797-1-roy.fan.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Pablo de Lara Guarch
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail Compilation issues

Commit Message

Fan Zhang Jan. 23, 2018, 12:32 p.m. UTC
  Fixes: 3da37f682173 ("examples/ipsec_secgw: create session mempools for ethdevs")

Some NICs do not have the rte_security context, this patch fixes the segment fault
caused by this.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 examples/ipsec-secgw/ipsec-secgw.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
  

Comments

Radu Nicolau Jan. 23, 2018, 3:04 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fan Zhang
> Sent: Tuesday, January 23, 2018 12:32 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: [dpdk-dev] [PATCH] examples/ipsec_secgw: fix security session
> 
> Fixes: 3da37f682173 ("examples/ipsec_secgw: create session mempools for
> ethdevs")
> 
> Some NICs do not have the rte_security context, this patch fixes the
> segment fault caused by this.
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>

Acked-by: Radu Nicolau <radu.nicolau@intel.com>
  
De Lara Guarch, Pablo Jan. 23, 2018, 3:28 p.m. UTC | #2
> -----Original Message-----
> From: Nicolau, Radu
> Sent: Tuesday, January 23, 2018 3:05 PM
> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>; dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] examples/ipsec_secgw: fix security session
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fan Zhang
> > Sent: Tuesday, January 23, 2018 12:32 PM
> > To: dev@dpdk.org
> > Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> > Subject: [dpdk-dev] [PATCH] examples/ipsec_secgw: fix security session
> >
> > Fixes: 3da37f682173 ("examples/ipsec_secgw: create session mempools
> > for
> > ethdevs")
> >
> > Some NICs do not have the rte_security context, this patch fixes the
> > segment fault caused by this.
> >
> > Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> 
> Acked-by: Radu Nicolau <radu.nicolau@intel.com>

Applied to dpdk-next-crypto.
Thanks,

Pablo
  

Patch

diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 3a28fcceb..c67f79db9 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -1384,10 +1384,16 @@  cryptodevs_init(void)
 			max_sess_sz = sess_sz;
 	}
 	for (port_id = 0; port_id < rte_eth_dev_count(); port_id++) {
+		void *sec_ctx;
+
 		if ((enabled_port_mask & (1 << port_id)) == 0)
 			continue;
-		sess_sz = rte_security_session_get_size(
-				rte_eth_dev_get_sec_ctx(port_id));
+
+		sec_ctx = rte_eth_dev_get_sec_ctx(port_id);
+		if (sec_ctx == NULL)
+			continue;
+
+		sess_sz = rte_security_session_get_size(sec_ctx);
 		if (sess_sz > max_sess_sz)
 			max_sess_sz = sess_sz;
 	}