[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <92e3c3f9-3ee7-43d4-a4af-70ca87adacb2@intel.com>
Date: Fri, 30 Aug 2024 15:39:24 +0200
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: Trond Myklebust <trondmy@...merspace.com>
CC: "davem@...emloft.net" <davem@...emloft.net>, "chuck.lever@...cle.com"
<chuck.lever@...cle.com>, "anna@...nel.org" <anna@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>, "jlayton@...nel.org"
<jlayton@...nel.org>, "edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>, "yanzhen@...o.com" <yanzhen@...o.com>,
"opensource.kernel@...o.com" <opensource.kernel@...o.com>,
"okorniev@...hat.com" <okorniev@...hat.com>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "tom@...pey.com" <tom@...pey.com>,
"Dai.Ngo@...cle.com" <Dai.Ngo@...cle.com>, "linux-nfs@...r.kernel.org"
<linux-nfs@...r.kernel.org>, "neilb@...e.de" <neilb@...e.de>
Subject: Re: [PATCH net-next v1] sunrpc: Use ERR_CAST() to return
From: Trond Myklebust <trondmy@...merspace.com>
Date: Fri, 30 Aug 2024 02:08:09 +0000
> On Fri, 2024-08-30 at 09:42 +0800, Yan Zhen wrote:
>> Using ERR_CAST() is more reasonable and safer, When it is necessary
>> to convert the type of an error pointer and return it.
>
> static inline void * __must_check ERR_CAST(__force const void *ptr)
> {
> /* cast away the const */
> return (void *) ptr;
> }
>
> That function is literally just doing an implicit cast from whatever
> pointer type it is now, to a 'const void *' and then to a 'void *',
> which then gets implicitly cast to whatever type the caller is
> expecting. Exactly how is that "safer" than the current explicit cast?
I think we might want to reimplement ERR_CAST() using _Generic() to not
cast away const when the argument itself is const.
>
> While it is great that ERR_CAST() exists, and I agree that it should be
> preferred in newer code for the (sole (!)) reason that it documents
> that we expect this to be an error, I see no reason why it is
> imperative to apply that change to existing code. Particularly not as a
> standalone patch.
>
> So NACK for now.
Thanks,
Olek
Powered by blists - more mailing lists