linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the vfs tree
@ 2020-10-27  4:14 Stephen Rothwell
  2020-10-27  4:59 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2020-10-27  4:14 UTC (permalink / raw)
  To: Al Viro, David S. Miller
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]

Hi all,

After merging the vfs tree, today's linux-next build (sparc_defconfig)
failed like this:

arch/sparc/lib/memset.S: Assembler messages:
arch/sparc/lib/memset.S:149: Error: Unknown opcode: `ext(12b, 13b,21f)'

Caused by commit

  0e0bbae08a6e ("sparc32: switch __bzero() away from range exception table entries")

merging badly with commit

  7780918b3648 ("sparc32: fix a user-triggerable oops in clear_user()")

from the sparc tree.

The sparc tree commit above appears as commit

  80537bbf19d6 ("sparc32: fix a user-triggerable oops in clear_user()")

in the vfs tree as well.  The patch adds one line which is later removed
by commit

  0e0bbae08a6e ("sparc32: switch __bzero() away from range exception table entries")

in the vfs tree, but the git merge puts the line back again :-(

I have added the following fix to the vfs tree merge

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 27 Oct 2020 15:05:28 +1100
Subject: [PATCH] fix up for merge of arch/sparc/lib/memset.S

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/sparc/lib/memset.S | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/sparc/lib/memset.S b/arch/sparc/lib/memset.S
index 522f45a952a0..eaff68213fdf 100644
--- a/arch/sparc/lib/memset.S
+++ b/arch/sparc/lib/memset.S
@@ -146,7 +146,6 @@ __bzero:
 	ZERO_LAST_BLOCKS(%o0, 0x48, %g2)
 	ZERO_LAST_BLOCKS(%o0, 0x08, %g2)
 13:
-	EXT(12b, 13b, 21f)
 	be	8f
 	 andcc	%o1, 4, %g0
 
-- 
2.28.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2021-01-04 22:36 Stephen Rothwell
  2021-01-04 23:28 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2021-01-04 22:36 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1747 bytes --]

Hi all,

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

In file included from arch/x86/include/asm/elf.h:8,
                 from include/linux/elf.h:6,
                 from include/linux/elfcore-compat.h:5,
                 from fs/compat_binfmt_elf.c:17:
fs/binfmt_elf.c: In function 'fill_thread_core_info':
arch/x86/include/asm/elfcore-compat.h:23:20: error: 'TIF_X32' undeclared (first use in this function)
   23 |  (test_thread_flag(TIF_X32) \
      |                    ^~~~~~~
include/linux/thread_info.h:116:45: note: in definition of macro 'test_thread_flag'
  116 |  test_ti_thread_flag(current_thread_info(), flag)
      |                                             ^~~~
fs/binfmt_elf.c:1744:5: note: in expansion of macro 'PRSTATUS_SIZE'
 1744 |     PRSTATUS_SIZE, &t->prstatus);
      |     ^~~~~~~~~~~~~
arch/x86/include/asm/elfcore-compat.h:23:20: note: each undeclared identifier is reported only once for each function it appears in
   23 |  (test_thread_flag(TIF_X32) \
      |                    ^~~~~~~
include/linux/thread_info.h:116:45: note: in definition of macro 'test_thread_flag'
  116 |  test_ti_thread_flag(current_thread_info(), flag)
      |                                             ^~~~
fs/binfmt_elf.c:1744:5: note: in expansion of macro 'PRSTATUS_SIZE'
 1744 |     PRSTATUS_SIZE, &t->prstatus);
      |     ^~~~~~~~~~~~~

Caused by commit

  5a9b7f382248 ("binfmt_elf: partially sanitize PRSTATUS_SIZE and SET_PR_FPVALID")

or maybe commit

  9866fcab1c65 ("[elfcore-compat][amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly")

I have used the vfs tree from next-20210104 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-09-28  1:31 Stephen Rothwell
  2020-09-28  6:05 ` Christoph Hellwig
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2020-09-28  1:31 UTC (permalink / raw)
  To: Al Viro
  Cc: Christoph Hellwig, Linux Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 17442 bytes --]

Hi all,

After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

In file included from arch/arm/include/asm/atomic.h:11,
                 from include/linux/atomic.h:7,
                 from include/linux/crypto.h:15,
                 from include/crypto/hash.h:11,
                 from lib/iov_iter.c:2:
lib/iov_iter.c: In function 'copy_compat_iovec_from_user':
lib/iov_iter.c:1665:29: error: invalid use of undefined type 'struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1665:32: error: invalid use of undefined type 'const struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1665:29: error: invalid use of undefined type 'struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1665:32: error: invalid use of undefined type 'const struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1665:29: error: invalid use of undefined type 'struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1665:32: error: invalid use of undefined type 'const struct compat_iovec'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1665:3: note: in expansion of macro 'unsafe_get_user'
 1665 |   unsafe_get_user(len, &uiov[i].iov_len, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:29: error: invalid use of undefined type 'struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:32: error: invalid use of undefined type 'const struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:29: error: invalid use of undefined type 'struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:32: error: invalid use of undefined type 'const struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:29: error: invalid use of undefined type 'struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                             ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~
lib/iov_iter.c:1666:32: error: invalid use of undefined type 'const struct compat_iovec'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |                                ^
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
   78 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
include/linux/uaccess.h:370:32: note: in expansion of macro 'unsafe_op_wrap'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                ^~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:238:3: note: in expansion of macro '__get_user_check'
  238 |   __get_user_check(x, p);     \
      |   ^~~~~~~~~~~~~~~~
arch/arm/include/asm/uaccess.h:296:28: note: in expansion of macro 'get_user'
  296 | #define __get_user(x, ptr) get_user(x, ptr)
      |                            ^~~~~~~~
include/linux/uaccess.h:370:47: note: in expansion of macro '__get_user'
  370 | #define unsafe_get_user(x,p,e) unsafe_op_wrap(__get_user(x,p),e)
      |                                               ^~~~~~~~~~
lib/iov_iter.c:1666:3: note: in expansion of macro 'unsafe_get_user'
 1666 |   unsafe_get_user(buf, &uiov[i].iov_base, uaccess_end);
      |   ^~~~~~~~~~~~~~~

Caused by commit

  99dc3a9dd6ca ("iov_iter: refactor rw_copy_check_uvector and import_iovec")

CONFIG_COMAPT is not set for this build ...

I have added the following hack patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 28 Sep 2020 11:25:57 +1000
Subject: [PATCH] iov_iter: fix build when CONFIG_COMPAT is not set

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 lib/iov_iter.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 8a8e25f8e3e8..5892f4c40291 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1648,6 +1648,7 @@ const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags)
 }
 EXPORT_SYMBOL(dup_iter);
 
