# git rev-parse -q --verify bb5a93aaf25261321db0c499cde7da6ee9d8b164^{commit} bb5a93aaf25261321db0c499cde7da6ee9d8b164 already have revision, skipping fetch # git checkout -q -f -B kisskb bb5a93aaf25261321db0c499cde7da6ee9d8b164 # git clean -qxdf # < git log -1 # commit bb5a93aaf25261321db0c499cde7da6ee9d8b164 # Author: Linus Torvalds # Date: Sun Jul 5 12:50:20 2020 -0700 # # x86/ldt: use "pr_info_once()" instead of open-coding it badly # # Using a mutex for "print this warning only once" is so overdesigned as # to be actively offensive to my sensitive stomach. # # Just use "pr_info_once()" that already does this, although in a # (harmlessly) racy manner that can in theory cause the message to be # printed twice if more than one CPU races on that "is this the first # time" test. # # [ If somebody really cares about that harmless data race (which sounds # very unlikely indeed), that person can trivially fix printk_once() by # using a simple atomic access, preferably with an optimistic non-atomic # test first before even bothering to treat the pointless "make sure it # is _really_ just once" case. # # A mutex is most definitely never the right primitive to use for # something like this. ] # # Yes, this is a small and meaningless detail in a code path that hardly # matters. But let's keep some code quality standards here, and not # accept outrageously bad code. # # Link: https://lore.kernel.org/lkml/CAHk-=wgV9toS7GU3KmNpj8hCS9SeF+A0voHS8F275_mgLhL4Lw@mail.gmail.com/ # Cc: Andy Lutomirski # Cc: Thomas Gleixner # Cc: Peter Zijlstra (Intel) # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 bb5a93aaf25261321db0c499cde7da6ee9d8b164 # < make -s -j 48 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- randconfig KCONFIG_SEED=0xFBA3AB75 # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # < make -s -j 48 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- help # make -s -j 48 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- olddefconfig .config:6285:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD # make -s -j 48 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/qcom/ipq6018.dtsi:127.3-14: Warning (dma_ranges_format): /soc:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/fs/ntfs/aops.c: In function 'ntfs_write_mst_block': /kisskb/src/fs/ntfs/aops.c:1311:1: warning: the frame size of 2224 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ In file included from /kisskb/src/include/linux/build_bug.h:5:0, from /kisskb/src/include/linux/bitfield.h:10, from /kisskb/src/drivers/phy/intel/phy-intel-combo.c:8: /kisskb/src/drivers/phy/intel/phy-intel-combo.c: In function 'combo_phy_w32_off_mask': /kisskb/src/include/linux/compiler.h:392:38: error: call to '__compiletime_assert_262' declared with attribute error: FIELD_PREP: mask is not constant _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/compiler.h:373:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^ /kisskb/src/include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ /kisskb/src/include/linux/bitfield.h:46:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__builtin_constant_p(_mask), \ ^ /kisskb/src/include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ ^ /kisskb/src/drivers/phy/intel/phy-intel-combo.c:137:13: note: in expansion of macro 'FIELD_PREP' reg_val |= FIELD_PREP(mask, val); ^ /kisskb/src/include/linux/compiler.h:392:38: error: call to '__compiletime_assert_263' declared with attribute error: FIELD_PREP: mask is zero _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/compiler.h:373:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^ /kisskb/src/include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ /kisskb/src/include/linux/bitfield.h:48:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG((_mask) == 0, _pfx "mask is zero"); \ ^ /kisskb/src/include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ ^ /kisskb/src/drivers/phy/intel/phy-intel-combo.c:137:13: note: in expansion of macro 'FIELD_PREP' reg_val |= FIELD_PREP(mask, val); ^ /kisskb/src/include/linux/compiler.h:392:38: error: call to '__compiletime_assert_266' declared with attribute error: BUILD_BUG_ON failed: (((mask) + (1ULL << (__builtin_ffsll(mask) - 1))) & (((mask) + (1ULL << (__builtin_ffsll(mask) - 1))) - 1)) != 0 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/compiler.h:373:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^ /kisskb/src/include/linux/compiler.h:392:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ /kisskb/src/include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^ /kisskb/src/include/linux/build_bug.h:21:2: note: in expansion of macro 'BUILD_BUG_ON' BUILD_BUG_ON(((n) & ((n) - 1)) != 0) ^ /kisskb/src/include/linux/bitfield.h:54:3: note: in expansion of macro '__BUILD_BUG_ON_NOT_POWER_OF_2' __BUILD_BUG_ON_NOT_POWER_OF_2((_mask) + \ ^ /kisskb/src/include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ ^ /kisskb/src/drivers/phy/intel/phy-intel-combo.c:137:13: note: in expansion of macro 'FIELD_PREP' reg_val |= FIELD_PREP(mask, val); ^ make[4]: *** [/kisskb/src/scripts/Makefile.build:281: drivers/phy/intel/phy-intel-combo.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:497: drivers/phy/intel] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:497: drivers/phy] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1756: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 48 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc5.4 # Build took: 0:01:28.937774