From: Ke Zhang <ke1x.zhang@intel.com>
To: ferruh.yigit@intel.com, dev@dpdk.org
Cc: Ke Zhang <ke1x.zhang@intel.com>,
stable@dpdk.org, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [PATCH v3] kni: fix warning about discarding const qualifier
Date: Mon, 6 Jun 2022 07:22:45 +0000 [thread overview]
Message-ID: <20220606072246.88311-1-ke1x.zhang@intel.com> (raw)
In-Reply-To: <20220531081304.229902-1-ke1x.zhang@intel.com>
The warning info:
warning: passing argument 1 of ‘memcpy’ discards ‘const’
qualifier from pointer target type
Variable dev_addr is done const intentionally in v5.17 to
prevent using it directly. See kernel series [1] for more
information.
[1] https://lore.kernel.org/netdev/YZYAb4X%2FVQFy0iks@shredder/T/
Fixes: ea6b39b5b847 ("kni: remove ethtool support")
Cc: stable@dpdk.org
Signed-off-by: Ke Zhang <ke1x.zhang@intel.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
kernel/linux/kni/compat.h | 4 ++++
kernel/linux/kni/kni_misc.c | 6 +++++-
kernel/linux/kni/kni_net.c | 5 ++++-
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h
index 664785674f..ef1526ef85 100644
--- a/kernel/linux/kni/compat.h
+++ b/kernel/linux/kni/compat.h
@@ -141,3 +141,7 @@
#if KERNEL_VERSION(5, 9, 0) > LINUX_VERSION_CODE
#define HAVE_TSK_IN_GUP
#endif
+
+#if KERNEL_VERSION(5, 15, 0) <= LINUX_VERSION_CODE
+#define HAVE_ETH_HW_ADDR_SET
+#endif
diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
index 780187d8bf..11fea961b3 100644
--- a/kernel/linux/kni/kni_misc.c
+++ b/kernel/linux/kni/kni_misc.c
@@ -403,10 +403,14 @@ 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))
+#ifdef HAVE_ETH_HW_ADDR_SET
+ eth_hw_addr_set(net_dev, dev_info.mac_addr);
+#else
memcpy(net_dev->dev_addr, dev_info.mac_addr, ETH_ALEN);
+#endif
else
/* Generate random MAC address. */
- eth_random_addr(net_dev->dev_addr);
+ eth_hw_addr_random(net_dev);
if (dev_info.mtu)
net_dev->mtu = dev_info.mtu;
diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c
index 29e5b9e21f..496ce7e4ae 100644
--- a/kernel/linux/kni/kni_net.c
+++ b/kernel/linux/kni/kni_net.c
@@ -779,8 +779,11 @@ kni_net_set_mac(struct net_device *netdev, void *p)
return -EADDRNOTAVAIL;
memcpy(req.mac_addr, addr->sa_data, netdev->addr_len);
+#ifdef HAVE_ETH_HW_ADDR_SET
+ eth_hw_addr_set(netdev, addr->sa_data);
+#else
memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
-
+#endif
ret = kni_net_process_request(netdev, &req);
return (ret == 0 ? req.result : ret);
--
2.25.1
prev parent reply other threads:[~2022-06-06 7:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-31 8:13 [PATCH] examples/kni: clear warning about discarding const qualifier Ke Zhang
2022-05-31 9:12 ` Bruce Richardson
2022-05-31 9:22 ` Ferruh Yigit
2022-06-06 7:22 ` Ke Zhang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220606072246.88311-1-ke1x.zhang@intel.com \
--to=ke1x.zhang@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.