# 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-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 598a597636f8618a0520fd3ccefedaed9e4709b0 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 44x/fsp2_defconfig # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus_44x_fsp2_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/kernel/rcu/update.c:578:0: /kisskb/src/kernel/rcu/tasks.h:710:13: warning: 'show_rcu_tasks_rude_gp_kthread' defined but not used [-Wunused-function] static void show_rcu_tasks_rude_gp_kthread(void) {} ^ INFO: Uncompressed kernel (size 0xa74e64) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) Image Name: Linux-5.10.0-rc1-g598a597636f8 Created: Fri Oct 30 05:56:22 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4560105 Bytes = 4453.23 KiB = 4.35 MiB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/linus_44x_fsp2_defconfig_powerpc-gcc5 # Build took: 0:01:10.992358