[dpdk-dev,v2,3/4] cryptodev: fix the clang compiling issue

Message ID 1526376227-25534-3-git-send-email-gavin.hu@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

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

Commit Message

Gavin Hu May 15, 2018, 9:23 a.m. UTC
  ~/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49: error:
'rte_memcpy' call operates on objects of type 'struct rte_event'
while the size is based on a different type
      'struct rte_event *' [-Werror,-Wsizeof-pointer-memaccess]
                rte_memcpy(ev, &m_data->response_info, sizeof(ev));
~/arm_repo/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49:
note: did you mean to dereference the argument to 'sizeof' (and multiply
it by the number of elements)?
      rte_memcpy(ev, &m_data->response_info, sizeof(ev));

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
---
 lib/librte_eventdev/rte_event_crypto_adapter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob May 15, 2018, 11:41 a.m. UTC | #1
-----Original Message-----
> Date: Tue, 15 May 2018 05:23:46 -0400
> From: Gavin Hu <gavin.hu@arm.com>
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 3/4] cryptodev: fix the clang compiling issue
> X-Mailer: git-send-email 2.1.4
> 
> ~/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49: error:
> 'rte_memcpy' call operates on objects of type 'struct rte_event'
> while the size is based on a different type
>       'struct rte_event *' [-Werror,-Wsizeof-pointer-memaccess]
>                 rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> ~/arm_repo/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49:
> note: did you mean to dereference the argument to 'sizeof' (and multiply
> it by the number of elements)?
>       rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> ---
>  lib/librte_eventdev/rte_event_crypto_adapter.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
> index 831f842..0f34fe0 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> @@ -527,7 +527,8 @@ eca_ops_enqueue_burst(struct rte_event_crypto_adapter *adapter,
>  			continue;
>  		}
>  
> -		rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> +		rte_memcpy(ev, &m_data->response_info,
> +			sizeof(struct rte_event));

Following could be a shorter replacement.

rte_memcpy(ev, &m_data->response_info, sizeof(*ev));

>  		ev->event_ptr = ops[i];
>  		ev->event_type = RTE_EVENT_TYPE_CRYPTODEV;
>  		if (adapter->implicit_release_disabled)
> -- 
> 2.1.4
>
  
De Lara Guarch, Pablo May 15, 2018, 1:34 p.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> Sent: Tuesday, May 15, 2018 12:42 PM
> To: Gavin Hu <gavin.hu@arm.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 3/4] cryptodev: fix the clang compiling issue
> 
> -----Original Message-----
> > Date: Tue, 15 May 2018 05:23:46 -0400
> > From: Gavin Hu <gavin.hu@arm.com>
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH v2 3/4] cryptodev: fix the clang compiling
> > issue
> > X-Mailer: git-send-email 2.1.4

Wrong title, should be "eventdev: fix clang build".

> >
> > ~/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49: error:
> > 'rte_memcpy' call operates on objects of type 'struct rte_event'
> > while the size is based on a different type
> >       'struct rte_event *' [-Werror,-Wsizeof-pointer-memaccess]
> >                 rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> > ~/arm_repo/dpdk/lib/librte_eventdev/rte_event_crypto_adapter.c:530:49:
> > note: did you mean to dereference the argument to 'sizeof' (and
> > multiply it by the number of elements)?
> >       rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> > ---
> >  lib/librte_eventdev/rte_event_crypto_adapter.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > index 831f842..0f34fe0 100644
> > --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> > +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> > @@ -527,7 +527,8 @@ eca_ops_enqueue_burst(struct
> rte_event_crypto_adapter *adapter,
> >  			continue;
> >  		}
> >
> > -		rte_memcpy(ev, &m_data->response_info, sizeof(ev));
> > +		rte_memcpy(ev, &m_data->response_info,
> > +			sizeof(struct rte_event));
> 
> Following could be a shorter replacement.
> 
> rte_memcpy(ev, &m_data->response_info, sizeof(*ev));
> 
> >  		ev->event_ptr = ops[i];
> >  		ev->event_type = RTE_EVENT_TYPE_CRYPTODEV;
> >  		if (adapter->implicit_release_disabled)
> > --
> > 2.1.4
> >
  

Patch

diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 831f842..0f34fe0 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -527,7 +527,8 @@  eca_ops_enqueue_burst(struct rte_event_crypto_adapter *adapter,
 			continue;
 		}
 
-		rte_memcpy(ev, &m_data->response_info, sizeof(ev));
+		rte_memcpy(ev, &m_data->response_info,
+			sizeof(struct rte_event));
 		ev->event_ptr = ops[i];
 		ev->event_type = RTE_EVENT_TYPE_CRYPTODEV;
 		if (adapter->implicit_release_disabled)