On Thu, Aug 12, 2021 at 03:05:52PM -0700, Jakub Kicinski wrote:
On Fri, 13 Aug 2021 00:24:01 +0300 Alexey Dobriyan wrote:
quoted
Kernel permits pointer arithmetic on "void*" so might as well use it
without casts back and forth.
But why change existing code? It's perfectly fine, right?
It is harder to read (marginally of course).
quoted
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -587,8 +587,7 @@ static inline int nlmsg_len(const struct nlmsghdr *nlh)
static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh,
int hdrlen)
{
- unsigned char *data = nlmsg_data(nlh);
- return (struct nlattr *) (data + NLMSG_ALIGN(hdrlen));
+ return nlmsg_data(nlh) + NLMSG_ALIGN(hdrlen);
}
/**