[1/2] btrfs: avoid Wmaybe-uninitialized warnings

Message ID 20230705140117.795478-1-arnd@kernel.org
State New
Headers
Series [1/2] btrfs: avoid Wmaybe-uninitialized warnings |

Commit Message

Arnd Bergmann July 5, 2023, 2:01 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

The -Wmaybe-uninitialized warning option in gcc produces tons of false
positive warnings when KASAN is enabled, as that turns off some required
optimizations.

Rework the makefile to only enable the warning in btrfs when KASAN is
disabled, as it was before commit 78a5255ffb6a1 ("Stop the ad-hoc games
with -Wno-maybe-initialized") turned it off globally.

Fixes: 1ec49744ba83f ("btrfs: turn on -Wmaybe-uninitialized")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/btrfs/Makefile | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
  

Comments

David Sterba July 10, 2023, 4:55 p.m. UTC | #1
On Wed, Jul 05, 2023 at 04:01:08PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The -Wmaybe-uninitialized warning option in gcc produces tons of false
> positive warnings when KASAN is enabled, as that turns off some required
> optimizations.

Which version of gcc produces the warnings? I have KASAN enabled and
don't see any warnings, with gcc 13. Making the warning conditional
would effectively turn it off for me which means I can't catch the
warnings early. We do get reports from various build bots with
various arch/compiler combinations and fix the warnings.

If there's a know minimum compiler version where there are no reports
(or reasonably small nubmer to fix) then I'd rather make the condition
bassed on that, neither on KASAN nor any similar feature for that matter.
  
Arnd Bergmann July 10, 2023, 7:12 p.m. UTC | #2
On Mon, Jul 10, 2023, at 18:55, David Sterba wrote:
> On Wed, Jul 05, 2023 at 04:01:08PM +0200, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> The -Wmaybe-uninitialized warning option in gcc produces tons of false
>> positive warnings when KASAN is enabled, as that turns off some required
>> optimizations.
>
> Which version of gcc produces the warnings? I have KASAN enabled and
> don't see any warnings, with gcc 13. Making the warning conditional
> would effectively turn it off for me which means I can't catch the
> warnings early. We do get reports from various build bots with
> various arch/compiler combinations and fix the warnings.
>
> If there's a know minimum compiler version where there are no reports
> (or reasonably small nubmer to fix) then I'd rather make the condition
> bassed on that, neither on KASAN nor any similar feature for that matter.

As far as I can tell, this happens with every version of gcc.
What I think happens is that with any combination of compiler
flags and version, the code generation changes a little, so you
end up getting the warnings in different places, and one can
easily avoid them by adding fake initializers for a particular
configuration but not for other configurations.

If I run 100 randconfig builds with KASAN and btrfs force-enabled,
using gcc-13.1.0 like

for i in `seq 100` ; do
   make   -skj16 randconfig fs/btrfs/
done

building for arm32 (see below), I get maybe 20 failed builds, but
for x86 this is lower, maybe 2. I had attempted to work around
each one of the ones I saw, but ended up with a huge patch to
cover all architectures and compilers in random versions.

      Arnd

/home/arnd/arm-soc/fs/btrfs/scrub.c: In function 'scrub_simple_mirror.constprop':
/home/arnd/arm-soc/fs/btrfs/scrub.c:2014:16: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 2014 |         return ret;
      |                ^~~
KCONFIG_SEED=0xFF336D86
KCONFIG_SEED=0x8B05C4B2
KCONFIG_SEED=0x64310838
KCONFIG_SEED=0x3DB885EC
KCONFIG_SEED=0x983AF756
KCONFIG_SEED=0xEC0D51EC
KCONFIG_SEED=0xB1B553E8
KCONFIG_SEED=0x98E3861
KCONFIG_SEED=0xAC9172F6
KCONFIG_SEED=0xA2325450
KCONFIG_SEED=0x20E308F6
KCONFIG_SEED=0xC238FBF0
KCONFIG_SEED=0x791A0953
KCONFIG_SEED=0x55CE08D2
KCONFIG_SEED=0x6653C680
KCONFIG_SEED=0x52503183
KCONFIG_SEED=0x4D293618
KCONFIG_SEED=0x558D9E5B
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xBFB8CB20
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xB104EEBA
KCONFIG_SEED=0x80695891
KCONFIG_SEED=0xD82997F0
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_features':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_space_info':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xAA4AD4E2
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_features':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_space_info':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x6DA7D48C
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x26CA5A79
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2D2D44C
KCONFIG_SEED=0xD984DF1C
KCONFIG_SEED=0x9A330457
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4677:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xB1096B7E
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4677:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xAB63E698
KCONFIG_SEED=0xF60D4D80
KCONFIG_SEED=0x84787E6E
KCONFIG_SEED=0x39B76E26
KCONFIG_SEED=0x7266F10
KCONFIG_SEED=0xD08875AC
KCONFIG_SEED=0x4D8842C3
KCONFIG_SEED=0x29B7A4AC
KCONFIG_SEED=0xFED01A8F
KCONFIG_SEED=0x593CCD90
KCONFIG_SEED=0x9E8F768D
KCONFIG_SEED=0xB723335B
KCONFIG_SEED=0x6CE2500C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xD26AE43C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xF0EE3781
KCONFIG_SEED=0x2659EA00
KCONFIG_SEED=0x7A984178
KCONFIG_SEED=0x196A6EC8
KCONFIG_SEED=0xBBE97CCB
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xCA63D258
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE360B828
KCONFIG_SEED=0x8BB52CA0
KCONFIG_SEED=0x9703EBEB
KCONFIG_SEED=0xC05C41F5
KCONFIG_SEED=0x8BBA3CC8
KCONFIG_SEED=0xCC046259
KCONFIG_SEED=0xED4A6408
KCONFIG_SEED=0x8194C34E
KCONFIG_SEED=0x3A029C2A
KCONFIG_SEED=0xAEC7F728
KCONFIG_SEED=0x6B0212AD
KCONFIG_SEED=0xA88C8291
KCONFIG_SEED=0x3F5C676C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2271B29B
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x6D7C92C0
KCONFIG_SEED=0xE127F39C
KCONFIG_SEED=0x30223BC0
KCONFIG_SEED=0xFB06665A
KCONFIG_SEED=0xF3AEAD98
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xF2F46C48
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE6BC74C7
KCONFIG_SEED=0xC1487C18
KCONFIG_SEED=0xD4D4EAC8
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE1003AAC
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remadeKCONFIG_SEED=0x85E79AC8
KCONFIG_SEED=0x94D3F039
KCONFIG_SEED=0x9D4C8E40
KCONFIG_SEED=0x60B769E3
KCONFIG_SEED=0xC386D86
KCONFIG_SEED=0x835F94A2
KCONFIG_SEED=0xC0F21885
KCONFIG_SEED=0xC50925AF
KCONFIG_SEED=0xFA8DDB2F
KCONFIG_SEED=0x56B76368
KCONFIG_SEED=0x394DADE7
KCONFIG_SEED=0xE11A07BB
KCONFIG_SEED=0xE2D409F8
KCONFIG_SEED=0x3B78F3C8
KCONFIG_SEED=0xF9ED4A5C
KCONFIG_SEED=0xE16D18FC
KCONFIG_SEED=0x97A0B953
KCONFIG_SEED=0xDBF867A6
KCONFIG_SEED=0xB9D4F056
KCONFIG_SEED=0x8C44E1A

WARNING: unmet direct dependencies detected for SM_GCC_8450
  Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n])
  Selected by [m]:
  - SM_VIDEOCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]

