From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:49374 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751554AbeECOQw (ORCPT ); Thu, 3 May 2018 10:16:52 -0400 Message-ID: <71ed4a99241a6478b91246f967b9e1bc3d68fa9f.camel@kernel.org> Subject: Re: [PATCH RESEND] SUNRPC: fix include for cmpxchg_relaxed() From: Jeff Layton To: Mark Rutland , linux-kernel@vger.kernel.org Cc: Trond Myklebust , Anna Schumaker , "J . Bruce Fields" , "David S . Miller" , linux-nfs@vger.kernel.org, netdev@vger.kernel.org Date: Thu, 03 May 2018 10:16:49 -0400 In-Reply-To: <20180503135050.15778-1-mark.rutland@arm.com> References: <20180503135050.15778-1-mark.rutland@arm.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org List-ID: On Thu, 2018-05-03 at 14:50 +0100, Mark Rutland wrote: > Currently net/sunrpc/xprtmultipath.c is the only file outside of arch/ > headers and asm-generic/ headers to include , apparently > for the use of cmpxchg_relaxed(). > > However, many architectures do not provide cmpxchg_relaxed() in their > , and it is necessary to include to get > this definition, as noted in Documentation/core-api/atomic_ops.rst: > > If someone wants to use xchg(), cmpxchg() and their variants, > linux/atomic.h should be included rather than asm/cmpxchg.h, unless > the code is in arch/* and can take care of itself. > > Evidently we're getting the right header this via some transitive > include today, but this isn't something we can/should rely upon, > especially with ongoing rework of the atomic headers for KASAN > instrumentation. > > Let's fix the code to include , avoiding fragility. > > Signed-off-by: Mark Rutland > Cc: Trond Myklebust > Cc: Anna Schumaker > Cc: J. Bruce Fields > Cc: Jeff Layton > Cc: David S. Miller > Cc: linux-nfs@vger.kernel.org > Cc: netdev@vger.kernel.org > --- > net/sunrpc/xprtmultipath.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > I sent this about a year ago [1], but got no response. This still applies atop > of v4.17-rc3. > > I'm currently trying to implement instrumented atomics for arm64, and it would > be great to have this fixed. > > Mark. > > [1] https://lkml.kernel.org/r/1489574142-20856-1-git-send-email-mark.rutland@arm.com > > diff --git a/net/sunrpc/xprtmultipath.c b/net/sunrpc/xprtmultipath.c > index e2d64c7138c3..d897f41be244 100644 > --- a/net/sunrpc/xprtmultipath.c > +++ b/net/sunrpc/xprtmultipath.c > @@ -13,7 +13,7 @@ > #include > #include > #include > -#include > +#include > #include > #include > #include Looks fine. Reviewed-by: Jeff Layton