# 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/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 598a597636f8618a0520fd3ccefedaed9e4709b0 # < make -s -j 120 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- multi_v7_defconfig # make -s -j 120 ARCH=arm O=/kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- /kisskb/src/arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus also defined at /kisskb/src/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3 /kisskb/src/arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus also defined at /kisskb/src/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3 arch/arm/boot/dts/mmp2-olpc-xo-1-75.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge' /kisskb/src/arch/arm/crypto/ghash-ce-glue.c: In function 'ghash_do_update': /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:67:44: warning: passing argument 4 of 'pmull_ghash_update_p64' from incompatible pointer type pmull_ghash_update_p64(blocks, dg, src, key->h, head); ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:45:17: note: expected 'const u64 (*)[2]' but argument is of type 'u64 (*)[2]' asmlinkage void pmull_ghash_update_p64(int blocks, u64 dg[], const char *src, ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:69:43: warning: passing argument 4 of 'pmull_ghash_update_p8' from incompatible pointer type pmull_ghash_update_p8(blocks, dg, src, key->h, head); ^ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c:48:17: note: expected 'const u64 (*)[2]' but argument is of type 'u64 (*)[2]' asmlinkage void pmull_ghash_update_p8(int blocks, u64 dg[], const char *src, ^ /kisskb/src/drivers/firmware/qcom_scm-smc.c: In function 'scm_smc_call': /kisskb/src/drivers/firmware/qcom_scm-smc.c:94:9: warning: missing braces around initializer [-Wmissing-braces] struct arm_smccc_args smc = {0}; ^ /kisskb/src/drivers/firmware/qcom_scm-smc.c:94:9: warning: (near initialization for 'smc.args') [-Wmissing-braces] /kisskb/src/drivers/firmware/qcom_scm-legacy.c: In function 'scm_legacy_call': /kisskb/src/drivers/firmware/qcom_scm-legacy.c:139:9: warning: missing braces around initializer [-Wmissing-braces] struct arm_smccc_args smc = {0}; ^ /kisskb/src/drivers/firmware/qcom_scm-legacy.c:139:9: warning: (near initialization for 'smc.args') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/linus_multi_v7_defconfig_arm-gcc4.9 # Build took: 0:01:59.917568