Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1629221 > unrolled thread

linux-next: build failure after merge of the nvdimm tree

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2017-04-24 08:20 +0200
Last post2017-04-24 10:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of the nvdimm tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-04-24 08:20 +0200
    Re: linux-next: build failure after merge of the nvdimm tree Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-24 10:40 +0200

#1629221 — linux-next: build failure after merge of the nvdimm tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-04-24 08:20 +0200
Subjectlinux-next: build failure after merge of the nvdimm tree
Message-ID<tzFvP-3nE-1@gated-at.bofh.it>
Hi Dan,

After merging the nvdimm tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/nvdimm/x86.c: In function 'pmem_from_user':
drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
  int rc = __copy_from_user_nocache(dst, src, size);
           ^

Caused by commit

  6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")

interacting with commit

  3f763453e6f2 ("kill __copy_from_user_nocache()")

from the vfs tree.

I have no idea why Al removed that function, so I just applied the
following fix patch for now:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 24 Apr 2017 16:03:09 +1000
Subject: [PATCH] uio, libnvdimm, pmem: implement cache bypass for all
 copy_from_iter() operations fix

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/nvdimm/x86.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/x86.c b/drivers/nvdimm/x86.c
index bc145d760d43..4c15cc103713 100644
--- a/drivers/nvdimm/x86.c
+++ b/drivers/nvdimm/x86.c
@@ -112,7 +112,7 @@ EXPORT_SYMBOL_GPL(arch_memcpy_to_pmem);
 static int pmem_from_user(void *dst, const void __user *src, unsigned size)
 {
 	unsigned long flushed, dest = (unsigned long) dest;
-	int rc = __copy_from_user_nocache(dst, src, size);
+	int rc = __copy_from_user(dst, src, size);
 
 	/*
 	 * On x86_64 __copy_from_user_nocache() uses non-temporal stores
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell

[toc] | [next] | [standalone]


#1629299

FromAl Viro <viro@ZenIV.linux.org.uk>
Date2017-04-24 10:40 +0200
Message-ID<tzHHj-4GC-1@gated-at.bofh.it>
In reply to#1629221
On Mon, Apr 24, 2017 at 04:11:30PM +1000, Stephen Rothwell wrote:
> Hi Dan,
> 
> After merging the nvdimm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/nvdimm/x86.c: In function 'pmem_from_user':
> drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
>   int rc = __copy_from_user_nocache(dst, src, size);
>            ^
> 
> Caused by commit
> 
>   6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")
> 
> interacting with commit
> 
>   3f763453e6f2 ("kill __copy_from_user_nocache()")
> 
> from the vfs tree.
> 
> I have no idea why Al removed that function,

Because the entire nocache pile is messy and misguided and the fewer of
those we have, the easier it will be to untangle the damn thing.  This
particular turdlet had no users in mainline.  Unfortunately, it has
grown one in nvdimm, so we'll probably have to drop that removal for now
and hope that it won't be too painful to untangle come next cycle.

Oh, well...  Guess we'll need to resurrect memcpy_nocache() threads from
December and deal witht that mess for good.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web