# git rev-parse -q --verify 6015b1aca1a233379625385feb01dd014aca60b5^{commit} 6015b1aca1a233379625385feb01dd014aca60b5 already have revision, skipping fetch # git checkout -q -f -B kisskb 6015b1aca1a233379625385feb01dd014aca60b5 # git clean -qxdf # < git log -1 # commit 6015b1aca1a233379625385feb01dd014aca60b5 # Author: Linus Torvalds # Date: Tue Mar 14 19:32:38 2023 -0700 # # sched_getaffinity: don't assume 'cpumask_size()' is fully initialized # # The getaffinity() system call uses 'cpumask_size()' to decide how big # the CPU mask is - so far so good. It is indeed the allocation size of a # cpumask. # # But the code also assumes that the whole allocation is initialized # without actually doing so itself. That's wrong, because we might have # fixed-size allocations (making copying and clearing more efficient), but # not all of it is then necessarily used if 'nr_cpu_ids' is smaller. # # Having checked other users of 'cpumask_size()', they all seem to be ok, # either using it purely for the allocation size, or explicitly zeroing # the cpumask before using the size in bytes to copy it. # # See for example the ublk_ctrl_get_queue_affinity() function that uses # the proper 'zalloc_cpumask_var()' to make sure that the whole mask is # cleared, whether the storage is on the stack or if it was an external # allocation. # # Fix this by just zeroing the allocation before using it. Do the same # for the compat version of sched_getaffinity(), which had the same logic. # # Also, for consistency, make sched_getaffinity() use 'cpumask_bits()' to # access the bits. For a cpumask_var_t, it ends up being a pointer to the # same data either way, but it's just a good idea to treat it like you # would a 'cpumask_t'. The compat case already did that. # # Reported-by: Ryan Roberts # Link: https://lore.kernel.org/lkml/7d026744-6bd6-6827-0471-b5e8eae0be3f@arm.com/ # Cc: Yury Norov # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 6015b1aca1a233379625385feb01dd014aca60b5 # < make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allyesconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # Added to kconfig CONFIG_BPF_PRELOAD=n # < make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:12931:warning: override: reassigning to symbol GCC_PLUGIN_SANCOV .config:12936:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:12938:warning: override: reassigning to symbol UML_NET_SLIP .config:12943:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from /kisskb/src/arch/um/os-Linux/execvp.c:24: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from /kisskb/src/arch/x86/um/os-Linux/registers.c:8: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ make[3]: *** [/kisskb/src/scripts/Makefile.build:252: arch/um/os-Linux/execvp.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:252: arch/x86/um/os-Linux/registers.o] Error 1 make[4]: *** Waiting for unfinished jobs.... In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from /kisskb/src/arch/x86/um/os-Linux/task_size.c:3: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ make[4]: *** [/kisskb/src/scripts/Makefile.build:252: arch/x86/um/os-Linux/task_size.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:494: arch/x86/um/os-Linux] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:494: arch/x86/um] Error 2 make[2]: *** Waiting for unfinished jobs.... In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from /kisskb/src/arch/um/os-Linux/skas/process.c:7: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ make[4]: *** [/kisskb/src/scripts/Makefile.build:252: arch/um/os-Linux/skas/process.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:494: arch/um/os-Linux/skas] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:494: arch/um/os-Linux] Error 2 In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from /kisskb/src/arch/um/drivers/fd.c:7: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ make[3]: *** [/kisskb/src/scripts/Makefile.build:252: arch/um/drivers/fd.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:494: arch/um/drivers] Error 2 In file included from /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:921:0, from arch/um/kernel/config.c:7: /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h: In function 'atof': /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/x86_64-buildroot-linux-gnu/sysroot/usr/include/bits/stdlib-float.h:27:1: error: SSE register return with SSE disabled { ^ make[3]: *** [/kisskb/src/scripts/Makefile.build:252: arch/um/kernel/config.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:494: arch/um/kernel] Error 2 /kisskb/src/fs/btrfs/send.c: In function 'get_cur_inode_state': /kisskb/src/fs/btrfs/send.c:1909:13: error: 'right_gen' may be used uninitialized in this function [-Werror=maybe-uninitialized] } else if (right_gen == gen) { ^ /kisskb/src/fs/btrfs/send.c: At top level: cc1: error: unrecognized command line option '-Wno-shift-negative-value' [-Werror] cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:252: fs/btrfs/send.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:494: fs/btrfs] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:494: fs] Error 2 make[1]: *** [/kisskb/src/Makefile:2028: .] Error 2 make: *** [Makefile:226: __sub-make] Error 2 Command 'make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_um-allyesconfig_um-x86_64 # Build took: 0:03:52.947509