# 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-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 598a597636f8618a0520fd3ccefedaed9e4709b0 # < make -s -j 80 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0x3A66BFA4 # Added to kconfig CONFIG_STANDALONE=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_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # < make -s -j 80 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 80 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:5112:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD # make -s -j 80 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- In file included from /kisskb/src/kernel/rcu/update.c:578: /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) {} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/vmscan.o: warning: objtool: isolate_lru_pages()+0xdf: unreachable instruction fs/hugetlbfs/inode.o: warning: objtool: remove_inode_hugepages()+0x326: unreachable instruction kernel/cgroup/cgroup.o: warning: objtool: find_css_set()+0x260: unreachable instruction mm/page_alloc.o: warning: objtool: get_page_from_freelist()+0xc42: unreachable instruction mm/hugetlb.o: warning: objtool: hugetlb_cow()+0x29d: unreachable instruction mm/huge_memory.o: warning: objtool: do_huge_pmd_numa_page()+0xa7: unreachable instruction fs/ceph/addr.o: warning: objtool: ceph_writepages_start()+0x595: unreachable instruction fs/afs/file.o: warning: objtool: afs_readpages_page_done()+0x91: unreachable instruction fs/afs/write.o: warning: objtool: afs_write_back_from_locked_page()+0x48: unreachable instruction drivers/mfd/wm8994-core.o: warning: objtool: wm8994_i2c_probe()+0x12e: unreachable instruction /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: ^~~~~~~~~~~~~ net/ceph/osd_client.o: warning: objtool: dispatch()+0x3d9: unreachable instruction mm/vmscan.o: warning: objtool: isolate_lru_pages()+0xdf: unreachable instruction In file included from /kisskb/src/kernel/rcu/update.c:578: /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) {} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/ceph/osd_client.o: warning: objtool: dispatch()+0x3d9: unreachable instruction mm/huge_memory.o: warning: objtool: do_huge_pmd_numa_page()+0xa7: unreachable instruction mm/page_alloc.o: warning: objtool: get_page_from_freelist()+0xc42: unreachable instruction mm/hugetlb.o: warning: objtool: hugetlb_cow()+0x29d: unreachable instruction vmlinux.o: warning: objtool: __do_fast_syscall_32()+0x47: call to syscall_enter_from_user_mode_work() leaves .noinstr.text section vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xb0: call to __phys_addr_nodebug() leaves .noinstr.text section vmlinux.o: warning: objtool: lock_is_held_type()+0xb: call to lockdep_enabled() leaves .noinstr.text section vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x41: call to on_thread_stack() leaves .noinstr.text section vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x39: call to on_thread_stack() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x39: call to on_thread_stack() leaves .noinstr.text section vmlinux.o: warning: objtool: __do_fast_syscall_32()+0x47: call to syscall_enter_from_user_mode_work() leaves .noinstr.text section vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xb0: call to __phys_addr_nodebug() leaves .noinstr.text section vmlinux.o: warning: objtool: lock_is_held_type()+0xb: call to lockdep_enabled() leaves .noinstr.text section vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x41: call to on_thread_stack() leaves .noinstr.text section vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x39: call to on_thread_stack() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x39: call to on_thread_stack() leaves .noinstr.text section Completed OK # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:05:40.814353