--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -321,7 +321,7 @@
 static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh,
 					    int hdrlen)
 {
-	unsigned char *data = nlmsg_data(nlh);
+	unsigned char *data = (unsigned char *)nlmsg_data(nlh);
 	return (struct nlattr *) (data + NLMSG_ALIGN(hdrlen));
 }
 
@@ -730,7 +730,7 @@
 static inline struct nlattr *
 nla_find_nested(const struct nlattr *nla, int attrtype)
 {
-	return nla_find(nla_data(nla), nla_len(nla), attrtype);
+	return nla_find((const struct nlattr *)nla_data(nla), nla_len(nla), attrtype);
 }
 
 /**
@@ -746,7 +746,7 @@
 				   const struct nlattr *nla,
 				   const struct nla_policy *policy)
 {
-	return nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy);
+	return nla_parse(tb, maxtype, (const struct nlattr *)nla_data(nla), nla_len(nla), policy);
 }
 
 /**
@@ -1174,7 +1174,7 @@
 static inline int nla_validate_nested(const struct nlattr *start, int maxtype,
 				      const struct nla_policy *policy)
 {
-	return nla_validate(nla_data(start), nla_len(start), maxtype, policy);
+	return nla_validate((const struct nlattr *)nla_data(start), nla_len(start), maxtype, policy);
 }
 
 /**
