Message ID | 1472911630-22285-1-git-send-email-zyjzyj2000@gmail.com |
---|---|
State | Deferred, archived |
Delegated to: | David Miller |
Headers | show |
On Sat, 3 Sep 2016 22:07:10 +0800, zyjzyj2000@gmail.com wrote: > From: Zhu Yanjun <zyjzyj2000@gmail.com> > > The struct nlattr variable should not be changed. True. But the only caller is vxlan_fdb_parse which doesn't have its tb parameter const, so what's the point? Now, the tb parameter of vxlan_fdb_parse could be changed to const. This again doesn't make much sense without modifying its callers, which are vxlan_fdb_add and vxlan_fdb_delete. And those are net_device_ops hooks. Have you considered looking into those (ndo_fdb_*) and turning the struct nlattr ** to const (that is, if it's possible)? Jiri
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index f605a36..ce65897 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -115,7 +115,7 @@ static inline bool vxlan_addr_multicast(const union vxlan_addr *ipa) return IN_MULTICAST(ntohl(ipa->sin.sin_addr.s_addr)); } -static int vxlan_nla_get_addr(union vxlan_addr *ip, struct nlattr *nla) +static int vxlan_nla_get_addr(union vxlan_addr *ip, const struct nlattr *nla) { if (nla_len(nla) >= sizeof(struct in6_addr)) { ip->sin6.sin6_addr = nla_get_in6_addr(nla); @@ -157,7 +157,7 @@ static inline bool vxlan_addr_multicast(const union vxlan_addr *ipa) return IN_MULTICAST(ntohl(ipa->sin.sin_addr.s_addr)); } -static int vxlan_nla_get_addr(union vxlan_addr *ip, struct nlattr *nla) +static int vxlan_nla_get_addr(union vxlan_addr *ip, const struct nlattr *nla) { if (nla_len(nla) >= sizeof(struct in6_addr)) { return -EAFNOSUPPORT;