+#ifdef CONFIG_COMPAT
 static int copy_compat_iovec_from_user(struct iovec *iov,
 		const struct iovec __user *uvec, unsigned long nr_segs)
 {
@@ -1679,7 +1680,8 @@ static int copy_compat_iovec_from_user(struct iovec *iov,
 	user_access_end();
 	return ret;
 }
-		
+#endif /* CONFIG_COMPAT */
+
 static int copy_iovec_from_user(struct iovec *iov,
 		const struct iovec __user *uvec, unsigned long nr_segs)
 {
@@ -1717,9 +1719,11 @@ struct iovec *iovec_from_user(const struct iovec __user *uvec,
 			return ERR_PTR(-ENOMEM);
 	}
 
+#ifdef CONFIG_COMPAT
 	if (compat)
 		ret = copy_compat_iovec_from_user(iov, uvec, nr_segs);
 	else
+#endif
 		ret = copy_iovec_from_user(iov, uvec, nr_segs);
 	if (ret) {
 		if (iov != fast_iov)
-- 
2.28.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-09-24  8:30 Stephen Rothwell
  2020-09-24 20:08 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2020-09-24  8:30 UTC (permalink / raw)
  To: Al Viro
  Cc: Josh Poimboeuf, Linux Next Mailing List,
	Linux Kernel Mailing List, Peter Zijlstra (Intel),
	Thomas Gleixner, Borislav Petkov

[-- Attachment #1: Type: text/plain, Size: 576 bytes --]

Hi all,

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

arch/x86/include/asm/barrier.h: Assembler messages:
arch/x86/include/asm/barrier.h:41: Error: operand type mismatch for `cmp'
arch/x86/include/asm/barrier.h:41: Error: operand type mismatch for `cmp'

and many more ...

Caused by commit

  e33ea6e5ba6a ("x86/uaccess: Use pointer masking to limit uaccess speculation")

I am not exactly sure why (but reverting it fixes the build).

I have reverted that commit for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-07-29  1:56 Stephen Rothwell
  2020-07-29  6:33 ` Christoph Hellwig
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2020-07-29  1:56 UTC (permalink / raw)
  To: Al Viro
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Christoph Hellwig

[-- Attachment #1: Type: text/plain, Size: 35884 bytes --]

Hi all,

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

In file included from <command-line>:
In function 'signal_compat_build_tests',
    inlined from 'sigaction_compat_abi' at arch/x86/kernel/signal_compat.c:166:2:
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_980' declared with attribute error: BUILD_BUG_ON failed: sizeof(compat_siginfo_t) != 128
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:37:2: note: in expansion of macro 'BUILD_BUG_ON'
   37 |  BUILD_BUG_ON(sizeof(compat_siginfo_t) != 128);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_981' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, _sifields) != 3 * sizeof(int)
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:43:2: note: in expansion of macro 'BUILD_BUG_ON'
   43 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, _sifields) != 3 * sizeof(int));
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_993' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_pid) != 0xC
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:75:2: note: in expansion of macro 'BUILD_BUG_ON'
   75 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_pid) != 0xC);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_994' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_uid) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:76:2: note: in expansion of macro 'BUILD_BUG_ON'
   76 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_uid) != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1001' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_tid) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:85:2: note: in expansion of macro 'BUILD_BUG_ON'
   85 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_tid)     != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1002' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_overrun) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:86:2: note: in expansion of macro 'BUILD_BUG_ON'
   86 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_overrun) != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1003' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_value) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:87:2: note: in expansion of macro 'BUILD_BUG_ON'
   87 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_value)   != 0x14);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1010' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_pid) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:96:2: note: in expansion of macro 'BUILD_BUG_ON'
   96 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_pid)   != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1011' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_uid) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:97:2: note: in expansion of macro 'BUILD_BUG_ON'
   97 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_uid)   != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1012' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_value) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:98:2: note: in expansion of macro 'BUILD_BUG_ON'
   98 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_value) != 0x14);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1021' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_pid) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:109:2: note: in expansion of macro 'BUILD_BUG_ON'
  109 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_pid)    != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1022' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_uid) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:110:2: note: in expansion of macro 'BUILD_BUG_ON'
  110 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_uid)    != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1023' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_status) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:111:2: note: in expansion of macro 'BUILD_BUG_ON'
  111 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_status) != 0x14);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1024' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_utime) != 0x18
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:112:2: note: in expansion of macro 'BUILD_BUG_ON'
  112 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_utime)  != 0x18);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1025' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_stime) != 0x1C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:113:2: note: in expansion of macro 'BUILD_BUG_ON'
  113 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_stime)  != 0x1C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1027' declared with attribute error: BUILD_BUG_ON failed: 7*sizeof(int) != sizeof(((compat_siginfo_t *)0)->_sifields._sigchld_x32)
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:66:36: note: in expansion of macro 'BUILD_BUG_ON'
   66 | #define CHECK_CSI_SIZE(name, size) BUILD_BUG_ON(size != sizeof(((compat_siginfo_t *)0)->_sifields.name))
      |                                    ^~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:117:2: note: in expansion of macro 'CHECK_CSI_SIZE'
  117 |  CHECK_CSI_SIZE  (_sigchld_x32, 7*sizeof(int));
      |  ^~~~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1028' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, _sifields._sigchld_x32._utime) != 0x18
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:119:2: note: in expansion of macro 'BUILD_BUG_ON'
  119 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, _sifields._sigchld_x32._utime)  != 0x18);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1029' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, _sifields._sigchld_x32._stime) != 0x20
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:120:2: note: in expansion of macro 'BUILD_BUG_ON'
  120 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, _sifields._sigchld_x32._stime)  != 0x20);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1034' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_addr) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:128:2: note: in expansion of macro 'BUILD_BUG_ON'
  128 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_addr) != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1036' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_addr_lsb) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:131:2: note: in expansion of macro 'BUILD_BUG_ON'
  131 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_addr_lsb) != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1039' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_lower) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:135:2: note: in expansion of macro 'BUILD_BUG_ON'
  135 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_lower) != 0x14);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1040' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_upper) != 0x18
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:136:2: note: in expansion of macro 'BUILD_BUG_ON'
  136 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_upper) != 0x18);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1042' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_pkey) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:139:2: note: in expansion of macro 'BUILD_BUG_ON'
  139 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_pkey) != 0x14);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1048' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_band) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:147:2: note: in expansion of macro 'BUILD_BUG_ON'
  147 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_band) != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1049' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_fd) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:148:2: note: in expansion of macro 'BUILD_BUG_ON'
  148 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_fd)   != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1056' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_call_addr) != 0x0C
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:157:2: note: in expansion of macro 'BUILD_BUG_ON'
  157 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_call_addr) != 0x0C);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1057' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_syscall) != 0x10
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:158:2: note: in expansion of macro 'BUILD_BUG_ON'
  158 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_syscall)   != 0x10);
      |  ^~~~~~~~~~~~
include/linux/compiler_types.h:313:38: error: call to '__compiletime_assert_1058' declared with attribute error: BUILD_BUG_ON failed: offsetof(compat_siginfo_t, si_arch) != 0x14
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |                                      ^
include/linux/compiler_types.h:294:4: note: in definition of macro '__compiletime_assert'
  294 |    prefix ## suffix();    \
      |    ^~~~~~
include/linux/compiler_types.h:313:2: note: in expansion of macro '_compiletime_assert'
  313 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |  ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
arch/x86/kernel/signal_compat.c:159:2: note: in expansion of macro 'BUILD_BUG_ON'
  159 |  BUILD_BUG_ON(offsetof(compat_siginfo_t, si_arch)      != 0x14);
      |  ^~~~~~~~~~~~
kernel/trace/blktrace.c: In function 'blk_trace_ioctl':
kernel/trace/blktrace.c:741:2: error: duplicate case value
  741 |  case BLKTRACESETUP32:
      |  ^~~~
kernel/trace/blktrace.c:736:2: note: previously used here
  736 |  case BLKTRACESETUP:
      |  ^~~~

Caused by commit

  1ef5f0ad8784 ("compat: lift compat_s64 and compat_u64 to <linux/compat.h>")

Missing CONFIG_ prefix on COMPAT_FOR_U64_ALIGNMENT in include/linux/compat.h.

I have used the vfs tree from next-20200728 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-07-27 12:06 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2020-07-27 12:06 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

Hi all,

After merging the vfs tree, today's linux-next build (sparc defconfig)
failed like this:

arch/sparc/kernel/ptrace_32.c: In function 'setregs_set':
arch/sparc/kernel/ptrace_32.c:271:2: error: 'ret' undeclared (first use in this function); did you mean 'net'?
  ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
  ^~~
  net


Caused by commit

  cf921bf15c62 ("sparc32: get rid of odd callers of copy_regset_from_user()")

I added this patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 27 Jul 2020 21:59:23 +1000
Subject: [PATCH] sparc32: declare ret

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/sparc/kernel/ptrace_32.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/sparc/kernel/ptrace_32.c b/arch/sparc/kernel/ptrace_32.c
index caeb99cbc1fa..f2c581d36d6c 100644
--- a/arch/sparc/kernel/ptrace_32.c
+++ b/arch/sparc/kernel/ptrace_32.c
@@ -264,6 +264,7 @@ static int setregs_set(struct task_struct *target,
 {
 	struct pt_regs *regs = target->thread.kregs;
 	u32 v[4];
+	int ret;
 
 	if (target == current)
 		flush_user_windows();
-- 
2.27.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-05-07  0:39 Stephen Rothwell
  2020-05-07  2:35 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2020-05-07  0:39 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux Next Mailing List, Linux Kernel Mailing List, Jens Axboe

[-- Attachment #1: Type: text/plain, Size: 1484 bytes --]

Hi all,

After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

fs/eventfd.c: In function 'eventfd_read':
fs/eventfd.c:226:6: error: implicit declaration of function 'iov_iter_count' [-Werror=implicit-function-declaration]
  226 |  if (iov_iter_count(to) < sizeof(ucnt))
      |      ^~~~~~~~~~~~~~
In file included from include/linux/file.h:9,
                 from fs/eventfd.c:9:
fs/eventfd.c:257:15: error: implicit declaration of function 'copy_to_iter'; did you mean 'copy_to_user'? [-Werror=implicit-function-declaration]
  257 |  if (unlikely(copy_to_iter(&ucnt, sizeof(ucnt), to) != sizeof(ucnt)))
      |               ^~~~~~~~~~~~

Caused by commit

  a6515b3a7410 ("eventfd: convert to f_op->read_iter()")

I have applied the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 7 May 2020 10:35:52 +1000
Subject: [PATCH] eventfd: include uio.h

Fixes: a6515b3a7410 ("eventfd: convert to f_op->read_iter()")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/eventfd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/eventfd.c b/fs/eventfd.c
index 20f0fd4d56e1..df466ef81ddd 100644
--- a/fs/eventfd.c
+++ b/fs/eventfd.c
@@ -23,6 +23,7 @@
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/idr.h>
+#include <linux/uio.h>
 
 DEFINE_PER_CPU(int, eventfd_wake_count);
 
-- 
2.26.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2020-01-10  6:57 Stephen Rothwell
  2020-01-10 10:00 ` Carlos Maiolino
                   ` (2 more replies)
  0 siblings, 3 replies; 138+ messages in thread
From: Stephen Rothwell @ 2020-01-10  6:57 UTC (permalink / raw)
  To: Al Viro
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Carlos Maiolino

[-- Attachment #1: Type: text/plain, Size: 1418 bytes --]

Hi all,

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

fs/inode.c:1615:5: error: redefinition of 'bmap'
 1615 | int bmap(struct inode *inode, sector_t *block)
      |     ^~~~
In file included from fs/inode.c:7:
include/linux/fs.h:2867:19: note: previous definition of 'bmap' was here
 2867 | static inline int bmap(struct inode *inode,  sector_t *block)
      |                   ^~~~

Caused by commit

  65a805fdd75f ("fibmap: Use bmap instead of ->bmap method in ioctl_fibmap")

I have added this patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 10 Jan 2020 17:53:19 +1100
Subject: [PATCH] fs: fix up for !CONFIG_BLOCK and bmap

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/inode.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/inode.c b/fs/inode.c
index 9f894b25af2b..590f36daa006 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1598,6 +1598,7 @@ void iput(struct inode *inode)
 }
 EXPORT_SYMBOL(iput);
 
+#ifdef CONFIG_BLOCK
 /**
  *	bmap	- find a block number in a file
  *	@inode:  inode owning the block number being requested
@@ -1621,6 +1622,7 @@ int bmap(struct inode *inode, sector_t *block)
 	return 0;
 }
 EXPORT_SYMBOL(bmap);
+#endif
 
 /*
  * With relative atime, only update atime if the previous atime is
-- 
2.24.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2019-01-02  4:01 Stephen Rothwell
  2019-01-30  3:45 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2019-01-02  4:01 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux Next Mailing List, Linux Kernel Mailing List, David Howells

[-- Attachment #1: Type: text/plain, Size: 1357 bytes --]

Hi Al,

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

fs/fs_context.c: In function 'logfc':
fs/fs_context.c:400:3: error: implicit declaration of function 'vprintk_emit'; did you mean 'dev_printk_emit'? [-Werror=implicit-function-declaration]
   vprintk_emit(0, LOGLEVEL_WARNING, NULL, 0, fmt, va);
   ^~~~~~~~~~~~
   dev_printk_emit

Caused by commit

  e6d72ffc503f ("vfs: Implement logging through fs_context")

# CONFIG_PRINTK is not set

I added the following hack for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 2 Jan 2019 14:57:36 +1100
Subject: [PATCH] vfs: work around CONFIG_PRINTK=n in fs_context logging code

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/fs_context.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/fs_context.c b/fs/fs_context.c
index 8728d49c7871..b0324598f573 100644
--- a/fs/fs_context.c
+++ b/fs/fs_context.c
@@ -391,6 +391,7 @@ EXPORT_SYMBOL(vfs_dup_fs_context);
  */
 void logfc(struct fs_context *fc, const char *fmt, ...)
 {
+#ifdef CONFIG_PRINTK
 	va_list va;
 
 	va_start(va, fmt);
@@ -409,6 +410,7 @@ void logfc(struct fs_context *fc, const char *fmt, ...)
 
 	pr_cont("\n");
 	va_end(va);
+#endif
 }
 EXPORT_SYMBOL(logfc);
 
-- 
2.19.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-10-03  0:32 Stephen Rothwell
  2018-10-16  0:17 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2018-10-03  0:32 UTC (permalink / raw)
  To: Al Viro, Jaegeuk Kim
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	David Howells, Daniel Rosenberg

[-- Attachment #1: Type: text/plain, Size: 1786 bytes --]

Hi Al,

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

/home/sfr/next/next/fs/f2fs/super.c: In function 'f2fs_remount':
/home/sfr/next/next/fs/f2fs/super.c:1589:16: error: 'MS_RDONLY' undeclared (first use in this function); did you mean 'IS_RDONLY'?
  if ((*flags & MS_RDONLY) && test_opt(sbi, DISABLE_CHECKPOINT)) {
                ^~~~~~~~~
                IS_RDONLY

Caused by commit

  dcf8001d292b ("vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled")

interacting with commit

  f80f781514ef ("f2fs: checkpoint disabling")

from the f2fs tree.

I have added the following merge fix patch for today.  If it is correct,
I assume that it could be applied to f2fs tree as the the other uses of
MS_RDONLY have already been changed to SB_RDONLY.  (There is another
use of MS_READONLY in this function that is already cleaned up in the
vfs tree commit.)

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 3 Oct 2018 10:27:04 +1000
Subject: [PATCH] f2fs: update for MS_* flags mostly going away

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

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 6ed77589ff2b..b612a9e4a35e 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1586,7 +1586,7 @@ static int f2fs_remount(struct super_block *sb, int *flags,
 		goto restore_opts;
 	}
 
-	if ((*flags & MS_RDONLY) && test_opt(sbi, DISABLE_CHECKPOINT)) {
+	if ((*flags & SB_RDONLY) && test_opt(sbi, DISABLE_CHECKPOINT)) {
 		err = -EINVAL;
 		f2fs_msg(sbi->sb, KERN_WARNING,
 			"disabling checkpoint not compatible with read-only");
-- 
2.18.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-09-10  3:59 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-09-10  3:59 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 11667 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (sparc64 defconfig)
failed like this:

In file included from arch/sparc/include/asm/fbio.h:5:0,
                 from fs/compat_ioctl.c:76:
arch/sparc/include/uapi/asm/fbio.h:100:25: error: field 'pos' has incomplete type
         struct fbcurpos pos;    /* cursor position */
                         ^~~
arch/sparc/include/uapi/asm/fbio.h:101:25: error: field 'hot' has incomplete type
         struct fbcurpos hot;    /* cursor hot spot */
                         ^~~
arch/sparc/include/uapi/asm/fbio.h:103:25: error: field 'size' has incomplete type
         struct fbcurpos size;   /* cursor bit map size */
                         ^~~~
In file included from fs/compat_ioctl.c:76:0:
arch/sparc/include/asm/fbio.h:63:18: error: field 'pos' has incomplete type
  struct fbcurpos pos; /* cursor position */
                  ^~~
arch/sparc/include/asm/fbio.h:64:18: error: field 'hot' has incomplete type
  struct fbcurpos hot; /* cursor hot spot */
                  ^~~
arch/sparc/include/asm/fbio.h:66:18: error: field 'size' has incomplete type
  struct fbcurpos size; /* cursor bit map size */
                  ^~~~
arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                     ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOSCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS'
 IGNORE_IOCTL(FBIOSCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                            ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOSCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS'
 IGNORE_IOCTL(FBIOSCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                                          ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOSCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW'
 #define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS'
 IGNORE_IOCTL(FBIOSCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                     ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS'
 IGNORE_IOCTL(FBIOGCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                            ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS'
 IGNORE_IOCTL(FBIOGCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                                          ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURPOS)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC'
 #define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW'
 #define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS'
 IGNORE_IOCTL(FBIOGCURPOS)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                     ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURMAX)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC'
 #define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX'
 IGNORE_IOCTL(FBIOGCURMAX)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                            ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURMAX)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC'
 #define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX'
 IGNORE_IOCTL(FBIOGCURMAX)
              ^~~~~~~~~~~
arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                                       ^
fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM'
 #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff)
                                          ^
fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL'
 #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd)
                           ^~~~~~~~~~~~~~~~
fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL'
 IGNORE_IOCTL(FBIOGCURMAX)
 ^~~~~~~~~~~~
arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC'
 #define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size))
                             ^~~~
arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR'
 #define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
                         ^~~~
fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX'
 IGNORE_IOCTL(FBIOGCURMAX)
              ^~~~~~~~~~~

Caused by commit

  be248ed54d65 ("compat_ioctl: trim the pointless includes")

I have reverted that commit for today.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-09-10  3:35 Stephen Rothwell
  2018-09-18 21:38 ` Stephen Rothwell
                   ` (2 more replies)
  0 siblings, 3 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-09-10  3:35 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, David Howells

[-- Attachment #1: Type: text/plain, Size: 5797 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
allyesconfig) failed like this:

samples/vfs/test-fsinfo.c: In function 'fsinfo':
samples/vfs/test-fsinfo.c:37:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 fsinfo
samples/vfs/test-fsinfo.c:37:17: note: each undeclared identifier is reported only once for each function it appears in
samples/vfs/test-fsinfo.c: In function 'dump_attr_LIMITS':
samples/vfs/test-fsinfo.c:180:30: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax file size: %llx\n", f->max_file_size);
                           ~~~^     ~~~~~~~~~~~~~~~~
                           %lx
samples/vfs/test-fsinfo.c:181:32: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                             ~~~^
                             %lx
         f->max_uid, f->max_gid, f->max_projid);
         ~~~~~~~~~~
samples/vfs/test-fsinfo.c:181:39: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                    ~~~^
                                    %lx
         f->max_uid, f->max_gid, f->max_projid);
                     ~~~~~~~~~~
samples/vfs/test-fsinfo.c:181:46: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                           ~~~^
                                           %lx
         f->max_uid, f->max_gid, f->max_projid);
                                 ~~~~~~~~~~~~~
samples/vfs/test-fsinfo.c: In function 'dump_attr_SUPPORTS':
samples/vfs/test-fsinfo.c:197:24: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tstx_attr=%llx\n", f->stx_attributes);
                     ~~~^     ~~~~~~~~~~~~~~~~~
                     %lx
samples/vfs/test-fsmount.c: In function 'fsopen':
samples/vfs/test-fsmount.c:63:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
  return syscall(__NR_fsopen, fs_name, flags);
                 ^~~~~~~~~~~
                 fsopen
samples/vfs/test-fsmount.c:63:17: note: each undeclared identifier is reported only once for each function it appears in
samples/vfs/test-fsmount.c: In function 'fsmount':
samples/vfs/test-fsmount.c:68:17: error: '__NR_fsmount' undeclared (first use in this function); did you mean 'fsmount'?
  return syscall(__NR_fsmount, fsfd, flags, ms_flags);
                 ^~~~~~~~~~~~
                 fsmount
samples/vfs/test-fsmount.c: In function 'fsconfig':
samples/vfs/test-fsmount.c:74:17: error: '__NR_fsconfig' undeclared (first use in this function); did you mean 'fsconfig'?
  return syscall(__NR_fsconfig, fsfd, cmd, key, val, aux);
                 ^~~~~~~~~~~~~
                 fsconfig
samples/vfs/test-fsmount.c: In function 'move_mount':
samples/vfs/test-fsmount.c:81:17: error: '__NR_move_mount' undeclared (first use in this function); did you mean 'move_mount'?
  return syscall(__NR_move_mount,
                 ^~~~~~~~~~~~~~~
                 move_mount
samples/vfs/test-fs-query.c: In function 'fsopen':
samples/vfs/test-fs-query.c:32:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
  return syscall(__NR_fsopen, fs_name, flags);
                 ^~~~~~~~~~~
                 fsopen
samples/vfs/test-fs-query.c:32:17: note: each undeclared identifier is reported only once for each function it appears in
samples/vfs/test-fs-query.c: In function 'fsinfo':
samples/vfs/test-fs-query.c:38:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 fsinfo
samples/vfs/test-statx.c: In function 'dump_statx':
samples/vfs/test-statx.c:160:29: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
   printf("Attributes: %016llx (", stx->stx_attributes);
                       ~~~~~~^     ~~~~~~~~~~~~~~~~~~~
                       %016lx

Caused by commits

  2615362dc9ce ("vfs: Add a sample program for the new mount API")
  e9078278ec11 ("vfs: syscall: Add fsinfo() to query filesystem information")

The directory name has changed, but the errors persist!

I have applied this patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 10 Sep 2018 13:19:20 +1000
Subject: [PATCH] disable building the VFS sample programs

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 samples/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/samples/Kconfig b/samples/Kconfig
index 0431af2589ac..c8823d9d97db 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -148,6 +148,7 @@ config SAMPLE_VFIO_MDEV_MBOCHS
 
 config SAMPLE_VFS
 	bool "Build example programs that use new VFS system calls"
+	depends on BROKEN
 	help
 	  Build example userspace programs that use new VFS system calls such
 	  as mount API and statx()
-- 
2.18.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-09-06  2:28 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-09-06  2:28 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, David Howells

[-- Attachment #1: Type: text/plain, Size: 5984 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
allyesconfig) failed like this:

samples/mount_api/test-fsmount.c: In function 'fsopen':
samples/mount_api/test-fsmount.c:63:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
  return syscall(__NR_fsopen, fs_name, flags);
                 ^~~~~~~~~~~
                 fsopen
samples/mount_api/test-fsmount.c:63:17: note: each undeclared identifier is reported only once for each function it appears in
samples/mount_api/test-fsmount.c: In function 'fsmount':
samples/mount_api/test-fsmount.c:68:17: error: '__NR_fsmount' undeclared (first use in this function); did you mean 'fsmount'?
  return syscall(__NR_fsmount, fsfd, flags, ms_flags);
                 ^~~~~~~~~~~~
                 fsmount
samples/mount_api/test-fsmount.c: In function 'fsconfig':
samples/mount_api/test-fsmount.c:74:17: error: '__NR_fsconfig' undeclared (first use in this function); did you mean 'fsconfig'?
  return syscall(__NR_fsconfig, fsfd, cmd, key, val, aux);
                 ^~~~~~~~~~~~~
                 fsconfig
samples/mount_api/test-fsmount.c: In function 'move_mount':
samples/mount_api/test-fsmount.c:81:17: error: '__NR_move_mount' undeclared (first use in this function); did you mean 'move_mount'?
  return syscall(__NR_move_mount,
                 ^~~~~~~~~~~~~~~
                 move_mount
samples/statx/test-fs-query.c: In function 'fsopen':
samples/statx/test-fs-query.c:32:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean 'fsopen'?
  return syscall(__NR_fsopen, fs_name, flags);
                 ^~~~~~~~~~~
                 fsopen
samples/statx/test-fs-query.c:32:17: note: each undeclared identifier is reported only once for each function it appears in
samples/statx/test-fs-query.c: In function 'fsinfo':
samples/statx/test-fs-query.c:38:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 fsinfo
samples/statx/test-fsinfo.c: In function 'fsinfo':
samples/statx/test-fsinfo.c:37:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean 'fsinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 fsinfo
samples/statx/test-fsinfo.c:37:17: note: each undeclared identifier is reported only once for each function it appears in
samples/statx/test-fsinfo.c: In function 'dump_attr_LIMITS':
samples/statx/test-fsinfo.c:180:30: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax file size: %llx\n", f->max_file_size);
                           ~~~^     ~~~~~~~~~~~~~~~~
                           %lx
samples/statx/test-fsinfo.c:181:32: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                             ~~~^
                             %lx
         f->max_uid, f->max_gid, f->max_projid);
         ~~~~~~~~~~
samples/statx/test-fsinfo.c:181:39: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                    ~~~^
                                    %lx
         f->max_uid, f->max_gid, f->max_projid);
                     ~~~~~~~~~~
samples/statx/test-fsinfo.c:181:46: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                           ~~~^
                                           %lx
         f->max_uid, f->max_gid, f->max_projid);
                                 ~~~~~~~~~~~~~
samples/statx/test-fsinfo.c: In function 'dump_attr_SUPPORTS':
samples/statx/test-fsinfo.c:197:24: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
  printf("\tstx_attr=%llx\n", f->stx_attributes);
                     ~~~^     ~~~~~~~~~~~~~~~~~
                     %lx
samples/statx/test-statx.c: In function 'dump_statx':
samples/statx/test-statx.c:160:29: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
   printf("Attributes: %016llx (", stx->stx_attributes);
                       ~~~~~~^     ~~~~~~~~~~~~~~~~~~~
                       %016lx

Caused by commits

  3e83f58bcc4f ("vfs: Add a sample program for the new mount API")
  67f668a6a913 ("vfs: syscall: Add fsinfo() to query filesystem information")

I have added the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 6 Sep 2018 12:15:23 +1000
Subject: [PATCH] mark samples/{mount_api,statx} as broken again

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 samples/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/samples/Kconfig b/samples/Kconfig
index 1c5658bc6224..daa17e9f3197 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -148,11 +148,13 @@ config SAMPLE_VFIO_MDEV_MBOCHS
 
 config SAMPLE_STATX
 	bool "Build example extended-stat using code"
+	depends on BROKEN
 	help
 	  Build example userspace program to use the new extended-stat syscall.
 
 config SAMPLE_MOUNT_API
 	bool "Build example code using the new mount API"
+	depends on BROKEN
 	help
 	  Build example userspace program(s) that use the new mount API.
 
-- 
2.18.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-08-07 10:58 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-08-07 10:58 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, David Howells

[-- Attachment #1: Type: text/plain, Size: 4515 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powercp
allyesconfig) failed like this (I have also included all the warnings):

samples/statx/test-fsinfo.c: In function 'fsinfo':
samples/statx/test-fsinfo.c:36:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean '__NR_sysinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 __NR_sysinfo
samples/statx/test-fsinfo.c:36:17: note: each undeclared identifier is reported only once for each function it appears in
samples/statx/test-fsinfo.c: In function 'dump_attr_LIMITS':
samples/statx/test-fsinfo.c:181:30: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64 {aka long unsigned int}' [-Wformat=]
  printf("\tmax file size: %llx\n", f->max_file_size);
                           ~~~^     ~~~~~~~~~~~~~~~~
                           %lx
samples/statx/test-fsinfo.c:182:32: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64 {aka long unsigned int}' [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                             ~~~^
                             %lx
         f->max_uid, f->max_gid, f->max_projid);
         ~~~~~~~~~~              
samples/statx/test-fsinfo.c:182:39: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type '__u64 {aka long unsigned int}' [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                    ~~~^
                                    %lx
         f->max_uid, f->max_gid, f->max_projid);
                     ~~~~~~~~~~         
samples/statx/test-fsinfo.c:182:46: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type '__u64 {aka long unsigned int}' [-Wformat=]
  printf("\tmax ids      : u=%llx g=%llx p=%llx\n",
                                           ~~~^
                                           %lx
         f->max_uid, f->max_gid, f->max_projid);
                                 ~~~~~~~~~~~~~ 
samples/statx/test-fsinfo.c: In function 'dump_attr_SUPPORTS':
samples/statx/test-fsinfo.c:198:24: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64 {aka long unsigned int}' [-Wformat=]
  printf("\tstx_attr=%llx\n", f->stx_attributes);
                     ~~~^     ~~~~~~~~~~~~~~~~~
                     %lx
samples/statx/test-fsinfo.c: In function 'fsinfo':
samples/statx/test-fsinfo.c:37:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
scripts/Makefile.host:90: recipe for target 'samples/statx/test-fsinfo' failed
samples/statx/test-statx.c: In function 'dump_statx':
samples/statx/test-statx.c:160:29: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type '__u64 {aka long unsigned int}' [-Wformat=]
   printf("Attributes: %016llx (", stx->stx_attributes);
                       ~~~~~~^     ~~~~~~~~~~~~~~~~~~~
                       %016lx
samples/statx/test-fs-query.c: In function 'fsopen':
samples/statx/test-fs-query.c:32:17: error: '__NR_fsopen' undeclared (first use in this function); did you mean '__NR_open'?
  return syscall(__NR_fsopen, fs_name, flags);
                 ^~~~~~~~~~~
                 __NR_open
samples/statx/test-fs-query.c:32:17: note: each undeclared identifier is reported only once for each function it appears in
samples/statx/test-fs-query.c: In function 'fsinfo':
samples/statx/test-fs-query.c:38:17: error: '__NR_fsinfo' undeclared (first use in this function); did you mean '__NR_sysinfo'?
  return syscall(__NR_fsinfo, dfd, filename, params, buffer, buf_size);
                 ^~~~~~~~~~~
                 __NR_sysinfo
samples/statx/test-fs-query.c: In function 'fsopen':
samples/statx/test-fs-query.c:33:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
samples/statx/test-fs-query.c: In function 'fsinfo':
samples/statx/test-fs-query.c:39:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

Caused by commit

  ba5214f7f40c ("vfs: Implement parameter value retrieval with fsinfo()")

which enabled CONFIG_SAMPLE_STATX.  I have disabled that again.  I assume
that problem is that these syscalls are not yet wired up on PowerPC ...

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-08-07  1:11 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-08-07  1:11 UTC (permalink / raw)
  To: Al Viro, Masahiro Yamada
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Laura Abbott,
	David Howells

[-- Attachment #1: Type: text/plain, Size: 1537 bytes --]

Hi Al,

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

/usr/bin/ld: /home/sfr/next/tmp/ccWnssuq.o: in function `dump_attr_TIMESTAMP_INFO':
test-fsinfo.c:(.text+0x5d4): undefined reference to `pow'
/usr/bin/ld: test-fsinfo.c:(.text+0x618): undefined reference to `pow'
/usr/bin/ld: test-fsinfo.c:(.text+0x65c): undefined reference to `pow'
/usr/bin/ld: test-fsinfo.c:(.text+0x6a0): undefined reference to `pow'

Caused by commit

  90b413cb970a ("vfs: syscall: Add fsinfo() to query filesystem information")

interacting with commit

  8377bd2b9ee1 ("kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS")

from the kbuild tree.

I have added the following merge fix patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 7 Aug 2018 11:01:32 +1000
Subject: [PATCH] vfs: samples: fix up for HOSTLOADLIBES rename

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

diff --git a/samples/statx/Makefile b/samples/statx/Makefile
index 05b4d30cdd3c..6a862bbc0627 100644
--- a/samples/statx/Makefile
+++ b/samples/statx/Makefile
@@ -7,6 +7,6 @@ always := $(hostprogs-y)
 HOSTCFLAGS_test-statx.o += -I$(objtree)/usr/include
 
 HOSTCFLAGS_test-fsinfo.o += -I$(objtree)/usr/include
-HOSTLOADLIBES_test-fsinfo += -lm
+HOSTLDLIBS_test-fsinfo += -lm
 
 HOSTCFLAGS_test-fs-query.o += -I$(objtree)/usr/include
-- 
2.18.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-08-06  0:37 Stephen Rothwell
  2018-08-06 12:24 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2018-08-06  0:37 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, David Howells

[-- Attachment #1: Type: text/plain, Size: 1390 bytes --]

Hi Al,

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

samples/statx/test-fsinfo.c:26:10: fatal error: linux/fsinfo.h: No such file or directory
 #include <linux/fsinfo.h>
          ^~~~~~~~~~~~~~~~

Caused by commit

  90b413cb970a ("vfs: syscall: Add fsinfo() to query filesystem information")

I guess that headers_install (or whatever its called) has not bee run
before the sample code is built.

I have applied the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 6 Aug 2018 10:29:34 +1000
Subject: [PATCH] vfs: don;t build new sample programs yet

It seems that headers_install is not done before the samples
are build so some needed include files are not in the right place.

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

diff --git a/samples/statx/Makefile b/samples/statx/Makefile
index 05b4d30cdd3c..0b4d01822eca 100644
--- a/samples/statx/Makefile
+++ b/samples/statx/Makefile
@@ -1,5 +1,5 @@
 # List of programs to build
-hostprogs-$(CONFIG_SAMPLE_STATX) := test-statx test-fsinfo test-fs-query
+hostprogs-$(CONFIG_SAMPLE_STATX) := test-statx
 
 # Tell kbuild to always build the programs
 always := $(hostprogs-y)
-- 
2.18.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-06-19  1:47 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-06-19  1:47 UTC (permalink / raw)
  To: Al Viro
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Uma Krishnan,
	Martin K. Petersen

[-- Attachment #1: Type: text/plain, Size: 1847 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

drivers/scsi/cxlflash/ocxl_hw.c:62:12: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
  .mount  = ocxlflash_fs_mount,
            ^~~~~~~~~~~~~~~~~~
drivers/scsi/cxlflash/ocxl_hw.c:62:12: note: (near initialization for 'ocxlflash_fs_type.mount')

Caused by commit

  6eebfb42b5d6 ("vfs: Require specification of size of mount data for internal mounts")

interacting with commit

  926a62f9bd53 ("scsi: cxlflash: Support adapter file descriptors for OCXL")

from Linus' tree.

I have applide the following merge fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 19 Jun 2018 11:42:15 +1000
Subject: [PATCH] scsi: cxlflash: update for fs_type->mount API change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/scsi/cxlflash/ocxl_hw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c
index 0a95b5f25380..5ad1d5cfb0a8 100644
--- a/drivers/scsi/cxlflash/ocxl_hw.c
+++ b/drivers/scsi/cxlflash/ocxl_hw.c
@@ -45,12 +45,13 @@ static const struct dentry_operations ocxlflash_fs_dops = {
  * @flags:	Flags for the filesystem.
  * @dev_name:	Device name associated with the filesystem.
  * @data:	Data pointer.
+ * @data_size:	Size of the mount data.
  *
  * Return: pointer to the directory entry structure
  */
 static struct dentry *ocxlflash_fs_mount(struct file_system_type *fs_type,
 					 int flags, const char *dev_name,
-					 void *data)
+					 void *data, size_t data_size)
 {
 	return mount_pseudo(fs_type, "ocxlflash:", NULL, &ocxlflash_fs_dops,
 			    OCXLFLASH_FS_MAGIC);
-- 
2.17.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2018-03-19  6:06 Stephen Rothwell
  2018-03-19 19:56 ` Mateusz Guzik
  2018-04-03  2:26 ` Stephen Rothwell
  0 siblings, 2 replies; 138+ messages in thread
From: Stephen Rothwell @ 2018-03-19  6:06 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Mateusz Guzik

[-- Attachment #1: Type: text/plain, Size: 552 bytes --]

Hi Al,

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

fs/super.c: In function 'do_thaw_all_callback':
fs/super.c:942:3: error: implicit declaration of function 'emergency_thaw_bdev'; did you mean 'emergency_remount'? [-Werror=implicit-function-declaration]
   emergency_thaw_bdev(sb);
   ^~~~~~~~~~~~~~~~~~~
   emergency_remount

Caused by commit

  92afc556e622 ("buffer.c: call thaw_super during emergency thaw")

I have reverted that commit for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2017-12-03 23:16 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2017-12-03 23:16 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 'hva_to_pfn_slow':
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1379:35: error: 'start' undeclared (first use in this function)
  npages = get_user_pages_unlocked(start, 1, &page, flags);
                                   ^

Caused by commit

  eeb7c213c804 ("kvm: switch get_user_page_nowait() to get_user_pages_unlocked()")

I have applied the following fix patch for today:

>From e9cc05c8ba9b9f19c62b74e81e4beb67ec9fc09e Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 4 Dec 2017 10:13:38 +1100
Subject: [PATCH] kvm: fix for "switch get_user_page_nowait() to get_user_pages_unlocked()"

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

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 4f0f0045e634..7b4d46432c85 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1376,7 +1376,7 @@ static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault,
 	if (async)
 		flags |= FOLL_NOWAIT;
 
-	npages = get_user_pages_unlocked(start, 1, &page, flags);
+	npages = get_user_pages_unlocked(addr, 1, &page, flags);
 	if (npages != 1)
 		return npages;
 
-- 
2.15.0

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2017-07-11  0:55 Stephen Rothwell
  2017-07-11  9:21 ` David Howells
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2017-07-11  0:55 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List, David Howells

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/platforms/cell/spufs/inode.c: In function 'spufs_show_options':
arch/powerpc/platforms/cell/spufs/inode.c:619:20: error: suggest parentheses around comparison in operand of '&' [-Werror=parentheses]
  if (inode->i_mode & S_IALLUGO != 0775)
                    ^
cc1: all warnings being treated as errors

Caused by commit

  86b1b993671d ("spufs: Implement show_options")

I applied the following patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 11 Jul 2017 10:44:55 +1000
Subject: [PATCH] spufs: always parenthesise bitwise expressions

arch/powerpc/platforms/cell/spufs/inode.c: In function 'spufs_show_options':
arch/powerpc/platforms/cell/spufs/inode.c:619:20: error: suggest parentheses around comparison in operand of '&' [-Werror=parentheses]
  if (inode->i_mode & S_IALLUGO != 0775)
                    ^

Fixes: 86b1b993671d "spufs: Implement show_options"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/platforms/cell/spufs/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index e210d69beeee..9558d725a99b 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -616,7 +616,7 @@ static int spufs_show_options(struct seq_file *m, struct dentry *root)
 	if (!gid_eq(inode->i_gid, GLOBAL_ROOT_GID))
 		seq_printf(m, ",gid=%u",
 			   from_kgid_munged(&init_user_ns, inode->i_gid));
-	if (inode->i_mode & S_IALLUGO != 0775)
+	if ((inode->i_mode & S_IALLUGO) != 0775)
 		seq_printf(m, ",mode=%o", inode->i_mode);
 	if (sbi->debug)
 		seq_puts(m, ",debug");
-- 
2.13.2

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2017-07-10  2:15 Stephen Rothwell
  2017-07-10  2:34 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2017-07-10  2:15 UTC (permalink / raw)
  To: Al Viro
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	David Howells, Jeremy Kerr, Linux PPC Development List

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/platforms/cell/spufs/inode.c: In function 'spufs_show_options':
arch/powerpc/platforms/cell/spufs/inode.c:612:18: error: 'struct dentry' has no member named 'i_uid'
  if (!uid_eq(root->i_uid, GLOBAL_ROOT_UID))
                  ^
arch/powerpc/platforms/cell/spufs/inode.c:614:43: error: 'struct dentry' has no member named 'i_uid'
       from_kuid_munged(&init_user_ns, root->i_uid));
                                           ^
arch/powerpc/platforms/cell/spufs/inode.c:615:18: error: 'struct dentry' has no member named 'i_gid'
  if (!gid_eq(root->i_gid, GLOBAL_ROOT_GID))
                  ^
arch/powerpc/platforms/cell/spufs/inode.c:617:43: error: 'struct dentry' has no member named 'i_gid'
       from_kgid_munged(&init_user_ns, root->i_gid));
                                           ^
arch/powerpc/platforms/cell/spufs/inode.c:618:10: error: 'struct dentry' has no member named 'i_mode'
  if (root->i_mode & S_IALLUGO != 0775)
          ^
arch/powerpc/platforms/cell/spufs/inode.c:619:33: error: 'struct dentry' has no member named 'i_mode'
   seq_printf(m, ",mode=%o", root->i_mode);
                                 ^

Caused by commit

  4f9365d9e2e7 ("spufs: Implement show_options")

A bit hard to revert this, so I added the below patch for now ... please
fix it up.

Also, isn't this a bit late for this merge window?

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 10 Jul 2017 11:05:31 +1000
Subject: [PATCH] disable the spufs show options for now

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/powerpc/platforms/cell/spufs/inode.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index 27a51a60bc33..fafbf88326d8 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -609,6 +609,7 @@ static int spufs_show_options(struct seq_file *m, struct dentry *root)
 {
 	struct spufs_sb_info *sbi = spufs_get_sb_info(root->d_sb);
 
+#if 0
 	if (!uid_eq(root->i_uid, GLOBAL_ROOT_UID))
 		seq_printf(m, ",uid=%u",
 			   from_kuid_munged(&init_user_ns, root->i_uid));
@@ -617,6 +618,7 @@ static int spufs_show_options(struct seq_file *m, struct dentry *root)
 			   from_kgid_munged(&init_user_ns, root->i_gid));
 	if (root->i_mode & S_IALLUGO != 0775)
 		seq_printf(m, ",mode=%o", root->i_mode);
+#endif
 	if (sbi->debug)
 		seq_puts(m, ",debug");
 	return 0;
-- 
2.13.2

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2017-02-27  0:27 Stephen Rothwell
  2017-02-27  8:31 ` David Howells
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2017-02-27  0:27 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, David Howells

Hi Al,

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

samples/statx/test-statx.c:37:34: warning: 'struct statx' declared inside parameter list will not be visible outside of this definition or declaration
        unsigned int mask, struct statx *buffer)
                                  ^~~~~
samples/statx/test-statx.c: In function 'statx':
samples/statx/test-statx.c:39:17: error: '__NR_statx' undeclared (first use in this function)
  return syscall(__NR_statx, dfd, filename, flags, mask, buffer);
                 ^~~~~~~~~~
samples/statx/test-statx.c:39:17: note: each undeclared identifier is reported only once for each function it appears in
samples/statx/test-statx.c: At top level:
samples/statx/test-statx.c:42:50: warning: 'struct statx_timestamp' declared inside parameter list will not be visible outside of this definition or declaration
 static void print_time(const char *field, struct statx_timestamp *ts)
                                                  ^~~~~~~~~~~~~~~
samples/statx/test-statx.c: In function 'print_time':
samples/statx/test-statx.c:49:10: error: dereferencing pointer to incomplete type 'struct statx_timestamp'
  tim = ts->tv_sec;
          ^~
samples/statx/test-statx.c: At top level:
samples/statx/test-statx.c:71:31: warning: 'struct statx' declared inside parameter list will not be visible outside of this definition or declaration
 static void dump_statx(struct statx *stx)
                               ^~~~~
samples/statx/test-statx.c: In function 'dump_statx':
samples/statx/test-statx.c:75:28: error: dereferencing pointer to incomplete type 'struct statx'
  printf("results=%x\n", stx->stx_mask);
                            ^~
samples/statx/test-statx.c:78:22: error: 'STATX_SIZE' undeclared (first use in this function)
  if (stx->stx_mask & STATX_SIZE)
                      ^~~~~~~~~~
samples/statx/test-statx.c:80:22: error: 'STATX_BLOCKS' undeclared (first use in this function)
  if (stx->stx_mask & STATX_BLOCKS)
                      ^~~~~~~~~~~~
samples/statx/test-statx.c:83:22: error: 'STATX_TYPE' undeclared (first use in this function)
  if (stx->stx_mask & STATX_TYPE) {
                      ^~~~~~~~~~
samples/statx/test-statx.c:102:22: error: 'STATX_INO' undeclared (first use in this function)
  if (stx->stx_mask & STATX_INO)
                      ^~~~~~~~~
samples/statx/test-statx.c:104:22: error: 'STATX_NLINK' undeclared (first use in this function)
  if (stx->stx_mask & STATX_NLINK)
                      ^~~~~~~~~~~
samples/statx/test-statx.c:117:22: error: 'STATX_MODE' undeclared (first use in this function)
  if (stx->stx_mask & STATX_MODE)
                      ^~~~~~~~~~
samples/statx/test-statx.c:130:22: error: 'STATX_UID' undeclared (first use in this function)
  if (stx->stx_mask & STATX_UID)
                      ^~~~~~~~~
samples/statx/test-statx.c:132:22: error: 'STATX_GID' undeclared (first use in this function)
  if (stx->stx_mask & STATX_GID)
                      ^~~~~~~~~
samples/statx/test-statx.c:135:22: error: 'STATX_ATIME' undeclared (first use in this function)
  if (stx->stx_mask & STATX_ATIME)
                      ^~~~~~~~~~~
samples/statx/test-statx.c:137:22: error: 'STATX_MTIME' undeclared (first use in this function)
  if (stx->stx_mask & STATX_MTIME)
                      ^~~~~~~~~~~
samples/statx/test-statx.c:139:22: error: 'STATX_CTIME' undeclared (first use in this function)
  if (stx->stx_mask & STATX_CTIME)
                      ^~~~~~~~~~~
samples/statx/test-statx.c:141:22: error: 'STATX_BTIME' undeclared (first use in this function)
  if (stx->stx_mask & STATX_BTIME)
                      ^~~~~~~~~~~
samples/statx/test-statx.c: In function 'main':
samples/statx/test-statx.c:207:15: error: storage size of 'stx' isn't known
  struct statx stx;
               ^~~
samples/statx/test-statx.c:210:22: error: 'STATX_ALL' undeclared (first use in this function)
  unsigned int mask = STATX_ALL;
                      ^~~~~~~~~
samples/statx/test-statx.c:228:13: error: 'STATX_BASIC_STATS' undeclared (first use in this function)
    mask &= ~STATX_BASIC_STATS;
             ^~~~~~~~~~~~~~~~~
samples/statx/test-statx.c:207:15: warning: unused variable 'stx' [-Wunused-variable]
  struct statx stx;
               ^~~

Caused by commit

  caffc373c573 ("statx: Add a system call to make enhanced file info available")

It probably would have been nice to see this in -next a bit earlier.

I have added the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 27 Feb 2017 11:21:47 +1100
Subject: [PATCH] statx: disable the sample code for now

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 samples/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/samples/Kconfig b/samples/Kconfig
index e1fc9a6a96fa..9cb63188d3ef 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -114,6 +114,7 @@ config SAMPLE_VFIO_MDEV_MTTY
 
 config SAMPLE_STATX
 	bool "Build example extended-stat using code"
+	depends on BROKEN
 	help
 	  Build example userspace program to use the new extended-stat syscall.
 
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2016-07-29  1:19 Stephen Rothwell
  2016-07-29  4:18 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2016-07-29  1:19 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Linus Torvalds

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/fuse/dir.c: In function 'fuse_reverse_inval_entry':
fs/fuse/dir.c:958:13: error: assignment of member 'hash' in read-only object
  name->hash = full_name_hash(dir, name->name, name->len);
             ^

Caused by commit

  8387ff2577eb ("vfs: make the string hashes salt the hash")

from Linus' tree interacting with commit

  5e70178ae20b ("qstr: constify instances in fuse")

from the vfs tree.

I added this merge fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 29 Jul 2016 11:07:45 +1000
Subject: [PATCH] qstr: unconstify fuse_reverse_inval_entry parameter

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/fuse/dir.c    | 2 +-
 fs/fuse/fuse_i.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index f910578e51ba..c47b7780ce37 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -935,7 +935,7 @@ int fuse_update_attributes(struct inode *inode, struct kstat *stat,
 }
 
 int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
-			     u64 child_nodeid, const struct qstr *name)
+			     u64 child_nodeid, struct qstr *name)
 {
 	int err = -ENOTDIR;
 	struct inode *parent;
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index 6df761726a53..d98d8cc84def 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -929,7 +929,7 @@ int fuse_reverse_inval_inode(struct super_block *sb, u64 nodeid,
  * then the dentry is unhashed (d_delete()).
  */
 int fuse_reverse_inval_entry(struct super_block *sb, u64 parent_nodeid,
-			     u64 child_nodeid, const struct qstr *name);
+			     u64 child_nodeid, struct qstr *name);
 
 int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file,
 		 bool isdir);
-- 
2.8.1

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2016-05-02  1:25 Stephen Rothwell
  2016-05-02  1:31 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2016-05-02  1:25 UTC (permalink / raw)
  To: Al Viro, Steven Whitehouse, Bob Peterson
  Cc: linux-next, linux-kernel, Abhi Das

Hi Al,

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

In file included from include/linux/notifier.h:13:0,
                 from include/linux/memory_hotplug.h:6,
                 from include/linux/mmzone.h:744,
                 from include/linux/gfp.h:5,
                 from include/linux/slab.h:14,
                 from fs/gfs2/file.c:10:
fs/gfs2/file.c: In function 'gfs2_file_splice_read':
fs/gfs2/file.c:963:19: error: 'struct inode' has no member named 'i_mutex'
  mutex_lock(&inode->i_mutex);
                   ^
include/linux/mutex.h:146:44: note: in definition of macro 'mutex_lock'
 #define mutex_lock(lock) mutex_lock_nested(lock, 0)
                                            ^
fs/gfs2/file.c:967:22: error: 'struct inode' has no member named 'i_mutex'
   mutex_unlock(&inode->i_mutex);   
                      ^
fs/gfs2/file.c:972:21: error: 'struct inode' has no member named 'i_mutex'
  mutex_unlock(&inode->i_mutex);
                     ^

Caused by commit

  ad10a307a918 ("parallel lookups: actual switch to rwsem")

interacting with commit

  611526756a3d ("gfs2: Use gfs2 wrapper to sync inode before calling generic_file_splice_read()")

from the gfs2 tree.

I applied the following merge fix patch for today (thanks Al):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 2 May 2016 11:17:40 +1000
Subject: [PATCH] gfs2: fix up for i_mutex -> i_rwsem change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/gfs2/file.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 3f27ab291029..76e205455503 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -960,16 +960,16 @@ static ssize_t gfs2_file_splice_read(struct file *in, loff_t *ppos,
 	struct gfs2_holder gh;
 	int ret;
 
-	mutex_lock(&inode->i_mutex);
+	inode_lock(inode);
 
 	ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, 0, &gh);
 	if (ret) {
-		mutex_unlock(&inode->i_mutex);
+		inode_unlock(inode);
 		return ret;
 	}
 
 	gfs2_glock_dq_uninit(&gh);
-	mutex_unlock(&inode->i_mutex);
+	inode_unlock(inode);
 
 	return generic_file_splice_read(in, ppos, pipe, len, flags);
 }
-- 
2.7.0

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-12-10  0:18 Stephen Rothwell
  2015-12-10  0:23 ` Stephen Rothwell
  2015-12-21  0:23 ` Stephen Rothwell
  0 siblings, 2 replies; 138+ messages in thread
From: Stephen Rothwell @ 2015-12-10  0:18 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

Hi Al,

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

fs/orangefs/symlink.c:26:2: error: unknown field 'follow_link' specified in initializer
  .follow_link = pvfs2_follow_link,
  ^
fs/orangefs/symlink.c:26:17: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  .follow_link = pvfs2_follow_link, 
                 ^
fs/orangefs/symlink.c:26:17: note: (near initialization for 'pvfs2_symlink_inode_operations.put_link')

Caused by commit

  6b2553918d8b ("replace ->follow_link() with new method that could stay in RCU mode")

[I wish there was some way to stage these API changes :-(]

I applied the following merge fix patch (which may need more work):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 10 Dec 2015 11:12:36 +1100
Subject: [PATCH] orangfs: update for follow_link to get_link change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/orangefs/symlink.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/fs/orangefs/symlink.c b/fs/orangefs/symlink.c
index 2adfceff7730..dbf24a98a3c9 100644
--- a/fs/orangefs/symlink.c
+++ b/fs/orangefs/symlink.c
@@ -8,9 +8,15 @@
 #include "pvfs2-kernel.h"
 #include "pvfs2-bufmap.h"
 
-static const char *pvfs2_follow_link(struct dentry *dentry, void **cookie)
+static const char *pvfs2_get_link(struct dentry *dentry, struct inode *inode,
+				  void **cookie)
 {
-	char *target =  PVFS2_I(dentry->d_inode)->link_target;
+	char *target;
+
+	if (!dentry)
+		return ERR_PTR(-ECHILD);
+
+	target =  PVFS2_I(inode)->link_target;
 
 	gossip_debug(GOSSIP_INODE_DEBUG,
 		     "%s: called on %s (target is %p)\n",
@@ -23,7 +29,7 @@ static const char *pvfs2_follow_link(struct dentry *dentry, void **cookie)
 
 struct inode_operations pvfs2_symlink_inode_operations = {
 	.readlink = generic_readlink,
-	.follow_link = pvfs2_follow_link,
+	.get_link = pvfs2_get_link,
 	.setattr = pvfs2_setattr,
 	.getattr = pvfs2_getattr,
 	.listxattr = pvfs2_listxattr,
-- 
2.6.2

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-12-09  5:58 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2015-12-09  5:58 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

Hi Al,

After merging the vfs tree, today's linux-next build (i386 defconfig)
failed like this:

In file included from include/linux/poll.h:9:0,
                 from include/linux/rtc.h:56,
                 from include/linux/mc146818rtc.h:15,
                 from drivers/char/nvram.c:105:
drivers/char/nvram.c: In function 'nvram_llseek':
include/linux/fs.h:898:36: error: 'PAGE_CACHE_SIZE' undeclared (first use in this function)
 #define MAX_LFS_FILESIZE (((loff_t)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1)
                                    ^
drivers/char/nvram.c:216:56: note: in expansion of macro 'MAX_LFS_FILESIZE'
  return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE,
                                                        ^
include/linux/fs.h:898:36: note: each undeclared identifier is reported only once for each function it appears in
 #define MAX_LFS_FILESIZE (((loff_t)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1)
                                    ^
drivers/char/nvram.c:216:56: note: in expansion of macro 'MAX_LFS_FILESIZE'
  return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE,
                                                        ^
drivers/char/nvram.c:218:1: warning: control reaches end of non-void function [-Wreturn-type]   
 }
 ^

Caused by commit

  acde094daf36 ("don't open-code generic_file_llseek_size()")

I applied the following fix patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 9 Dec 2015 16:48:00 +1100
Subject: [PATCH] fix for "don't open-code generic_file_llseek_size()"

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

diff --git a/drivers/char/nvram.c b/drivers/char/nvram.c
index 2157787cf11b..78a1cd690c96 100644
--- a/drivers/char/nvram.c
+++ b/drivers/char/nvram.c
@@ -39,6 +39,7 @@
 
 #include <linux/module.h>
 #include <linux/nvram.h>
+#include <linux/pagemap.h>	/* for PAGE_CACHE_SIZE */
 
 #define PC		1
 #define ATARI		2
-- 
2.6.2

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-12-09  1:19 Stephen Rothwell
  2015-12-09 21:30 ` Mike Marshall
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2015-12-09  1:19 UTC (permalink / raw)
  To: Al Viro, Mike Marshall; +Cc: linux-next, linux-kernel, Andreas Gruenbacher

Hi Al,

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

In file included from fs/orangefs/acl.c:8:0:
fs/orangefs/acl.c: In function 'pvfs2_get_acl':
fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
 #define PVFS2_XATTR_NAME_ACL_ACCESS  POSIX_ACL_XATTR_ACCESS
                                      ^
fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
   key = PVFS2_XATTR_NAME_ACL_ACCESS;
         ^
fs/orangefs/pvfs2-kernel.h:203:38: note: each undeclared identifier is reported only once for each function it appears in
 #define PVFS2_XATTR_NAME_ACL_ACCESS  POSIX_ACL_XATTR_ACCESS
                                      ^
fs/orangefs/acl.c:21:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
   key = PVFS2_XATTR_NAME_ACL_ACCESS;
         ^
fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
 #define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
                                      ^
fs/orangefs/acl.c:24:9: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
   key = PVFS2_XATTR_NAME_ACL_DEFAULT;
         ^
fs/orangefs/acl.c: In function 'pvfs2_set_acl':
fs/orangefs/pvfs2-kernel.h:203:38: error: 'POSIX_ACL_XATTR_ACCESS' undeclared (first use in this function)
 #define PVFS2_XATTR_NAME_ACL_ACCESS  POSIX_ACL_XATTR_ACCESS
                                      ^
fs/orangefs/acl.c:77:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_ACCESS'
   name = PVFS2_XATTR_NAME_ACL_ACCESS;
          ^
fs/orangefs/pvfs2-kernel.h:204:38: error: 'POSIX_ACL_XATTR_DEFAULT' undeclared (first use in this function)
 #define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
                                      ^
fs/orangefs/acl.c:101:10: note: in expansion of macro 'PVFS2_XATTR_NAME_ACL_DEFAULT'
   name = PVFS2_XATTR_NAME_ACL_DEFAULT;
          ^

Caused by commit

  97d79299223b ("posix acls: Remove duplicate xattr name definitions")

interacting with the addition of orangefs in the orangefs tree.

I applied this merge fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 9 Dec 2015 12:13:37 +1100
Subject: [PATCH] orangefs: update for POSIX ACL name changes

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/orangefs/pvfs2-kernel.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/orangefs/pvfs2-kernel.h b/fs/orangefs/pvfs2-kernel.h
index 4295e263e25b..9beeddbf8aa9 100644
--- a/fs/orangefs/pvfs2-kernel.h
+++ b/fs/orangefs/pvfs2-kernel.h
@@ -200,8 +200,8 @@ struct client_debug_mask {
 #endif
 #endif
 
-#define PVFS2_XATTR_NAME_ACL_ACCESS  POSIX_ACL_XATTR_ACCESS
-#define PVFS2_XATTR_NAME_ACL_DEFAULT POSIX_ACL_XATTR_DEFAULT
+#define PVFS2_XATTR_NAME_ACL_ACCESS  XATTR_NAME_POSIX_ACL_ACCESS
+#define PVFS2_XATTR_NAME_ACL_DEFAULT XATTR_NAME_POSIX_ACL_DEFAULT
 #define PVFS2_XATTR_NAME_TRUSTED_PREFIX "trusted."
 #define PVFS2_XATTR_NAME_DEFAULT_PREFIX ""
 
-- 
2.6.2

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-12-07 22:42 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2015-12-07 22:42 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

Hi Al,

After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

In file included from drivers/usb/core/devio.c:37:0:
drivers/usb/core/devio.c: In function 'usbdev_lseek':
include/linux/fs.h:898:36: error: 'PAGE_CACHE_SIZE' undeclared (first use in this function)
 #define MAX_LFS_FILESIZE (((loff_t)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1)
                                    ^
drivers/usb/core/devio.c:162:48: note: in expansion of macro 'MAX_LFS_FILESIZE'
  return no_seek_end_llseek(file, offset, orig, MAX_LFS_FILESIZE);
                                                ^
include/linux/fs.h:898:36: note: each undeclared identifier is reported only once for each function it appears in
 #define MAX_LFS_FILESIZE (((loff_t)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1)
                                    ^
drivers/usb/core/devio.c:162:48: note: in expansion of macro 'MAX_LFS_FILESIZE'
  return no_seek_end_llseek(file, offset, orig, MAX_LFS_FILESIZE);
                                                ^
drivers/usb/core/devio.c:163:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

Caused by commit

  41fb31e4f962 ("new helper: no_seek_end_llseek()")

PAGE_CACHE_SIZE is defined in linux/pagemap.h which is not included here.
I guess that adding the include to linux/fs.h may have other problems.

I have used the vfs tree from next-20151207 for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-05-11  1:26 Stephen Rothwell
  2015-05-13  2:26 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2015-05-11  1:26 UTC (permalink / raw)
  To: Al Viro, Jaegeuk Kim
  Cc: linux-next, linux-kernel, Uday Savagaonkar, Theodore Ts'o

[-- Attachment #1: Type: text/plain, Size: 4496 bytes --]

Hi Al,

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

fs/f2fs/namei.c: In function 'f2fs_encrypted_follow_link':
fs/f2fs/namei.c:336:10: warning: passing argument 2 of 'f2fs_follow_link' from incompatible pointer type
   return f2fs_follow_link(dentry, nd);
          ^
fs/f2fs/namei.c:311:20: note: expected 'void **' but argument is of type 'struct nameidata *'
 static const char *f2fs_follow_link(struct dentry *dentry, void **cookie)
                    ^
fs/f2fs/namei.c:336:3: warning: return discards 'const' qualifier from pointer target type
   return f2fs_follow_link(dentry, nd);
   ^
fs/f2fs/namei.c:379:2: error: implicit declaration of function 'nd_set_link' [-Werror=implicit-function-declaration]
  nd_set_link(nd, paddr);
  ^
fs/f2fs/namei.c: In function 'f2fs_encrypted_put_link':
fs/f2fs/namei.c:400:3: error: implicit declaration of function 'nd_get_link' [-Werror=implicit-function-declaration]
   kfree(nd_get_link(nd));
   ^
fs/f2fs/namei.c:400:3: warning: passing argument 1 of 'kfree' makes pointer from integer without a cast
In file included from fs/f2fs/f2fs.h:17:0,
                 from fs/f2fs/namei.c:19:
include/linux/slab.h:143:6: note: expected 'const void *' but argument is of type 'int'
 void kfree(const void *);
      ^
fs/f2fs/namei.c: At top level:
fs/f2fs/namei.c:960:2: warning: initialization from incompatible pointer type
  .follow_link    = f2fs_encrypted_follow_link,
  ^
fs/f2fs/namei.c:960:2: warning: (near initialization for 'f2fs_symlink_inode_operations.follow_link')
fs/f2fs/namei.c:961:2: warning: initialization from incompatible pointer type
  .put_link       = f2fs_encrypted_put_link,
  ^
fs/f2fs/namei.c:961:2: warning: (near initialization for 'f2fs_symlink_inode_operations.put_link')

Caused by commits cf41cea5a829 ("new ->follow_link() and ->put_link()
calling conventions") and 0ad7e33ea980 ("don't pass nameidata to
->follow_link()") from teh vfs tree interacting with commit
5270e98c341b ("f2fs crypto: add symlink encryption") from the f2fs tree.

I applied the following merge fix patch (which I suspect is not
completely correct - especially the f2fs_encrypted_put_link part):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 11 May 2015 11:22:19 +1000
Subject: [PATCH] f2fs: merge fix for follow_link and put_link changes

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/f2fs/namei.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index d7ed99ebe95b..42af89cdb9a4 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -320,8 +320,8 @@ static const char *f2fs_follow_link(struct dentry *dentry, void **cookie)
 }
 
 #ifdef CONFIG_F2FS_FS_ENCRYPTION
-static void *f2fs_encrypted_follow_link(struct dentry *dentry,
-						struct nameidata *nd)
+static const char *f2fs_encrypted_follow_link(struct dentry *dentry,
+					void **cookie)
 {
 	struct page *cpage = NULL;
 	char *caddr, *paddr = NULL;
@@ -333,7 +333,7 @@ static void *f2fs_encrypted_follow_link(struct dentry *dentry,
 	u32 max_size = inode->i_sb->s_blocksize;
 
 	if (!f2fs_encrypted_inode(inode))
-		return f2fs_follow_link(dentry, nd);
+		return f2fs_follow_link(dentry, cookie);
 
 	res = f2fs_setup_fname_crypto(inode);
 	if (res)
@@ -341,7 +341,7 @@ static void *f2fs_encrypted_follow_link(struct dentry *dentry,
 
 	cpage = read_mapping_page(inode->i_mapping, 0, NULL);
 	if (IS_ERR(cpage))
-		return cpage;
+		return ERR_CAST(cpage);
 	caddr = kmap(cpage);
 	caddr[size] = 0;
 
@@ -376,12 +376,11 @@ static void *f2fs_encrypted_follow_link(struct dentry *dentry,
 	/* Null-terminate the name */
 	if (res <= cstr.len)
 		paddr[res] = '\0';
-	nd_set_link(nd, paddr);
 	if (cpage) {
 		kunmap(cpage);
 		page_cache_release(cpage);
 	}
-	return NULL;
+	return *cookie = paddr;
 errout:
 	if (cpage) {
 		kunmap(cpage);
@@ -391,14 +390,11 @@ errout:
 	return ERR_PTR(res);
 }
 
-static void f2fs_encrypted_put_link(struct dentry *dentry, struct nameidata *nd,
-			  void *cookie)
+static void f2fs_encrypted_put_link(struct dentry *dentry, void *cookie)
 {
 	struct page *page = cookie;
 
-	if (!page) {
-		kfree(nd_get_link(nd));
-	} else {
+	if (page) {
 		kunmap(page);
 		page_cache_release(page);
 	}
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2015-03-13  1:02 Stephen Rothwell
  2015-03-24  3:24 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2015-03-13  1:02 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Christoph Hellwig, Theodore Ts'o

[-- Attachment #1: Type: text/plain, Size: 1337 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

fs/ext4/indirect.c: In function 'ext4_ind_direct_IO':
fs/ext4/indirect.c:653:2: error: implicit declaration of function 'iov_iter_count' [-Werror=implicit-function-declaration]
  size_t count = iov_iter_count(iter);
  ^

Caused by commit 3737c63e1fb0 ("fs: move struct kiocb to fs.h").  aio.h
used to include uio.h ...

I wonder if there is more fallout from this include file diet.

It would have been nice if the more general changes to aio.h were in a
separate patch.

I added the following patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 13 Mar 2015 11:56:46 +1100
Subject: [PATCH] ext4: iov_iter_count needs linux/uio.h

Fixes: 3737c63e1fb0 ("fs: move struct kiocb to fs.h")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/ext4/indirect.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
index 33308738a06a..a9369e5d2cc1 100644
--- a/fs/ext4/indirect.c
+++ b/fs/ext4/indirect.c
@@ -20,6 +20,8 @@
  *	(sct@redhat.com), 1993, 1998
  */
 
+#include <linux/uio.h>
+
 #include "ext4_jbd2.h"
 #include "truncate.h"
 
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2014-12-10  7:45 Stephen Rothwell
  2014-12-11  2:32 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2014-12-10  7:45 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
allnoconfig) failed like this:

fs/nsfs.c: In function 'ns_get_path':
fs/nsfs.c:83:2: error: implicit declaration of function 'current_kernel_time' [-Werror=implicit-function-declaration]
  inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
  ^
fs/nsfs.c:83:51: error: incompatible types when assigning to type 'struct timespec' from type 'int'
  inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
                                                   ^

Caused by commit 87fb64a6c1f7 ("take the targets of /proc/*/ns/*
symlinks to separate fs").

I have applied the following patch for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 10 Dec 2014 18:37:32 +1100
Subject: [PATCH] nsfs: need include/ktime.h and timekeeping.h for CURRENT_TIME

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/nsfs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/nsfs.c b/fs/nsfs.c
index 0791d086804d..7d98db03c2ce 100644
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -3,6 +3,8 @@
 #include <linux/fs.h>
 #include <linux/proc_ns.h>
 #include <linux/magic.h>
+#include <linux/ktime.h>
+#include <linux/timekeeping.h>
 
 static struct vfsmount *nsfs_mnt;
 
-- 
2.1.3

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2014-04-22  1:26 Stephen Rothwell
  2014-04-23  0:33 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2014-04-22  1:26 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 524 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/nfs/direct.c: In function 'nfs_direct_read_schedule_iovec':
fs/nfs/direct.c:382:4: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
    vfree(pagevec);
    ^

Caused by commit 2703e4cd2d57 ("new helper: iov_iter_get_pages_alloc()").

I have used the vfs tree from next-20140417 for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-11-07  0:30 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2013-11-07  0:30 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 490 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

fs/built-in.o: In function `dump_align':
file.c:(.text+0x4a7e8): undefined reference to `__aeabi_ldivmod'

Presumably caused by commit 3812867c5fcb ("new helper: dump_align()").  I
assume that there is a 64/32 bit mod operation in there somewhere?

I used the vfs tree from next-20131106 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au


[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-09-09  2:33 Stephen Rothwell
  2013-09-09  8:54 ` Ian Kent
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-09-09  2:33 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Ian Kent

[-- Attachment #1: Type: text/plain, Size: 583 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/autofs4/dev-ioctl.c: In function 'find_autofs_mount':
fs/autofs4/dev-ioctl.c:193:2: error: implicit declaration of function 'user_path_mntpointat' [-Werror=implicit-function-declaration]
  int err = user_path_mntpointat(AT_FDCWD, pathname, 0, &path);
  ^

Caused by commit b3a19b078049 ("autofs4 - fix device ioctl mount lookup").

I have used the vfs tree form next-20130906 for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-06-24  1:35 Stephen Rothwell
  2013-06-24  9:34 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-06-24  1:35 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 881 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from arch/powerpc/xmon/xmon.c:41:0:
arch/powerpc/include/asm/spu.h:245:43: error: 'struct coredump_params' declared inside parameter list [-Werror]
  int (*coredump_extra_notes_write)(struct coredump_params *cprm);
                                           ^
arch/powerpc/include/asm/spu.h:245:43: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]

Caused by commit 27e58d7e7e6d ("[needs split] switch to saner coredump
primitives").  Presumably, arch/powerpc/include/asm/spu.h needs to
include linux/binfmts.h or just forward declare "struct coredump_params".

I have used the vfs tree from next-20130621 for today
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-05-01  2:22 Stephen Rothwell
  2013-05-01 13:13 ` J. Bruce Fields
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-05-01  2:22 UTC (permalink / raw)
  To: Al Viro
  Cc: linux-next, linux-kernel, Simo Sorce, J. Bruce Fields, David Howells

[-- Attachment #1: Type: text/plain, Size: 2244 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

net/sunrpc/auth_gss/svcauth_gss.c: In function 'write_gssp':
net/sunrpc/auth_gss/svcauth_gss.c:1329:9: error: implicit declaration of function 'PDE' [-Werror=implicit-function-declaration]
net/sunrpc/auth_gss/svcauth_gss.c:1329:53: error: invalid type argument of '->' (have 'int')
net/sunrpc/auth_gss/svcauth_gss.c: In function 'read_gssp':
net/sunrpc/auth_gss/svcauth_gss.c:1357:53: error: invalid type argument of '->' (have 'int')

Caused by commit 030d794bf498 ("SUNRPC: Use gssproxy upcall for server
RPCGSS authentication") from the nfsd tree interacting with commit
c3f2cb25be4f ("proc: Make the PROC_I() and PDE() macros internal to
procfs") from the vfs tree.

I applied the following merge fix patch (there may be a better way).

From 62a0e3a08844eeeb6d85fb45d85c2f80d7de2797 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 1 May 2013 12:19:43 +1000
Subject: [PATCH] SUNRPC: update for PDE removal

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 net/sunrpc/auth_gss/svcauth_gss.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index b70ac1c..89ef709 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -1326,7 +1326,7 @@ static int wait_for_gss_proxy(struct net *net)
 static ssize_t write_gssp(struct file *file, const char __user *buf,
 			 size_t count, loff_t *ppos)
 {
-	struct net *net = PDE(file->f_path.dentry->d_inode)->data;
+	struct net *net = PDE_DATA(file->f_path.dentry->d_inode);
 	char tbuf[20];
 	unsigned long i;
 	int res;
@@ -1354,7 +1354,7 @@ static ssize_t write_gssp(struct file *file, const char __user *buf,
 static ssize_t read_gssp(struct file *file, char __user *buf,
 			 size_t count, loff_t *ppos)
 {
-	struct net *net = PDE(file->f_path.dentry->d_inode)->data;
+	struct net *net = PDE_DATA(file->f_path.dentry->d_inode);
 	unsigned long p = *ppos;
 	char tbuf[10];
 	size_t len;
-- 
1.8.1

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-04-08  1:15 Stephen Rothwell
  2013-04-09 15:49 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-04-08  1:15 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 766 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 'kvm_init':
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2990:2: error: assignment of member 'owner' in read-only object
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2991:2: error: assignment of member 'owner' in read-only object
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2992:2: error: assignment of member 'owner' in read-only object

Caused by commit d612df096dce ("constify a bunch of struct
file_operations instances").  Grep is your friend ...

I have used the vfs tree from next-230130405 for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-04-03  0:22 Stephen Rothwell
  2013-04-03  1:14 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-04-03  0:22 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from arch/powerpc/oprofile/../../../drivers/oprofile/timer_int.c:14:0:
include/linux/profile.h: In function 'create_prof_cpu_mask':
include/linux/profile.h:34:1: error: empty declaration [-Werror]
include/linux/profile.h:41:12: error: storage class specified for parameter 'prof_on'
include/linux/profile.h:41:12: error: section attribute not allowed for 'prof_on'
include/linux/profile.h:57:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
include/linux/profile.h:65:1: error: empty declaration [-Werror]
include/linux/profile.h:66:1: error: empty declaration [-Werror]
include/linux/profile.h:85:1: error: empty declaration [-Werror]

And many, many more.

Caused by commit 1f4fbcb8700c ("create_proc_cpu_mask() doesn't need an
argument...").  Please build test this stuff *before* publishing it.  :-(

I have used the vfs tree from next-20130328 again fro today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2013-04-02  0:26 Stephen Rothwell
  2013-04-02  0:39 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2013-04-02  0:26 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 491 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/kernel/lparcfg.c:44:31: error: 'proc_ppc64_lparcfg' defined but not used [-Werror=unused-variable]
cc1: all warnings being treated as errors

Caused by commit dfda3a48f2e7 ("lparcfg: don't bother saving pointer to
proc_dir_entry").

I have used the vfs tree form next-20130328 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2012-07-16  0:59 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2012-07-16  0:59 UTC (permalink / raw)
  To: Al Viro
  Cc: linux-next, linux-kernel, Jan Kara, Christoph Hellwig,
	Steven Whitehouse, Dave Kleikamp

[-- Attachment #1: Type: text/plain, Size: 1024 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/ext2/super.c: In function 'ext2_sync_fs':
fs/ext2/super.c:1191:2: error: implicit declaration of function 'dquot_writeback_dquots' [-Werror=implicit-function-declaration]
fs/ext3/super.c: In function 'ext3_sync_fs':
fs/ext3/super.c:2534:2: error: implicit declaration of function 'dquot_writeback_dquots' [-Werror=implicit-function-declaration]
fs/ext4/super.c: In function 'ext4_sync_fs':
fs/ext4/super.c:4493:2: error: implicit declaration of function 'dquot_writeback_dquots' [-Werror=implicit-function-declaration]

Caused by commits 05566b558a47 ("quota: Move quota syncing to ->sync_fs
method") and ad04033e79d2 ("quota: Split dquot_quota_sync() to writeback
and cache flushing part").  Please do build testing with and without
CONFIG QUOTA for quota changes ...

I have used the vfs tree from next-20120713 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2012-05-31  0:51 Stephen Rothwell
  2012-05-31  1:02 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2012-05-31  0:51 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 610 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from include/linux/stat.h:6:0,
                 from include/linux/module.h:10,
                 from init/main.c:13:
arch/powerpc/include/asm/stat.h:33:2: error: expected specifier-qualifier-list before 'unisgned'

and many, many more. :-(

Caused by commit 9f240ea8060e ("powerpc: get rid of nlink_t uses, switch
to explicitly-sized type").

I have used the vfs tree from next-20120529 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2012-01-03  1:43 Stephen Rothwell
  2012-01-03 13:39 ` Jan Kara
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2012-01-03  1:43 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Mikulas Patocka, Jan Kara

[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/super.c:230:13: error: static declaration of 'put_super' follows non-static declaration
include/linux/fs.h:2493:13: note: previous declaration of 'put_super' was here

Caused by commit eab99e355c00 ("trim fs/internal.h") interacting with
commit 4789fd4495a4 ("quota: Fix deadlock with suspend and quotas") from
the ext3 tree.

I applied the following (probably not the best) merge fix patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 3 Jan 2012 12:38:21 +1100
Subject: [PATCH] fs: make put_super global again

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/super.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/super.c b/fs/super.c
index 3682e6c..cb6d718 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -227,7 +227,7 @@ static void __put_super(struct super_block *sb)
  *	Drops a temporary reference, frees superblock if there's no
  *	references left.
  */
-static void put_super(struct super_block *sb)
+void put_super(struct super_block *sb)
 {
 	spin_lock(&sb_lock);
 	__put_super(sb);
-- 
1.7.8.197.g73c6b

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2011-12-22  0:15 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2011-12-22  0:15 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, James Morris

[-- Attachment #1: Type: text/plain, Size: 1784 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc ppc64_defconfig)
failed like this:

In file included from ipc/util.c:28:0:
include/linux/security.h: In function 'security_real_capable':
include/linux/security.h:1886:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1886:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1886:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1886:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1886:25: error: dereferencing pointer to incomplete type

And so on ... These are the references to __task_cred() which dereferences
a "struct task_struct *".  Adding an include of linux/sched.h back to
linux/security.h (which was removed by commit ae1a442f9d95 ("trim
security.h")) results in this error (to be fair, the include of
linux-sched.h really belongs in cred.h):

arch/powerpc/platforms/cell/spu_syscalls.c:68:22: error: expected ')' before 'const'

Which was caused by commit 2dbc0a0f41d4 ("switch spu_create(2) to use of
SYSCALL4, make it use umode_t").  That commit (along with a whole string
of others around it) was supposedly authored July 27, 2011, so it would
have been nice to see them earlier then this in linux-next.  :-(

I have used the vfs tree from next-20111216 (which is unfortunately
empty) again for today.

BTW, the x86_64 allmodconfig build (with out the sched.h include
restored) does not get any of these errors, so sches.h must be being
indirectly included, so you are not saving anything on x86_64 by removing
the sched.h include from security.h.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2011-12-20  0:31 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2011-12-20  0:31 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1752 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from ipc/util.c:28:0:
include/linux/security.h: In function 'security_real_capable':
include/linux/security.h:1885:2: error: implicit declaration of function '__task_cred' [-Werror=implicit-function-declaration]
include/linux/security.h:1885:2: warning: passing argument 2 of 'cap_capable' makes pointer from integer without a cast [enabled by default]
include/linux/security.h:69:12: note: expected 'const struct cred *' but argument is of type 'int'
include/linux/security.h: In function 'security_real_capable_noaudit':
include/linux/security.h:1897:11: warning: passing argument 2 of 'cap_capable' makes pointer from integer without a cast [enabled by default]
include/linux/security.h:69:12: note: expected 'const struct cred *' but argument is of type 'int'
In file included from kernel/groups.c:7:0:

So security.h needs to include linux/cred.h ...

include/linux/security.h: In function 'security_real_capable':
include/linux/security.h:1885:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1885:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1885:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1885:25: error: dereferencing pointer to incomplete type
include/linux/security.h:1885:25: error: dereferencing pointer to incomplete type

And linux/cred.h needs to include linux/sched.h :-(

Caused by commit ae1a442f9d95 ("trim security.h").

I have used the vfs tree form next-20111216 again today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2011-12-19  1:06 Stephen Rothwell
  2011-12-19  1:12 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2011-12-19  1:06 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1457 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

In file included from include/linux/tracehook.h:51:0,
                 from arch/powerpc/kernel/ptrace.c:25:
include/linux/security.h: In function 'securityfs_create_dir':
include/linux/security.h:3003:2: error: implicit declaration of function 'ERR_PTR' [-Werror=implicit-function-declaration]
include/linux/security.h:3003:2: error: return makes pointer from integer without a cast [-Werror]
include/linux/security.h: In function 'securityfs_create_file':
include/linux/security.h:3012:2: error: return makes pointer from integer without a cast [-Werror]
In file included from include/linux/fs.h:2283:0,
                 from include/linux/trace_seq.h:4,
                 from include/linux/ftrace_event.h:5,
                 from include/trace/syscall.h:6,
                 from arch/powerpc/kernel/ptrace.c:32:
include/linux/err.h: At top level:
include/linux/err.h:22:35: error: conflicting types for 'ERR_PTR'
include/linux/security.h:3003:9: note: previous implicit declaration of 'ERR_PTR' was here

And many more similar.

Probably caused by commit 3073cb2e813c ("trim security.h") which
presumably removed an include file that was including err.h :-(

I have used the vfs tree from next-20111216 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2011-07-16  6:44 Stephen Rothwell
  2011-07-25  3:20 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2011-07-16  6:44 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Trond Myklebust

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/nfs/read.c: In function 'nfs_do_read':
fs/nfs/read.c:246:42: error: 'struct nfs_open_context' has no member named 'path'

Caused by commit 6e4efd568574 ("NFS: Clean up nfs_read_rpcsetup and
nfs_write_rpcsetup") from the nfs tree interacting with commit
b98aad31afdc ("nfs_open_context doesn't need struct path either").

I have applied the following merge fixup patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Sat, 16 Jul 2011 16:32:06 +1000
Subject: [PATCH] vfs/nfs: fixup for nfs_open_context change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/nfs/read.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 3170712..2171c04 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -243,7 +243,7 @@ static void nfs_read_rpcsetup(struct nfs_page *req, struct nfs_read_data *data,
 static int nfs_do_read(struct nfs_read_data *data,
 		const struct rpc_call_ops *call_ops)
 {
-	struct inode *inode = data->args.context->path.dentry->d_inode;
+	struct inode *inode = data->args.context->dentry->d_inode;
 
 	return nfs_initiate_read(data, NFS_CLIENT(inode), call_ops);
 }
-- 
1.7.5.4

I then got:

fs/nfs/write.c: In function 'nfs_do_write':
fs/nfs/write.c:892:42: error: 'struct nfs_open_context' has no member named 'path'

So I added the following patch as well:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Sat, 16 Jul 2011 16:39:22 +1000
Subject: [PATCH] vfs/nfs: another fixup for nfs_open_context change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/nfs/write.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 2d2c773..ebed518 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -889,7 +889,7 @@ static int nfs_do_write(struct nfs_write_data *data,
 		const struct rpc_call_ops *call_ops,
 		int how)
 {
-	struct inode *inode = data->args.context->path.dentry->d_inode;
+	struct inode *inode = data->args.context->dentry->d_inode;
 
 	return nfs_initiate_write(data, NFS_CLIENT(inode), call_ops, how);
 }
-- 
1.7.5.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2011-07-16  6:36 Stephen Rothwell
  0 siblings, 0 replies; 138+ messages in thread
From: Stephen Rothwell @ 2011-07-16  6:36 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 666 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/platforms/cell/spufs/syscalls.c: In function 'do_spu_create':
arch/powerpc/platforms/cell/spufs/syscalls.c:69:2: error: 'ret' undeclared (first use in this function)
arch/powerpc/platforms/cell/spufs/syscalls.c:71:3: error: 'nd' undeclared (first use in this function)

Caused by commit 05a3ade623fa ("switch do_spufs_create() to
user_path_create(), fix double-unlock").

I have used the vfs tree from next-20110707 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2010-07-19  0:25 Stephen Rothwell
  2010-08-04  1:47 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2010-07-19  0:25 UTC (permalink / raw)
  To: Al Viro
  Cc: linux-next, linux-kernel, Suresh Jayaraman, Steve French, linux-cifs

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/cifs/cifsfs.c:498: error: unknown field 'clear_inode' specified in initializer

Caused by commit 139f224817a203ff434eda5e6d3f457bc1579f27 ("cifs: define
inode-level cache object and register them") from the cifs tree
interacting with commit a8036d5aec0547a2bd7e3040c69bd172e474d860
("convert remaining ->clear_inode() to ->evict_inode()") from the vfs
tree.

I added the following merge fix patch (by effectively copy and paste from
some of the other file system fixups in the vfs commit).  I have no idea
if this is correct - someone should check.  I can carry this patch as
necessary.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 19 Jul 2010 10:15:47 +1000
Subject: [PATCH] cifs: fix for clear_inode -> evict_inode API change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/cifs/cifsfs.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index ba893b9..2fc5ed1 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -330,8 +330,10 @@ cifs_destroy_inode(struct inode *inode)
 }
 
 static void
-cifs_clear_inode(struct inode *inode)
+cifs_evict_inode(struct inode *inode)
 {
+	truncate_inode_pages(&inode->i_data, 0);
+	end_writeback(inode);
 	cifs_fscache_release_inode_cookie(inode);
 }
 
@@ -495,7 +497,7 @@ static const struct super_operations cifs_super_ops = {
 	.alloc_inode = cifs_alloc_inode,
 	.destroy_inode = cifs_destroy_inode,
 	.drop_inode	= cifs_drop_inode,
-	.clear_inode	= cifs_clear_inode,
+	.evict_inode	= cifs_evict_inode,
 /*	.delete_inode	= cifs_delete_inode,  */  /* Do not need above
 	function unless later we add lazy close of inodes or unless the
 	kernel forgets to call us with the same number of releases (closes)
-- 
1.7.1


-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2010-07-12  2:24 Stephen Rothwell
  2010-07-12  5:31 ` Ryusuke Konishi
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2010-07-12  2:24 UTC (permalink / raw)
  To: Al Viro; +Cc: linux-next, linux-kernel, Ryusuke Konishi

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/nilfs2/inode.c: In function 'nilfs_clear_inode':
fs/nilfs2/inode.c:630: error: implicit declaration of function 'nilfs_btnode_cache_clear'

Caused by commit 743a0a2f1a89e53d656ec6a2f715111d92642bcb ("convert
nilfs2 to ->evict_inode()") interacting with commit
ceb4f9c819c321e7eabf53b51f956ff959561573 ("nilfs2: get rid of
nilfs_bmap_union") from the nilfs2 tree which removed the implicit
inclusion of btnode.h (via bmap_union.h via nilfs.h).

I have added the following patch for today (which should be applied to
the vfs tree or merged into the above vfs tree commit):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 12 Jul 2010 12:17:47 +1000
Subject: [PATCH] nilfs2: inode.c needs to include btnode.h directly now

Due to the new usage of nilfs_btnode_cache_clear().

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/nilfs2/inode.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index 8fea40e..eccb2f2 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -27,6 +27,7 @@
 #include <linux/writeback.h>
 #include <linux/uio.h>
 #include "nilfs.h"
+#include "btnode.h"
 #include "segment.h"
 #include "page.h"
 #include "mdt.h"
-- 
1.7.1

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2010-06-22  1:22 Stephen Rothwell
  2010-08-04  1:50 ` Stephen Rothwell
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2010-06-22  1:22 UTC (permalink / raw)
  To: Al Viro
  Cc: linux-next, linux-kernel, Sripathi Kodi, Eric Van Hensbergen,
	Christoph Hellwig

Hi Al,

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

fs/9p/vfs_inode.c: In function 'v9fs_vfs_setattr_dotl':
fs/9p/vfs_inode.c:1056: error: implicit declaration of function 'inode_setattr'

Caused by commit 463942d48d7f05812f0d6426dd8051ff53ea24a3 ("9p: Implement
client side of setattr for 9P2000.L protocol") from the v9fs tree
interacting with commit 3d9bf66940b6001a30aa30d5ac9f816326d9b3a0 ("remove
inode_setattr") from the vfs tree.

I have applied the following patch (using the changes in the above vfs
tree commit as a guide) as a merge fix for today, but am not sure if it
is correct.  I assume that this (or something similar) could be applied
to the v9fs tree now - is that correct Christoph?

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 22 Jun 2010 11:15:01 +1000
Subject: [PATCH] v9fs: fixup for inode_setattr being removed

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/9p/vfs_inode.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index f027a42..2ec7bfa 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -1052,10 +1052,19 @@ static int v9fs_vfs_setattr_dotl(struct dentry *dentry, struct iattr *iattr)
 		return PTR_ERR(fid);
 
 	retval = p9_client_setattr(fid, &p9attr);
-	if (retval >= 0)
-		retval = inode_setattr(dentry->d_inode, iattr);
+	if (retval < 0)
+		return retval;
 
-	return retval;
+	if ((iattr->ia_valid & ATTR_SIZE) &&
+	    iattr->ia_size != i_size_read(dentry->d_inode)) {
+		retval = vmtruncate(dentry->d_inode, iattr->ia_size);
+		if (retval)
+			return retval;
+	}
+
+	setattr_copy(dentry->d_inode, iattr);
+	mark_inode_dirty(dentry->d_inode);
+	return 0;
 }
 
 /**
-- 
1.7.1

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

^ permalink raw reply related	[flat|nested] 138+ messages in thread
* linux-next: build failure after merge of the vfs tree
@ 2010-05-28  1:45 Stephen Rothwell
  2010-05-28  1:51 ` Al Viro
  0 siblings, 1 reply; 138+ messages in thread
From: Stephen Rothwell @ 2010-05-28  1:45 UTC (permalink / raw)
  To: Al Viro
  Cc: linux-next, linux-kernel, Christoph Hellwig, Josef Bacik,
	Chris Mason, Nick Piggin

[-- Attachment #1: Type: text/plain, Size: 934 bytes --]

Hi Al,

After merging the vfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/platforms/cell/spufs/file.c:1852: error: expected ';', ',' or ')' before 'int'
arch/powerpc/platforms/cell/spufs/file.c:1871: error: 'spufs_mfc_fsync' undeclared here (not in a function)

Caused by commit 05b2fc7d1f1046fef1199e1a4d2f63df998ef3aa ("drop unused
dentry argument to ->fsync").

My merge of the vfs tree was also bad because commit
facd07b07d2a7988f5ce849558838cc953847637 ("direct-io: add a hook for the
fs to provide its own submit_bio function") that entered Linus' tree in
the past 24 hours changed the prototype of __blockdev_direct_IO() and
that probably needs reflecting in the new __blockdev_direct_IO_newtrunc().

I have used the vfs tree from next-20100527 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 138+ messages in thread

end of thread, other threads:[~2021-01-04 23:29 UTC | newest]

Thread overview: 138+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-27  4:14 linux-next: build failure after merge of the vfs tree Stephen Rothwell
2020-10-27  4:59 ` Al Viro
2020-11-10 19:00   ` Al Viro
2020-11-10 21:24     ` Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2021-01-04 22:36 Stephen Rothwell
2021-01-04 23:28 ` Al Viro
2020-09-28  1:31 Stephen Rothwell
2020-09-28  6:05 ` Christoph Hellwig
2020-09-24  8:30 Stephen Rothwell
2020-09-24 20:08 ` Al Viro
2020-09-25 12:01   ` Stephen Rothwell
2020-09-25 13:38     ` Al Viro
2020-09-29  4:10       ` Josh Poimboeuf
2020-10-06 14:30         ` Josh Poimboeuf
2020-10-06 21:04           ` Stephen Rothwell
2020-10-07 15:46             ` Josh Poimboeuf
2020-07-29  1:56 Stephen Rothwell
2020-07-29  6:33 ` Christoph Hellwig
2020-07-29 19:19   ` Al Viro
2020-07-27 12:06 Stephen Rothwell
2020-05-07  0:39 Stephen Rothwell
2020-05-07  2:35 ` Al Viro
2020-05-07 15:07   ` Jens Axboe
2020-01-10  6:57 Stephen Rothwell
2020-01-10 10:00 ` Carlos Maiolino
2020-01-10 11:03 ` Carlos Maiolino
2020-01-10 22:44   ` Stephen Rothwell
2020-01-13  9:28     ` Carlos Maiolino
2020-01-24  2:41 ` Stephen Rothwell
2020-01-29 22:40   ` Stephen Rothwell
2019-01-02  4:01 Stephen Rothwell
2019-01-30  3:45 ` Stephen Rothwell
2018-10-03  0:32 Stephen Rothwell
2018-10-16  0:17 ` Stephen Rothwell
2018-10-16 16:37   ` Jaegeuk Kim
2018-10-16 20:45     ` Stephen Rothwell
2018-09-10  3:59 Stephen Rothwell
2018-09-10  3:35 Stephen Rothwell
2018-09-18 21:38 ` Stephen Rothwell
2018-09-18 22:17 ` David Howells
2018-09-18 23:49   ` Stephen Rothwell
2018-09-19  7:17     ` Geert Uytterhoeven
2018-09-19  6:01   ` David Howells
2018-09-19  6:31     ` Stephen Rothwell
2018-09-20 10:48       ` Michael Ellerman
2018-09-20 16:20       ` David Howells
2018-09-20 10:44   ` Michael Ellerman
2018-10-29  4:33 ` Stephen Rothwell
2018-10-29  9:07   ` Stephen Rothwell
2018-10-29  9:21   ` David Howells
2018-10-29 10:29     ` Stephen Rothwell
2018-09-06  2:28 Stephen Rothwell
2018-08-07 10:58 Stephen Rothwell
2018-08-07  1:11 Stephen Rothwell
2018-08-06  0:37 Stephen Rothwell
2018-08-06 12:24 ` Stephen Rothwell
2018-08-07  0:59   ` Stephen Rothwell
2018-08-07  2:20     ` Masahiro Yamada
2018-06-19  1:47 Stephen Rothwell
2018-03-19  6:06 Stephen Rothwell
2018-03-19 19:56 ` Mateusz Guzik
2018-04-03  2:26 ` Stephen Rothwell
2018-04-08  2:19   ` Al Viro
2018-04-08  2:55     ` Stephen Rothwell
2017-12-03 23:16 Stephen Rothwell
2017-07-11  0:55 Stephen Rothwell
2017-07-11  9:21 ` David Howells
2017-07-10  2:15 Stephen Rothwell
2017-07-10  2:34 ` Al Viro
2017-02-27  0:27 Stephen Rothwell
2017-02-27  8:31 ` David Howells
2016-07-29  1:19 Stephen Rothwell
2016-07-29  4:18 ` Al Viro
2016-05-02  1:25 Stephen Rothwell
2016-05-02  1:31 ` Al Viro
2016-05-02  4:48   ` Abhijith Das
2015-12-10  0:18 Stephen Rothwell
2015-12-10  0:23 ` Stephen Rothwell
2015-12-10  0:48   ` Al Viro
2015-12-10 15:44     ` Mike Marshall
2015-12-21  0:23 ` Stephen Rothwell
2016-01-07  0:42   ` Stephen Rothwell
2016-01-07  2:09     ` Al Viro
2015-12-09  5:58 Stephen Rothwell
2015-12-09  1:19 Stephen Rothwell
2015-12-09 21:30 ` Mike Marshall
2015-12-09 22:20   ` Stephen Rothwell
2015-12-09 22:53     ` Andreas Grünbacher
2015-12-07 22:42 Stephen Rothwell
2015-05-11  1:26 Stephen Rothwell
2015-05-13  2:26 ` Stephen Rothwell
2015-03-13  1:02 Stephen Rothwell
2015-03-24  3:24 ` Stephen Rothwell
2015-03-24 10:44   ` Christoph Hellwig
2014-12-10  7:45 Stephen Rothwell
2014-12-11  2:32 ` Al Viro
2014-04-22  1:26 Stephen Rothwell
2014-04-23  0:33 ` Stephen Rothwell
2013-11-07  0:30 Stephen Rothwell
2013-09-09  2:33 Stephen Rothwell
2013-09-09  8:54 ` Ian Kent
2013-06-24  1:35 Stephen Rothwell
2013-06-24  9:34 ` Al Viro
2013-05-01  2:22 Stephen Rothwell
2013-05-01 13:13 ` J. Bruce Fields
2013-04-08  1:15 Stephen Rothwell
2013-04-09 15:49 ` Stephen Rothwell
2013-04-03  0:22 Stephen Rothwell
2013-04-03  1:14 ` Al Viro
2013-04-02  0:26 Stephen Rothwell
2013-04-02  0:39 ` Al Viro
2012-07-16  0:59 Stephen Rothwell
2012-05-31  0:51 Stephen Rothwell
2012-05-31  1:02 ` Al Viro
2012-01-03  1:43 Stephen Rothwell
2012-01-03 13:39 ` Jan Kara
2012-01-03 14:45   ` Al Viro
2012-01-04  2:17     ` Al Viro
2012-01-04  2:50       ` Dave Chinner
2012-01-04 18:00         ` Jan Kara
2012-01-04 18:47           ` Christoph Hellwig
2012-01-04 22:26             ` Jan Kara
2011-12-22  0:15 Stephen Rothwell
2011-12-20  0:31 Stephen Rothwell
2011-12-19  1:06 Stephen Rothwell
2011-12-19  1:12 ` Al Viro
2011-07-16  6:44 Stephen Rothwell
2011-07-25  3:20 ` Stephen Rothwell
2011-07-25 18:26   ` Trond Myklebust
2011-07-16  6:36 Stephen Rothwell
2010-07-19  0:25 Stephen Rothwell
2010-08-04  1:47 ` Stephen Rothwell
2010-07-12  2:24 Stephen Rothwell
2010-07-12  5:31 ` Ryusuke Konishi
2010-06-22  1:22 Stephen Rothwell
2010-08-04  1:50 ` Stephen Rothwell
2010-05-28  1:45 Stephen Rothwell
2010-05-28  1:51 ` Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).