On Fri, Oct 29, 2021 at 11:52:26AM +0200, David Sterba wrote: > On Wed, Oct 27, 2021 at 09:09:24PM +1100, Stephen Rothwell wrote: > > Hi all, > > > > [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. > > I'll fix it in the next update. There are two structures for the ioctl > that need to be in sync but I forgot to do that. Now pushed with top commit 764ada31357678. Also I think that next time you can use some older version of the for-next branch instead of making the whole subsystem depend on BROKEN. This causes much more harm in the testing setups that suddenly can't work at all, compared to testing a few days older branch.