# git rev-parse -q --verify 8c7ae38d1ce12a0eaeba655df8562552b3596c7f^{commit} 8c7ae38d1ce12a0eaeba655df8562552b3596c7f already have revision, skipping fetch # git checkout -q -f -B kisskb 8c7ae38d1ce12a0eaeba655df8562552b3596c7f # git clean -qxdf # < git log -1 # commit 8c7ae38d1ce12a0eaeba655df8562552b3596c7f # Author: David Howells # Date: Wed Mar 27 22:48:02 2019 +0000 # # afs: Fix StoreData op marshalling # # The marshalling of AFS.StoreData, AFS.StoreData64 and YFS.StoreData64 calls # generated by ->setattr() ops for the purpose of expanding a file is # incorrect due to older documentation incorrectly describing the way the RPC # 'FileLength' parameter is meant to work. # # The older documentation says that this is the length the file is meant to # end up at the end of the operation; however, it was never implemented this # way in any of the servers, but rather the file is truncated down to this # before the write operation is effected, and never expanded to it (and, # indeed, it was renamed to 'TruncPos' in 2014). # # Fix this by setting the position parameter to the new file length and doing # a zero-lengh write there. # # The bug causes Xwayland to SIGBUS due to unexpected non-expansion of a file # it then mmaps. This can be tested by giving the following test program a # filename in an AFS directory: # # #include # #include # #include # #include # #include # int main(int argc, char *argv[]) # { # char *p; # int fd; # if (argc != 2) { # fprintf(stderr, # "Format: test-trunc-mmap \n"); # exit(2); # } # fd = open(argv[1], O_RDWR | O_CREAT | O_TRUNC); # if (fd < 0) { # perror(argv[1]); # exit(1); # } # if (ftruncate(fd, 0x140008) == -1) { # perror("ftruncate"); # exit(1); # } # p = mmap(NULL, 4096, PROT_READ | PROT_WRITE, # MAP_SHARED, fd, 0); # if (p == MAP_FAILED) { # perror("mmap"); # exit(1); # } # p[0] = 'a'; # if (munmap(p, 4096) < 0) { # perror("munmap"); # exit(1); # } # if (close(fd) < 0) { # perror("close"); # exit(1); # } # exit(0); # } # # Fixes: 31143d5d515e ("AFS: implement basic file write support") # Reported-by: Jonathan Billings # Tested-by: Jonathan Billings # Signed-off-by: David Howells # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-ld --version # < git log --format=%s --max-count=1 8c7ae38d1ce12a0eaeba655df8562552b3596c7f # < make -s -j 8 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- randconfig KCONFIG_SEED=0xC5D6BFDE # 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 # yes \n | make -s -j 8 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- oldconfig yes: standard output: Broken pipe # make -s -j 8 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- :1478:2: warning: #warning syscall pidfd_send_signal not implemented [-Wcpp] :1481:2: warning: #warning syscall io_uring_setup not implemented [-Wcpp] :1484:2: warning: #warning syscall io_uring_enter not implemented [-Wcpp] :1487:2: warning: #warning syscall io_uring_register not implemented [-Wcpp] /kisskb/src/ipc/shm.c: In function 'ksys_shmdt': /kisskb/src/ipc/shm.c:1712:59: warning: 'file' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:187:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/arch/powerpc/kernel/iommu.c:149:30: warning: 'fail_iommu_bus_notifier' defined but not used [-Wunused-variable] /kisskb/src/mm/debug.c: In function 'dump_mm': /kisskb/src/mm/debug.c:133:2: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 19 has type 'long int' [-Wformat] /kisskb/src/lib/mpi/mpicoder.c: In function 'mpi_read_raw_from_sgl': /kisskb/src/lib/mpi/mpicoder.c:352:8: warning: 'buff' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/ksm.c: In function '__stable_node_chain': /kisskb/src/mm/ksm.c:1408:15: warning: 'found_rmap_hlist_len' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/ksm.c:1380:6: note: 'found_rmap_hlist_len' was declared here /kisskb/src/mm/memcontrol.c: In function 'commit_charge': /kisskb/src/mm/memcontrol.c:2383:5: warning: 'isolated' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/memcontrol.c:2397:6: note: 'isolated' was declared here /kisskb/src/lib/rhashtable.c: In function 'rht_deferred_worker': /kisskb/src/lib/rhashtable.c:264:2: warning: 'next' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/rhashtable.c:229:28: note: 'next' was declared here /kisskb/src/drivers/hwspinlock/hwspinlock_core.c: In function 'of_hwspin_lock_get_id': /kisskb/src/drivers/hwspinlock/hwspinlock_core.c:329:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/i2c/i2c-core-base.c: In function 'i2c_generic_scl_recovery': /kisskb/src/drivers/i2c/i2c-core-base.c:235:5: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/drm_dp_mst_topology.c: In function 'drm_dp_sideband_msg_build': /kisskb/src/drivers/gpu/drm/drm_dp_mst_topology.c:423:23: warning: 'hdrlen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/kobject_uevent.c: In function 'kobject_synth_uevent': /kisskb/src/lib/kobject_uevent.c:222:39: warning: 'env' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/kobject_uevent.c:133:47: warning: 'action_args' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/kobject_uevent.c:196:14: note: 'action_args' was declared here /kisskb/src/lib/radix-tree.c: In function 'radix_tree_insert': /kisskb/src/lib/radix-tree.c:104:23: warning: 'slot' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/radix-tree.c:729:15: note: 'slot' was declared here /kisskb/src/include/asm-generic/bitops/non-atomic.h:106:20: warning: 'node' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/lib/radix-tree.c:728:26: note: 'node' was declared here /kisskb/src/drivers/mfd/tc3589x.c: In function 'tc3589x_probe': /kisskb/src/drivers/mfd/tc3589x.c:390:2: warning: 'version' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/drm_atomic.c: In function 'drm_atomic_check_only': /kisskb/src/drivers/gpu/drm/drm_atomic.c:420:38: warning: 'crtc_state' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/gpu/drm/drm_atomic.c:399:25: note: 'crtc_state' was declared here /kisskb/src/drivers/iio/temperature/mlx90632.c: In function 'mlx90632_read_raw': /kisskb/src/drivers/iio/temperature/mlx90632.c:349:37: warning: 'object_old_raw' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/mlx90632.c:430:56: note: 'object_old_raw' was declared here /kisskb/src/drivers/iio/temperature/mlx90632.c:349:37: warning: 'object_new_raw' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/mlx90632.c:430:40: note: 'object_new_raw' was declared here /kisskb/src/drivers/mtd/ubi/eba.c: In function 'try_write_vid_and_data': /kisskb/src/drivers/mtd/ubi/eba.c:1001:7: warning: 'opnum' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/iio/temperature/tsys01.c: In function 'tsys01_read_raw': /kisskb/src/drivers/iio/temperature/tsys01.c:94:9: warning: 'temperature' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/media/dvb-frontends/mn88472.c: In function 'mn88472_set_frontend': /kisskb/src/drivers/media/dvb-frontends/mn88472.c:339:27: warning: 'bandwidth_vals_ptr' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/media/dvb-frontends/mn88472.c:320:20: warning: 'bandwidth_val' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/media/dvb-frontends/mn88473.c: In function 'mn88473_set_frontend': /kisskb/src/drivers/media/dvb-frontends/mn88473.c:156:21: warning: 'conf_val_ptr' may be used uninitialized in this function [-Wuninitialized] WARNING: vmlinux.o (.PPC.EMB.apuinfo): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. INFO: Uncompressed kernel (size 0x1781840) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x1800000) Image Name: Linux-5.1.0-rc2+ Created: Fri Mar 29 09:31:32 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 9315570 Bytes = 9097.24 KiB = 8.88 MiB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.6 # Build took: 0:02:04.245204