[dpdk-dev] [PATCH v2 07/18] drivers/net/nfp: don't memcpy out of source range

Alejandro Lucero alejandro.lucero at netronome.com
Wed May 9 11:54:52 CEST 2018


On Wed, May 9, 2018 at 2:31 AM, Andy Green <andy at warmcat.com> wrote:

> /home/agreen/projects/dpdk/drivers/net/nfp/nfp_net.c:669:2:
> error: ‘memcpy’ forming offset [5, 6] is out of the bounds
> [0, 4] of object ‘tmp’ with type ‘uint32_t’ {aka ‘unsigned
> int’} [-Werror=array-bounds]  memcpy(&hw->mac_addr[0],
> &tmp, sizeof(struct ether_addr));
>
> Signed-off-by: Andy Green <andy at warmcat.com>
> ---
>  drivers/net/nfp/nfp_net.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 048324ec9..199aac40b 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -666,7 +666,7 @@ nfp_net_vf_read_mac(struct nfp_net_hw *hw)
>         uint32_t tmp;
>
>         tmp = rte_be_to_cpu_32(nn_cfg_readl(hw, NFP_NET_CFG_MACADDR));
> -       memcpy(&hw->mac_addr[0], &tmp, sizeof(struct ether_addr));
> +       memcpy(&hw->mac_addr[0], &tmp, 4);
>
>         tmp = rte_be_to_cpu_32(nn_cfg_readl(hw, NFP_NET_CFG_MACADDR + 4));
>         memcpy(&hw->mac_addr[4], &tmp, 2);
>
>
Acked-by: Alejandro Lucero <alejandro.lucero at netronome.com>
Tested-by: Alejandro Lucero <alejandro.lucero at netronome.com>


More information about the dev mailing list