# git rev-parse -q --verify d3110f256d126b44d34c1f662310cd295877c447^{commit} d3110f256d126b44d34c1f662310cd295877c447 already have revision, skipping fetch # git checkout -q -f -B kisskb d3110f256d126b44d34c1f662310cd295877c447 # git clean -qxdf # < git log -1 # commit d3110f256d126b44d34c1f662310cd295877c447 # Merge: d0df9aabefda ee2e3f50629f # Author: Linus Torvalds # Date: Wed Mar 10 10:01:35 2021 -0800 # # Merge tag 'for-linus-2021-03-10' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux # # Pull detached mounts fix from Christian Brauner: # "Creating a series of detached mounts, attaching them to the # filesystem, and unmounting them can be used to trigger an integer # overflow in ns->mounts causing the kernel to block any new mounts in # count_mounts() and returning ENOSPC because it falsely assumes that # the maximum number of mounts in the mount namespace has been reached, # i.e. it thinks it can't fit the new mounts into the mount namespace # anymore. # # Without this fix heavy use of the new mount API with move_mount() will # cause the host to become unuseable and thus blocks some xfstest # patches I want to resend. # # Depending on the number of mounts in your system, this can be # reproduced on any kernel that supportes open_tree() and move_mount(). # # A reproducer has been sent for inclusion with xfstests. It takes care # to do this in another mount namespace, not in the host's mount # namespace so there shouldn't be any risk in running it but if one did # run it on the host it would require a reboot in order to be able to # mount again. See # # https://lore.kernel.org/fstests/20210309121041.753359-1-christian.brauner@ubuntu.com # # The root cause of this is that detached mounts aren't handled # correctly when source and target mount are identical and reside on a # shared mount causing a broken mount tree where the detached source # itself is propagated which propagation prevents for regular # bind-mounts and new mounts. # # This ultimately leads to a miscalculation of the number of mounts in # the mount namespace. # # Detached mounts created via 'open_tree(fd, path, OPEN_TREE_CLONE)' are # essentially like an unattached bind-mount. They can then later on be # attached to the filesystem via move_mount() which calls into # attach_recursive_mount(). # # Part of attaching it to the filesystem is making sure that mounts get # correctly propagated in case the destination mountpoint is MS_SHARED, # i.e. is a shared mountpoint. This is done by calling into # propagate_mnt() which walks the list of peers calling propagate_one() # on each mount in this list making sure it receives the propagation # event. The propagate_one() function thereby skips both new mounts and # bind mounts to not propagate them "into themselves". Both are # identified by checking whether the mount is already attached to any # mount namespace in mnt->mnt_ns. The is what the IS_MNT_NEW() helper is # responsible for. # # However, detached mounts have an anonymous mount namespace attached to # them stashed in mnt->mnt_ns which means that IS_MNT_NEW() doesn't # realize they need to be skipped causing the mount to propagate "into # itself" breaking the mount table and causing a disconnect between the # number of mounts recorded as being beneath or reachable from the # target mountpoint and the number of mounts actually recorded/counted # in ns->mounts ultimately causing an overflow which in turn prevents # any new mounts via the ENOSPC issue. # # So teach propagation to handle detached mounts by making it aware of # them. I've been tracking this issue down for the last couple of days # and then verifying that the fix is correct by unmounting everything in # my current mount table leaving only /proc and /sys mounted and running # the reproducer above overnight verifying the number of mounts counted # in ns->mounts. With this fix the counts are correct and the ENOSPC # issue can't be reproduced. # # This change will only have an effect on mounts created with the new # mount API since detached mounts cannot be created with the old mount # API so regressions are extremely unlikely. # # Here's an illustration: # # #### mount(): # ubuntu@f1-vm:~$ sudo mount --bind /mnt/ /mnt/ # ubuntu@f1-vm:~$ findmnt | grep -i mnt # ├─/mnt /dev/sda2[/mnt] ext4 rw,relatime # # #### open_tree(OPEN_TREE_CLONE) + move_mount() with bug: # ubuntu@f1-vm:~$ sudo ./mount-new /mnt/ /mnt/ # ubuntu@f1-vm:~$ findmnt | grep -i mnt # ├─/mnt /dev/sda2[/mnt] ext4 rw,relatime # │ └─/mnt /dev/sda2[/mnt] ext4 rw,relatime # # #### open_tree(OPEN_TREE_CLONE) + move_mount() with the fix: # ubuntu@f1-vm:~$ sudo ./mount-new /mnt /mnt # ubuntu@f1-vm:~$ findmnt | grep -i mnt # └─/mnt /dev/sda2[/mnt] ext4 rw,relatime" # # * tag 'for-linus-2021-03-10' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux: # mount: fix mounting of detached mounts onto targets that reside on shared mounts # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 d3110f256d126b44d34c1f662310cd295877c447 # < make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MIPS_CPS_NS16550_BASE=0x1b0003f8 # Added to kconfig CONFIG_MIPS_CPS_NS16550_SHIFT=0 # < make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux- help # make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux- olddefconfig .config:12924:warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT # make -s -j 120 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/mips-linux- In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/latent_entropy_plugin.c:78: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:29, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/latent_entropy_plugin.c:78: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/mips/mips.h:2791:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf (STREAM, "\t.space\t"HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)) ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:43, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/latent_entropy_plugin.c:78: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/sancov_plugin.c:22: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:29, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/sancov_plugin.c:22: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/mips/mips.h:2791:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf (STREAM, "\t.space\t"HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)) ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:43, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/sancov_plugin.c:22: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/structleak_plugin.c:32: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:29, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/structleak_plugin.c:32: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/mips/mips.h:2791:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf (STREAM, "\t.space\t"HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)) ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:43, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/structleak_plugin.c:32: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:23, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/randomize_layout_plugin.c:19: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\ ^ /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:29, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/randomize_layout_plugin.c:19: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/config/mips/mips.h:2791:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf (STREAM, "\t.space\t"HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)) ^ In file included from /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/tm.h:43, from /kisskb/src/scripts/gcc-plugins/gcc-common.h:15, from /kisskb/src/scripts/gcc-plugins/randomize_layout_plugin.c:19: /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/mips-linux/bin/../lib/gcc/mips-linux/4.9.4/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ ^ cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' cc1plus: warning: unrecognized command line option '-Wno-format-diag' /kisskb/src/drivers/soc/qcom/pdr_interface.c: In function 'pdr_restart_pd': /kisskb/src/drivers/soc/qcom/pdr_interface.c:572:9: warning: missing braces around initializer [-Wmissing-braces] struct servreg_restart_pd_req req = { 0 }; ^ /kisskb/src/drivers/soc/qcom/pdr_interface.c:572:9: warning: (near initialization for 'req.service_path') [-Wmissing-braces] /kisskb/src/drivers/clk/xilinx/xlnx_vcu.c: In function 'xvcu_register_clock_provider': /kisskb/src/drivers/clk/xilinx/xlnx_vcu.c:524:9: warning: missing braces around initializer [-Wmissing-braces] struct clk_parent_data parent_data[2] = { 0 }; ^ /kisskb/src/drivers/clk/xilinx/xlnx_vcu.c:524:9: warning: (near initialization for 'parent_data[0]') [-Wmissing-braces] /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^ /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c: In function 'zynqmp_dp_update_vs_emph': /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c:667:9: warning: missing braces around initializer [-Wmissing-braces] union phy_configure_opts opts = { 0 }; ^ /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c:667:9: warning: (near initialization for 'opts.mipi_dphy') [-Wmissing-braces] In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:28:0, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/bcm1480_scd.h:261:0: warning: "M_SPC_CFG_CLEAR" redefined #define M_SPC_CFG_CLEAR M_BCM1480_SPC_CFG_CLEAR ^ In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:27:0, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/sb1250_scd.h:392:0: note: this is the location of the previous definition #define M_SPC_CFG_CLEAR _SB_MAKEMASK1(32) ^ In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:28:0, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/bcm1480_scd.h:262:0: warning: "M_SPC_CFG_ENABLE" redefined #define M_SPC_CFG_ENABLE M_BCM1480_SPC_CFG_ENABLE ^ In file included from /kisskb/src/arch/mips/include/asm/sibyte/sb1250.h:27:0, from /kisskb/src/drivers/watchdog/sb_wdog.c:58: /kisskb/src/arch/mips/include/asm/sibyte/sb1250_scd.h:393:0: note: this is the location of the previous definition #define M_SPC_CFG_ENABLE _SB_MAKEMASK1(33) ^ /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c: In function 'cxgb4_write_partial_sgl': /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c:910:9: warning: missing braces around initializer [-Wmissing-braces] struct ulptx_sge_pair buf[MAX_SKB_FRAGS / 2 + 1] = {0}, *to; ^ /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c:910:9: warning: (near initialization for 'buf[0]') [-Wmissing-braces] /kisskb/src/drivers/net/ethernet/freescale/enetc/enetc_pf.c: In function 'enetc_init_port_rfs_memory': /kisskb/src/drivers/net/ethernet/freescale/enetc/enetc_pf.c:1044:9: warning: missing braces around initializer [-Wmissing-braces] struct enetc_cmd_rfse rfse = {0}; ^ /kisskb/src/drivers/net/ethernet/freescale/enetc/enetc_pf.c:1044:9: warning: (near initialization for 'rfse.smac_h') [-Wmissing-braces] /kisskb/src/lib/bitfield_kunit.c: In function 'test_bitfields_constants': /kisskb/src/lib/bitfield_kunit.c:93:1: warning: the frame size of 4224 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ /kisskb/src/fs/btrfs/tree-checker.c: In function 'check_root_item': /kisskb/src/fs/btrfs/tree-checker.c:1071:9: warning: missing braces around initializer [-Wmissing-braces] struct btrfs_root_item ri = { 0 }; ^ /kisskb/src/fs/btrfs/tree-checker.c:1071:9: warning: (near initialization for 'ri.inode') [-Wmissing-braces] /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c: In function 'is1_entry_set': /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: missing braces around initializer [-Wmissing-braces] struct ocelot_vcap_u16 etype = {0}; ^ /kisskb/src/drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: (near initialization for 'etype.value') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:932:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:932:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:952:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:952:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:970:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:970:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:984:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:984:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha1_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1606:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1606:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha256_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1622:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1622:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha512_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1638:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1638:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha1_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1867:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1867:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha256_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1880:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1880:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/media/i2c/imx334.c: In function 'imx334_read_reg': /kisskb/src/drivers/media/i2c/imx334.c:288:9: warning: missing braces around initializer [-Wmissing-braces] struct i2c_msg msgs[2] = {0}; ^ /kisskb/src/drivers/media/i2c/imx334.c:288:9: warning: (near initialization for 'msgs[0]') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c: In function 'navi10_get_gpu_metrics': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c:2297:2: warning: missing braces around initializer [-Wmissing-braces] SmuMetrics_NV12_t nv12_metrics = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.c:2297:2: warning: (near initialization for 'nv12_metrics.CurrClock') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c: In function 'amdgpu_dm_psr_enable': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9853:9: warning: missing braces around initializer [-Wmissing-braces] struct dc_static_screen_params params = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9853:9: warning: (near initialization for 'params.triggers') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c: In function 'bios_parser_get_i2c_info': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c:297:9: warning: missing braces around initializer [-Wmissing-braces] struct atom_i2c_record dummy_record = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.c:297:9: warning: (near initialization for 'dummy_record.record_header') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn20.c: In function 'dmub_dcn20_enable_dmub_boot_options': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn20.c:333:8: warning: missing braces around initializer [-Wmissing-braces] union dmub_fw_boot_options boot_options = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn20.c:333:8: warning: (near initialization for 'boot_options.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: In function 'commit_planes_for_stream': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2483:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2483:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2664:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2664:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: In function 'dp_test_get_audio_test_data': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2821:8: warning: missing braces around initializer [-Wmissing-braces] union audio_test_mode dpcd_test_mode = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2821:8: warning: (near initialization for 'dpcd_test_mode.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2823:8: warning: missing braces around initializer [-Wmissing-braces] union audio_test_pattern_period dpcd_pattern_period[AUDIO_CHANNELS_COUNT] = {0}; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:2823:8: warning: (near initialization for 'dpcd_pattern_period[0]') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: In function 'dc_link_dp_set_test_pattern': /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4161:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4161:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4205:11: warning: missing braces around initializer [-Wmissing-braces] union dmub_hw_lock_flags hw_locks = { 0 }; ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4205:11: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces] FIT description: Linux 5.12.0-rc2+ Created: Thu Mar 11 07:57:06 2021 Image 0 (kernel@0) Description: Linux 5.12.0-rc2+ Created: Thu Mar 11 07:57:06 2021 Type: Kernel Image Compression: gzip compressed Data Size: 9673727 Bytes = 9447.00 KiB = 9.23 MiB Architecture: MIPS OS: Linux Load Address: 0x84000000 Entry Point: 0x851ea960 Hash algo: sha1 Hash value: 963155f36c324548061df0e21f52c209527f0951 Image 1 (fdt@boston) Description: img,boston Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 3793 Bytes = 3.70 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 4799f50d688573234da6e9d7701234d394759ef4 Image 2 (fdt@ni169445) Description: NI 169445 device tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 1871 Bytes = 1.83 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 51b89b31605ee62038c8468c429af091dfc75ec7 Image 3 (fdt@ocelot_pcb123) Description: MSCC Ocelot PCB123 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4659 Bytes = 4.55 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 5bcb6e4f21e8e5372544aa130b3bd097355a9050 Image 4 (fdt@ocelot_pcb120) Description: MSCC Ocelot PCB120 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 5418 Bytes = 5.29 KiB = 0.01 MiB Architecture: MIPS Hash algo: sha1 Hash value: 93d882f2009a217e0fa9dab94788535ed2be8476 Image 5 (fdt@luton_pcb091) Description: MSCC Luton PCB091 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 2303 Bytes = 2.25 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: daa8a8147bbce692d81383af7b748a763212bb24 Image 6 (fdt@jaguar2_pcb110) Description: MSCC Jaguar2 PCB110 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 7509 Bytes = 7.33 KiB = 0.01 MiB Architecture: MIPS Hash algo: sha1 Hash value: 73c08d98d7aaf64b3e82483d33954c951cfb8067 Image 7 (fdt@jaguar2_pcb111) Description: MSCC Jaguar2 PCB111 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4581 Bytes = 4.47 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: d8ab1c8279a311c512005c256502f85a33651fe9 Image 8 (fdt@serval_pcb105) Description: MSCC Serval PCB105 Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 4545 Bytes = 4.44 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 372c736c817c1313650e487910d7b94a32816bd7 Image 9 (fdt@xilfpga) Description: MIPSfpga (xilfpga) Device Tree Created: Thu Mar 11 07:57:06 2021 Type: Flat Device Tree Compression: uncompressed Data Size: 2708 Bytes = 2.64 KiB = 0.00 MiB Architecture: MIPS Hash algo: sha1 Hash value: 63d058b780f65e22da30f0a183433765f1807f1d Default Configuration: 'conf@default' Configuration 0 (conf@default) Description: Generic Linux kernel Kernel: kernel@0 Configuration 1 (conf@boston) Description: Boston Linux kernel Kernel: kernel@0 FDT: fdt@boston Configuration 2 (conf@ni169445) Description: NI 169445 Linux Kernel Kernel: kernel@0 FDT: fdt@ni169445 Configuration 3 (conf@ocelot_pcb123) Description: Ocelot Linux kernel Kernel: kernel@0 FDT: fdt@ocelot_pcb123 Configuration 4 (conf@ocelot_pcb120) Description: Ocelot Linux kernel Kernel: kernel@0 FDT: fdt@ocelot_pcb120 Configuration 5 (pcb091) Description: Luton Linux kernel Kernel: kernel@0 FDT: fdt@luton_pcb091 Configuration 6 (pcb110) Description: Jaguar2 Linux kernel Kernel: kernel@0 Init Ramdisk: ramdisk FDT: fdt@jaguar2_pcb110 Configuration 7 (pcb111) Description: Jaguar2 Linux kernel Kernel: kernel@0 Init Ramdisk: ramdisk FDT: fdt@jaguar2_pcb111 Configuration 8 (pcb105) Description: Serval Linux kernel Kernel: kernel@0 Init Ramdisk: ramdisk FDT: fdt@serval_pcb105 Configuration 9 (conf@xilfpga) Description: MIPSfpga Linux kernel Kernel: kernel@0 FDT: fdt@xilfpga Completed OK # rm -rf /kisskb/build/linus_mips-allmodconfig_mips-gcc4.9 # Build took: 0:11:55.536653