# git rev-parse -q --verify d4252071b97d2027d246f6a82cbee4d52f618b47^{commit} d4252071b97d2027d246f6a82cbee4d52f618b47 already have revision, skipping fetch # git checkout -q -f -B kisskb d4252071b97d2027d246f6a82cbee4d52f618b47 # git clean -qxdf # < git log -1 # commit d4252071b97d2027d246f6a82cbee4d52f618b47 # Author: Mikulas Patocka # Date: Tue Aug 9 14:32:13 2022 -0400 # # add barriers to buffer_uptodate and set_buffer_uptodate # # Let's have a look at this piece of code in __bread_slow: # # get_bh(bh); # bh->b_end_io = end_buffer_read_sync; # submit_bh(REQ_OP_READ, 0, bh); # wait_on_buffer(bh); # if (buffer_uptodate(bh)) # return bh; # # Neither wait_on_buffer nor buffer_uptodate contain any memory barrier. # Consequently, if someone calls sb_bread and then reads the buffer data, # the read of buffer data may be executed before wait_on_buffer(bh) on # architectures with weak memory ordering and it may return invalid data. # # Fix this bug by adding a memory barrier to set_buffer_uptodate and an # acquire barrier to buffer_uptodate (in a similar way as # folio_test_uptodate and folio_mark_uptodate). # # Signed-off-by: Mikulas Patocka # Reviewed-by: Matthew Wilcox (Oracle) # Cc: stable@vger.kernel.org # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 d4252071b97d2027d246f6a82cbee4d52f618b47 # < make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-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 8 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig .config:14005:warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT # make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- /kisskb/src/arch/mips/boot/dts/img/boston.dts:128.19-178.5: Warning (pci_device_reg): /pci@14000000/pci2_root@0,0,0: PCI unit address format error, expected "0,0" In file included from /kisskb/src/include/linux/string.h:253, from /kisskb/src/include/linux/bitmap.h:11, from /kisskb/src/include/linux/cpumask.h:12, from /kisskb/src/arch/mips/include/asm/processor.h:15, from /kisskb/src/arch/mips/include/asm/thread_info.h:16, from /kisskb/src/include/linux/thread_info.h:60, from /kisskb/src/include/asm-generic/current.h:5, from ./arch/mips/include/generated/asm/current.h:1, from /kisskb/src/include/linux/sched.h:12, from /kisskb/src/include/linux/ratelimit.h:6, from /kisskb/src/include/linux/dev_printk.h:16, from /kisskb/src/include/linux/device.h:15, from /kisskb/src/drivers/hwmon/lm90.c:99: In function '__fortify_strlen', inlined from 'strlcpy' at /kisskb/src/include/linux/fortify-string.h:159:10, inlined from 'lm90_detect' at /kisskb/src/drivers/hwmon/lm90.c:2550:2: /kisskb/src/include/linux/fortify-string.h:50:33: error: '__builtin_strlen' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] 50 | #define __underlying_strlen __builtin_strlen | ^ /kisskb/src/include/linux/fortify-string.h:141:24: note: in expansion of macro '__underlying_strlen' 141 | return __underlying_strlen(p); | ^~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:249: drivers/hwmon/lm90.o] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:466: drivers/hwmon] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1844: drivers] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 8 ARCH=mips O=/kisskb/build/linus_mips-allmodconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_mips-allmodconfig_mips-gcc11 # Build took: 0:48:31.135971