Re: [PATCH rdma-rc] RDMA/netlink: Annotate unused function that is needed for compilation check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> > 
> > >> 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@xxxxxxxxx>
> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
> > ---
> >  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
> > --- a/include/rdma/rdma_netlink.h
> > +++ 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.

Thanks

> 
> Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux