# 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 32 ARCH=mips O=/kisskb/build/linus_micro32r2_defconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- micro32r2_defconfig ./.config.micro32r2_defconfig:95:warning: override: CPU_BIG_ENDIAN changes choice state .config:94:warning: override: CPU_BIG_ENDIAN changes choice state # < make -s -j 32 ARCH=mips O=/kisskb/build/linus_micro32r2_defconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 32 ARCH=mips O=/kisskb/build/linus_micro32r2_defconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig # make -s -j 32 ARCH=mips O=/kisskb/build/linus_micro32r2_defconfig_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" {standard input}: Assembler messages: {standard input}:1339: Error: branch to a symbol in another ISA mode make[3]: *** [/kisskb/src/scripts/Makefile.build:249: arch/mips/kernel/smp-cps.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:466: arch/mips/kernel] Error 2 make[1]: *** [/kisskb/src/Makefile:1844: arch/mips] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 32 ARCH=mips O=/kisskb/build/linus_micro32r2_defconfig_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_micro32r2_defconfig_mips-gcc11 # Build took: 0:01:02.692306