[PATCH] examples/kni: clear warning about discarding const qualifier

Bruce Richardson bruce.richardson at intel.com
Tue May 31 11:12:32 CEST 2022


On Tue, May 31, 2022 at 08:13:04AM +0000, Ke Zhang wrote:
> The warning info:
> warning: passing argument 1 of ‘memcpy’ discards ‘const’
> qualifier from pointer target type
> 
> Compulsory type conversion to clear compile warning.
> 
> Signed-off-by: Ke Zhang <ke1x.zhang at intel.com>
> ---
>  kernel/linux/kni/kni_misc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
> index 780187d8bf..6f9dab4732 100644
> --- a/kernel/linux/kni/kni_misc.c
> +++ b/kernel/linux/kni/kni_misc.c
> @@ -403,10 +403,10 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
>  
>  	/* if user has provided a valid mac address */
>  	if (is_valid_ether_addr(dev_info.mac_addr))
> -		memcpy(net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN);
> +		memcpy((unsigned char *)net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN);
>  	else
>  		/* Generate random MAC address. */
> -		eth_random_addr(net_dev->dev_addr);
> +		eth_random_addr((uint8_t *)net_dev->dev_addr);
>  
>  	if (dev_info.mtu)
>  		net_dev->mtu = dev_info.mtu;

+Stephen H on CC, for his advice

This fix seems wrong to do. Given that it's a pointer to const char* rather
than an actual array in the structure, is a better fix not to point the
pointer to a new area of memory rather than trying to overwrite the old
one?

/Bruce


More information about the dev mailing list