Subject: Re: [PATCH net-next v2] netdevice: define and allocate &net_device _properly_

From: Breno Leitao <[email-masked]>
Date: Wed, 10 Jul 2024 04:19:33 -0700

Hello Eric,

On Tue, Jul 09, 2024 at 08:27:45AM -0700, Eric Dumazet wrote:
> On Tue, Jul 9, 2024 at 5:54 AM Breno Leitao <[email-masked]> wrote:

> > @@ -2596,7 +2599,7 @@ void dev_net_set(struct net_device *dev, struct net *net)
> >   */
> >  static inline void *netdev_priv(const struct net_device *dev)
> >  {
> > -       return (char *)dev + ALIGN(sizeof(struct net_device), NETDEV_ALIGN);
> > +       return (void *)dev->priv;
> 
> Minor remark : the cast is not needed, but this is fine.

In fact, the compiler is not very happy if I remove the cast:

	./include/linux/netdevice.h:2603:9: error: returning 'const u8[]' (aka 'const unsigned char[]') from a function with result type 'void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
	 2603 |         return dev->priv;
	      |                ^~~~~~~~~