[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211108124839.GW2744544@nvidia.com>
Date: Mon, 8 Nov 2021 08:48:39 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Leon Romanovsky <leon@...nel.org>
Cc: Doug Ledford <dledford@...hat.com>,
kernel test robot <lkp@...el.com>,
linux-kernel@...r.kernel.org, linux-rdma@...r.kernel.org
Subject: Re: [PATCH rdma-rc] RDMA/netlink: Annotate unused function that is
needed for compilation check
On Mon, Nov 08, 2021 at 02:47:19PM +0200, Leon Romanovsky wrote:
> On Mon, Nov 08, 2021 at 08:36:39AM -0400, Jason Gunthorpe wrote:
> > On Sun, Nov 07, 2021 at 08:40:47AM +0200, Leon Romanovsky wrote:
> > > From: Leon Romanovsky <leonro@...dia.com>
> > >
> > > >> drivers/infiniband/core/nldev.c:2543:1: warning: unused function '__chk_RDMA_NL_NLDEV'
> > > MODULE_ALIAS_RDMA_NETLINK(RDMA_NL_NLDEV, 5);
> > > ^
> > >
> > > Fixes: e3bf14bdc17a ("rdma: Autoload netlink client modules")
> > > Reported-by: kernel test robot <lkp@...el.com>
> > > Signed-off-by: Leon Romanovsky <leonro@...dia.com>
> > > include/rdma/rdma_netlink.h | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/include/rdma/rdma_netlink.h b/include/rdma/rdma_netlink.h
> > > index 2758d9df71ee..c2a79aeee113 100644
> > > +++ b/include/rdma/rdma_netlink.h
> > > @@ -30,7 +30,7 @@ enum rdma_nl_flags {
> > > * constant as well and the compiler checks they are the same.
> > > */
> > > #define MODULE_ALIAS_RDMA_NETLINK(_index, _val) \
> > > - static inline void __chk_##_index(void) \
> > > + static inline void __maybe_unused __chk_##_index(void) \
> > > { \
> > > BUILD_BUG_ON(_index != _val); \
> > > } \
> >
> > This is a compiler bug, static inline should never need maybe_unsed
>
> I saw many examples like this in arch code.
> For example, commit 4ac214574d2d ("KVM: MMU: mark role_regs and role accessors as maybe unused")
>
> It is better to fix and forget instead of trying to fix clang.
"Because clang reports warnings for unused inlines declared in a .c file,
mark both sets of accessors as __maybe_unused."
Yikes, what a thing to do.
Jason
Powered by blists - more mailing lists