[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iLssOFT2JDfjk9LYh8SVzWZv8tRGS_6ziTLcUTqvqTwYQ@mail.gmail.com>
Date: Wed, 10 Jul 2024 10:04:39 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Breno Leitao <leitao@...ian.org>
Cc: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Kees Cook <kees@...nel.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>, keescook@...omium.org, horms@...nel.org,
nex.sw.ncis.osdt.itp.upstreaming@...el.com, linux-hardening@...r.kernel.org,
Alexander Lobakin <aleksander.lobakin@...el.com>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>, Jiri Pirko <jiri@...nulli.us>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>, Daniel Borkmann <daniel@...earbox.net>,
Lorenzo Bianconi <lorenzo@...nel.org>, Johannes Berg <johannes.berg@...el.com>,
Heiner Kallweit <hkallweit1@...il.com>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>, open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next v2] netdevice: define and allocate &net_device _properly_
On Wed, Jul 10, 2024 at 4:19 AM Breno Leitao <leitao@...ian.org> wrote:
>
> 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 <leitao@...ian.org> 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;
> | ^~~~~~~~~
This is because of the ‘const’ qualifier of the parameter.
This could be solved with _Generic() later, if we want to keep the
const qualifier.
Powered by blists - more mailing lists