# 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_32r1el_defconfig_mips-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/mips-linux/bin/mips-linux- 32r1el_defconfig # < make -s -j 32 ARCH=mips O=/kisskb/build/linus_32r1el_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_32r1el_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_32r1el_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" Completed OK # rm -rf /kisskb/build/linus_32r1el_defconfig_mips-gcc11 # Build took: 0:02:15.967779