Re: linux-next: build failure after merge of the btrfs tree

From: Stephen Rothwell
Date: Fri Oct 29 2021 - 04:28:10 EST


Hi all,

On Wed, 27 Oct 2021 21:09:24 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> [I am not sure why this error only popped up after I merged Andrew's
> patch set ...]
>
> After merging the btrfs tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> In file included from include/linux/string.h:253,
> from include/linux/bitmap.h:11,
> from include/linux/cpumask.h:12,
> from arch/x86/include/asm/cpumask.h:5,
> from arch/x86/include/asm/msr.h:11,
> from arch/x86/include/asm/processor.h:22,
> from arch/x86/include/asm/cpufeature.h:5,
> from arch/x86/include/asm/thread_info.h:53,
> from include/linux/thread_info.h:60,
> from arch/x86/include/asm/preempt.h:7,
> from include/linux/preempt.h:78,
> from include/linux/spinlock.h:55,
> from include/linux/wait.h:9,
> from include/linux/mempool.h:8,
> from include/linux/bio.h:8,
> from fs/btrfs/ioctl.c:7:
> In function 'memcpy',
> inlined from '_btrfs_ioctl_send' at fs/btrfs/ioctl.c:4846:3:
> include/linux/fortify-string.h:219:4: error: call to '__write_overflow' declared with attribute error: detected write beyond size of object (1st parameter)
> 219 | __write_overflow();
> | ^~~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> c8d9cdfc766d ("btrfs: send: prepare for v2 protocol")
>
> This changes the "reserved" field of struct btrfs_ioctl_send_args from 4 u64's to 3, but the above memcpy is copying the "reserved" filed from a struct btrfs_ioctl_send_args_32 (4 u64s) into it.
>
> All I could really do at this point was mark BTRFS_FS as BROKEN
> (TEST_KMOD selects BTRFS_FS):
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Wed, 27 Oct 2021 20:53:24 +1100
> Subject: [PATCH] make btrfs as BROKEN due to an inconsistent API change
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> fs/btrfs/Kconfig | 1 +
> lib/Kconfig.debug | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
> index 520a0f6a7d9e..f7dd994a88af 100644
> --- a/fs/btrfs/Kconfig
> +++ b/fs/btrfs/Kconfig
> @@ -20,6 +20,7 @@ config BTRFS_FS
> select SRCU
> depends on !PPC_256K_PAGES # powerpc
> depends on !PAGE_SIZE_256KB # hexagon
> + depends on BROKEN
>
> help
> Btrfs is a general purpose copy-on-write filesystem with extents,
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 0104cafd403f..44a6df361016 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -2491,6 +2491,7 @@ config TEST_KMOD
> depends on m
> depends on NETDEVICES && NET_CORE && INET # for TUN
> depends on BLOCK
> + depends on BROKEN
> select TEST_LKM
> select XFS_FS
> select TUN
> --
> 2.33.0

Ping?

--
Cheers,
Stephen Rothwell

Attachment: pgpNyFng8PZgH.pgp
Description: OpenPGP digital signature