Re: [PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy

From: Jingoo Han
Date: Mon Mar 17 2014 - 23:38:28 EST


On Tuesday, March 18, 2014 12:18 PM, Joel Pelaez Jorge wrote:
>
> This patch fixes the following checkpatch.pl issues caused by the new
> function: ether_addr_copy
>
> Signed-off-by: Joel Pelaez Jorge <joelpelaez@xxxxxxxxx>
> ---
> diff --git a/drivers/staging/slicoss/slicoss.c
> b/drivers/staging/slicoss/slicoss.c
> index 12aafe3..4ff39aa 100644
> --- a/drivers/staging/slicoss/slicoss.c
> +++ b/drivers/staging/slicoss/slicoss.c
> @@ -2313,7 +2313,7 @@ static int slic_mcast_add_list(struct adapter
> *adapter, char *address)
> if (mcaddr == NULL)
> return 1;
>
> - memcpy(mcaddr->address, address, ETH_ALEN);
> + ether_addr_copy(mcaddr->address, address);

In addition to this, there are the same cases like this,
in this file as below. Please search other same cases.
For instance, 'grep' will be a good way to find it.

static void slic_adapter_set_hwaddr(struct adapter *adapter)
{
struct sliccard *card = adapter->card;

if ((adapter->card) && (card->config_set)) {
memcpy(adapter->macaddr,
card->config.MacInfo[adapter->functionnumber].macaddrA,
sizeof(struct slic_config_mac));
if (is_zero_ether_addr(adapter->currmacaddr))
memcpy(adapter->currmacaddr, adapter->macaddr,
ETH_ALEN);
if (adapter->netdev)
memcpy(adapter->netdev->dev_addr, adapter->currmacaddr,
ETH_ALEN);
}
}

Joe Perches,
These are not spotted by checkpatch.pl.
However, after modifying it as below, checkpatch warnings are
printed. Would you confirm it?

if (is_zero_ether_addr(adapter->currmacaddr))
memcpy(adapter->currmacaddr, adapter->macaddr, ETH_ALEN);
if (adapter->netdev)
memcpy(adapter->netdev->dev_addr, adapter->currmacaddr, ETH_ALEN);
}


Best regards,
Jingoo Han


>
> mcaddr->next = adapter->mcastaddrs;
> adapter->mcastaddrs = mcaddr;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/