WARNING: unmet direct dependencies detected for SM_GCC_8550
  Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n])
  Selected by [m]:
  - SM_VIDEOCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m]
KCONFIG_SEED=0xFF336D86
KCONFIG_SEED=0x8B05C4B2
KCONFIG_SEED=0x64310838
KCONFIG_SEED=0x3DB885EC
KCONFIG_SEED=0x983AF756
KCONFIG_SEED=0xEC0D51EC
KCONFIG_SEED=0xB1B553E8
KCONFIG_SEED=0x98E3861
KCONFIG_SEED=0xAC9172F6
KCONFIG_SEED=0xA2325450
KCONFIG_SEED=0x20E308F6
KCONFIG_SEED=0xC238FBF0
KCONFIG_SEED=0x791A0953
KCONFIG_SEED=0x55CE08D2
KCONFIG_SEED=0x6653C680
KCONFIG_SEED=0x52503183
KCONFIG_SEED=0x4D293618
KCONFIG_SEED=0x558D9E5B
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xBFB8CB20
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xB104EEBA
KCONFIG_SEED=0x80695891
KCONFIG_SEED=0xD82997F0
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_features':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_space_info':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xAA4AD4E2
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_features':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_space_info':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x6DA7D48C
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x26CA5A79
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2D2D44C
KCONFIG_SEED=0xD984DF1C
KCONFIG_SEED=0x9A330457
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4677:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xB1096B7E
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1741:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'sk' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1734:39: note: 'sk' declared here
 1734 |         struct btrfs_ioctl_search_key sk;
      |                                       ^~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_tree_search_v2' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:1773:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_tree_search_v2':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:1764:43: note: 'args' declared here
 1764 |         struct btrfs_ioctl_search_args_v2 args;
      |                                           ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_fslabel' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4127:6:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'label' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_set_fslabel':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4121:14: note: 'label' declared here
 4121 |         char label[BTRFS_LABEL_SIZE];
      |              ^~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_encoded_write.constprop' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4488:7:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl_encoded_write.constprop':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4448:44: note: 'args' declared here
 4448 |         struct btrfs_ioctl_encoded_io_args args;
      |                                            ^~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_set_features' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4271:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4677:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'flags' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:4263:42: note: 'flags' declared here
 4263 |         struct btrfs_ioctl_feature_flags flags[2];
      |                                          ^~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xAB63E698
KCONFIG_SEED=0xF60D4D80
KCONFIG_SEED=0x84787E6E
KCONFIG_SEED=0x39B76E26
KCONFIG_SEED=0x7266F10
KCONFIG_SEED=0xD08875AC
KCONFIG_SEED=0x4D8842C3
KCONFIG_SEED=0x29B7A4AC
KCONFIG_SEED=0xFED01A8F
KCONFIG_SEED=0x593CCD90
KCONFIG_SEED=0x9E8F768D
KCONFIG_SEED=0xB723335B
KCONFIG_SEED=0x6CE2500C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xD26AE43C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xF0EE3781
KCONFIG_SEED=0x2659EA00
KCONFIG_SEED=0x7A984178
KCONFIG_SEED=0x196A6EC8
KCONFIG_SEED=0xBBE97CCB
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xCA63D258
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE360B828
KCONFIG_SEED=0x8BB52CA0
KCONFIG_SEED=0x9703EBEB
KCONFIG_SEED=0xC05C41F5
KCONFIG_SEED=0x8BBA3CC8
KCONFIG_SEED=0xCC046259
KCONFIG_SEED=0xED4A6408
KCONFIG_SEED=0x8194C34E
KCONFIG_SEED=0x3A029C2A
KCONFIG_SEED=0xAEC7F728
KCONFIG_SEED=0x6B0212AD
KCONFIG_SEED=0xA88C8291
KCONFIG_SEED=0x3F5C676C
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2271B29B
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x6D7C92C0
KCONFIG_SEED=0xE127F39C
KCONFIG_SEED=0x30223BC0
KCONFIG_SEED=0xFB06665A
KCONFIG_SEED=0xF3AEAD98
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xF2F46C48
In file included from /home/arnd/arm-soc/include/asm-generic/rwonce.h:26,
                 from ./arch/arm/include/generated/asm/rwonce.h:1,
                 from /home/arnd/arm-soc/include/linux/compiler.h:246,
                 from /home/arnd/arm-soc/include/linux/export.h:5,
                 from /home/arnd/arm-soc/include/linux/linkage.h:7,
                 from /home/arnd/arm-soc/include/linux/kernel.h:17,
                 from /home/arnd/arm-soc/fs/btrfs/ioctl.c:6:
In function 'instrument_copy_from_user_before',
    inlined from '_copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:148:3,
    inlined from 'copy_from_user' at /home/arnd/arm-soc/include/linux/uaccess.h:183:7,
    inlined from 'btrfs_ioctl_space_info' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:2993:6,
    inlined from 'btrfs_ioctl' at /home/arnd/arm-soc/fs/btrfs/ioctl.c:4610:10:
/home/arnd/arm-soc/include/linux/kasan-checks.h:38:27: error: 'space_args' may be used uninitialized [-Werror=maybe-uninitialized]
   38 | #define kasan_check_write __kasan_check_write
/home/arnd/arm-soc/include/linux/instrumented.h:129:9: note: in expansion of macro 'kasan_check_write'
  129 |         kasan_check_write(to, n);
      |         ^~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/include/linux/kasan-checks.h: In function 'btrfs_ioctl':
/home/arnd/arm-soc/include/linux/kasan-checks.h:20:6: note: by argument 1 of type 'const volatile void *' to '__kasan_check_write' declared here
   20 | bool __kasan_check_write(const volatile void *p, unsigned int size);
      |      ^~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/ioctl.c:2975:39: note: 'space_args' declared here
 2975 |         struct btrfs_ioctl_space_args space_args;
      |                                       ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/ioctl.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE6BC74C7
KCONFIG_SEED=0xC1487C18
KCONFIG_SEED=0xD4D4EAC8
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0xE1003AAC
/home/arnd/arm-soc/fs/btrfs/tree-log.c: In function 'btrfs_log_prealloc_extents':
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4828:23: error: 'start_slot' may be used uninitialized [-Werror=maybe-uninitialized]
 4828 |                 ret = copy_items(trans, inode, dst_path, path,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4829 |                                  start_slot, ins_nr, 1, 0);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/arnd/arm-soc/fs/btrfs/tree-log.c:4725:13: note: 'start_slot' was declared here
 4725 |         int start_slot;
      |             ^~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/home/arnd/arm-soc/scripts/Makefile.build:243: fs/btrfs/tree-log.o] Error 1
make[6]: Target 'fs/btrfs/' not remade because of errors.
make[5]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs/btrfs] Error 2
make[5]: Target 'fs/btrfs/' not remade because of errors.
make[4]: *** [/home/arnd/arm-soc/scripts/Makefile.build:477: fs] Error 2
make[4]: Target 'fs/btrfs/' not remade because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2BD778F8
KCONFIG_SEED=0xEC319E0E
KCONFIG_SEED=0xED473D40
KCONFIG_SEED=0x2F7A7070
KCONFIG_SEED=0xA58A4FCA
 because of errors.
make[3]: *** [/home/arnd/arm-soc/Makefile:1934: .] Error 2
make[3]: Target 'fs/btrfs/' not remade because of errors.
make[2]: *** [/home/arnd/arm-soc/Makefile:234: __sub-make] Error 2
make[2]: Target 'fs/btrfs/' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'fs/btrfs/' not remade because of errors.
make: *** [makefile:163: fs/btrfs/] Error 2
KCONFIG_SEED=0x2BD778F8
KCONFIG_SEED=0xEC319E0E
KCONFIG_SEED=0xED473D40
KCONFIG_SEED=0x2F7A7070
KCONFIG_SEED=0xA58A4FCA
  
