[dpdk-dev,v2,3/4] cryptodev: fix the clang compiling issue
Checks
Commit Message
~/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
-----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
>
> -----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
> >
@@ -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)