# git rev-parse -q --verify 598a597636f8618a0520fd3ccefedaed9e4709b0^{commit} 598a597636f8618a0520fd3ccefedaed9e4709b0 already have revision, skipping fetch # git checkout -q -f -B kisskb 598a597636f8618a0520fd3ccefedaed9e4709b0 # git clean -qxdf # < git log -1 # commit 598a597636f8618a0520fd3ccefedaed9e4709b0 # Merge: 58130a6cd062 2d9900f26ad6 # Author: Linus Torvalds # Date: Thu Oct 29 10:13:09 2020 -0700 # # Merge tag 'afs-fixes-20201029' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs # # Pull AFS fixes from David Howells: # # - Fix copy_file_range() to an afs file now returning EINVAL if the # splice_write file op isn't supplied. # # - Fix a deref-before-check in afs_unuse_cell(). # # - Fix a use-after-free in afs_xattr_get_acl(). # # - Fix afs to not try to clear PG_writeback when laundering a page. # # - Fix afs to take a ref on a page that it sets PG_private on and to # drop that ref when clearing PG_private. This is done through recently # added helpers. # # - Fix a page leak if write_begin() fails. # # - Fix afs_write_begin() to not alter the dirty region info stored in # page->private, but rather do this in afs_write_end() instead when we # know what we actually changed. # # - Fix afs_invalidatepage() to alter the dirty region info on a page # when partial page invalidation occurs so that we don't inadvertantly # include a span of zeros that will get written back if a page gets # laundered due to a remote 3rd-party induced invalidation. # # We mustn't, however, reduce the dirty region if the page has been # seen to be mapped (ie. we got called through the page_mkwrite vector) # as the page might still be mapped and we might lose data if the file # is extended again. # # - Fix the dirty region info to have a lower resolution if the size of # the page is too large for this to be encoded (e.g. powerpc32 with 64K # pages). # # Note that this might not be the ideal way to handle this, since it # may allow some leakage of undirtied zero bytes to the server's copy # in the case of a 3rd-party conflict. # # To aid the last two fixes, two additional changes: # # - Wrap the manipulations of the dirty region info stored in # page->private into helper functions. # # - Alter the encoding of the dirty region so that the region bounds can # be stored with one fewer bit, making a bit available for the # indication of mappedness. # # * tag 'afs-fixes-20201029' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: # afs: Fix dirty-region encoding on ppc32 with 64K pages # afs: Fix afs_invalidatepage to adjust the dirty region # afs: Alter dirty range encoding in page->private # afs: Wrap page->private manipulations in inline functions # afs: Fix where page->private is set during write # afs: Fix page leak on afs_write_begin() failure # afs: Fix to take ref on page when PG_private is set # afs: Fix afs_launder_page to not clear PG_writeback # afs: Fix a use after free in afs_xattr_get_acl() # afs: Fix tracing deref-before-check # afs: Fix copy_file_range() # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 598a597636f8618a0520fd3ccefedaed9e4709b0 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0x99BF592 WARNING: unmet direct dependencies detected for FSL_EMB_PERFMON Depends on [n]: E500 [=n] || PPC_83xx [=n] Selected by [y]: - PPC_FSL_BOOK3E [=y] # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # yes \n | make -s -j 120 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 120 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/drivers/usb/dwc2/platform.c: In function 'dwc2_driver_probe': /kisskb/src/drivers/usb/dwc2/platform.c:611:1: warning: label 'error_debugfs' defined but not used [-Wunused-label] error_debugfs: ^ Completed OK # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.9 # Build took: 0:02:20.904387