Arnd Bergmann July 10, 2023, 7:25 p.m. UTC | #3
On Mon, Jul 10, 2023, at 21:12, Arnd Bergmann wrote:
>
> building for arm32 (see below), I get maybe 20 failed builds, but
> for x86 this is lower, maybe 2. I had attempted to work around
> each one of the ones I saw, but ended up with a huge patch to
> cover all architectures and compilers in random versions.

FWIW, this is the last version of my workaround patch from January
before I gave up on trying to fix all the btrfs warnings on
uninitialized variables.

     Arnd

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index db79e6b0a693f..ab2e54930ee5f 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -5656,7 +5656,7 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry)
 	struct inode *inode;
 	struct btrfs_root *root = BTRFS_I(dir)->root;
 	struct btrfs_root *sub_root = root;
-	struct btrfs_key location;
+	struct btrfs_key location = {};
 	u8 di_type = 0;
 	int ret = 0;
 
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index ba769a1eb87ab..79e0c3a14c7fd 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1730,7 +1730,7 @@ static noinline int btrfs_ioctl_tree_search(struct inode *inode,
 					    void __user *argp)
 {
 	struct btrfs_ioctl_search_args __user *uargs = argp;
-	struct btrfs_ioctl_search_key sk;
+	struct btrfs_ioctl_search_key sk = {};
 	int ret;
 	size_t buf_size;
 
@@ -1760,7 +1760,7 @@ static noinline int btrfs_ioctl_tree_search_v2(struct inode *inode,
 					       void __user *argp)
 {
 	struct btrfs_ioctl_search_args_v2 __user *uarg = argp;
-	struct btrfs_ioctl_search_args_v2 args;
+	struct btrfs_ioctl_search_args_v2 args = {};
 	int ret;
 	size_t buf_size;
 	const size_t buf_limit = SZ_16M;
@@ -2971,7 +2971,7 @@ static void get_block_group_info(struct list_head *groups_list,
 static long btrfs_ioctl_space_info(struct btrfs_fs_info *fs_info,
 				   void __user *arg)
 {
-	struct btrfs_ioctl_space_args space_args;
+	struct btrfs_ioctl_space_args space_args = {};
 	struct btrfs_ioctl_space_info space;
 	struct btrfs_ioctl_space_info *dest;
 	struct btrfs_ioctl_space_info *dest_orig;
@@ -3132,7 +3132,7 @@ static noinline long btrfs_ioctl_start_sync(struct btrfs_root *root,
 static noinline long btrfs_ioctl_wait_sync(struct btrfs_fs_info *fs_info,
 					   void __user *argp)
 {
-	u64 transid;
+	u64 transid = 0;
 
 	if (argp) {
 		if (copy_from_user(&transid, argp, sizeof(transid)))
@@ -4106,7 +4106,7 @@ static int btrfs_ioctl_set_fslabel(struct file *file, void __user *arg)
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	struct btrfs_super_block *super_block = fs_info->super_copy;
 	struct btrfs_trans_handle *trans;
-	char label[BTRFS_LABEL_SIZE];
+	char label[BTRFS_LABEL_SIZE] = {};
 	int ret;
 
 	if (!capable(CAP_SYS_ADMIN))
@@ -4248,7 +4248,7 @@ static int btrfs_ioctl_set_features(struct file *file, void __user *arg)
 	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	struct btrfs_super_block *super_block = fs_info->super_copy;
-	struct btrfs_ioctl_feature_flags flags[2];
+	struct btrfs_ioctl_feature_flags flags[2] = {};
 	struct btrfs_trans_handle *trans;
 	u64 newflags;
 	int ret;
@@ -4320,7 +4320,7 @@ static int _btrfs_ioctl_send(struct inode *inode, void __user *argp, bool compat
 
 	if (compat) {
 #if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
-		struct btrfs_ioctl_send_args_32 args32;
+		struct btrfs_ioctl_send_args_32 args32 = {};
 
 		ret = copy_from_user(&args32, argp, sizeof(args32));
 		if (ret)
@@ -4369,7 +4369,7 @@ static int btrfs_ioctl_encoded_read(struct file *file, void __user *argp,
 
 	if (compat) {
 #if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
-		struct btrfs_ioctl_encoded_io_args_32 args32;
+		struct btrfs_ioctl_encoded_io_args_32 args32 = {};
 
 		copy_end = offsetofend(struct btrfs_ioctl_encoded_io_args_32,
 				       flags);
@@ -4433,7 +4433,7 @@ static int btrfs_ioctl_encoded_read(struct file *file, void __user *argp,
 
 static int btrfs_ioctl_encoded_write(struct file *file, void __user *argp, bool compat)
 {
-	struct btrfs_ioctl_encoded_io_args args;
+	struct btrfs_ioctl_encoded_io_args args = {};
 	struct iovec iovstack[UIO_FASTIOV];
 	struct iovec *iov = iovstack;
 	struct iov_iter iter;
@@ -4453,7 +4453,7 @@ static int btrfs_ioctl_encoded_write(struct file *file, void __user *argp, bool
 
 	if (compat) {
 #if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
-		struct btrfs_ioctl_encoded_io_args_32 args32;
+		struct btrfs_ioctl_encoded_io_args_32 args32 = {};
 
 		if (copy_from_user(&args32, argp, sizeof(args32))) {
 			ret = -EFAULT;
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index f41da7ac360d8..e93583f3f928b 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -4362,6 +4362,10 @@ int btrfs_qgroup_trace_subtree_after_cow(struct btrfs_trans_handle *trans,
 	}
 	node = blocks->blocks[level].rb_node;
 
+	if (!node) {
+		spin_unlock(&blocks->lock);
+		goto out;
+	}
 	while (node) {
 		block = rb_entry(node, struct btrfs_qgroup_swapped_block, node);
 		if (block->subvol_bytenr < subvol_eb->start) {
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index e5c963bb873db..af2e153543a5c 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -1875,7 +1875,7 @@ static int get_cur_inode_state(struct send_ctx *sctx, u64 ino, u64 gen,
 	int left_ret;
 	int right_ret;
 	u64 left_gen;
-	u64 right_gen;
+	u64 right_gen = 0;
 	struct btrfs_inode_info info;
 
 	ret = get_inode_info(sctx->send_root, ino, &info);
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index de96d26f81f64..43b200102d1e6 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2618,7 +2618,7 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path
 	struct block_device *bdev;
 	struct super_block *sb = fs_info->sb;
 	struct btrfs_fs_devices *fs_devices = fs_info->fs_devices;
-	struct btrfs_fs_devices *seed_devices;
+	struct btrfs_fs_devices *seed_devices = NULL;
 	u64 orig_super_total_bytes;
 	u64 orig_super_num_devices;
 	int ret = 0;
  

Patch

diff --git a/fs/btrfs/Makefile b/fs/btrfs/Makefile
index 90d53209755bf..a4927bf2ce7ee 100644
--- a/fs/btrfs/Makefile
+++ b/fs/btrfs/Makefile
@@ -11,8 +11,12 @@  condflags := \
 	$(call cc-option, -Wunused-but-set-variable)		\
 	$(call cc-option, -Wunused-const-variable)		\
 	$(call cc-option, -Wpacked-not-aligned)			\
-	$(call cc-option, -Wstringop-truncation)		\
-	$(call cc-option, -Wmaybe-uninitialized)
+	$(call cc-option, -Wstringop-truncation)
+
+ifndef CONFIG_KASAN
+conflags += $(call cc-option, -Wmaybe-uninitialized)
+endif
+
 subdir-ccflags-y += $(condflags)
 # The following turn off the warnings enabled by -Wextra
 subdir-ccflags-y += -Wno-missing-field-initializers