# git rev-parse -q --verify ddf21bd8ab984ccaa924f090fc7f515bb6d51414^{commit} ddf21bd8ab984ccaa924f090fc7f515bb6d51414 already have revision, skipping fetch # git checkout -q -f -B kisskb ddf21bd8ab984ccaa924f090fc7f515bb6d51414 # git clean -qxdf # < git log -1 # commit ddf21bd8ab984ccaa924f090fc7f515bb6d51414 # Merge: 0bc7eb03cbd3 b66ceaf324b3 # Author: Linus Torvalds # Date: Fri Sep 17 09:23:44 2021 -0700 # # Merge tag 'iov_iter.3-5.15-2021-09-17' of git://git.kernel.dk/linux-block # # Pull io_uring iov_iter retry fixes from Jens Axboe: # "This adds a helper to save/restore iov_iter state, and modifies # io_uring to use it. # # After that is done, we can now kill the iter->truncated addition that # we added for this release. The io_uring change is being overly # cautious with the save/restore/advance, but better safe than sorry and # we can always improve that and reduce the overhead if it proves to be # of concern. The only case to be worried about in this regard is huge # IO, where iteration can take a while to iterate segments. # # I spent some time writing test cases, and expanded the coverage quite # a bit from the last posting of this. liburing carries this regression # test case now: # # https://git.kernel.dk/cgit/liburing/tree/test/file-verify.c # # which exercises all of this. It now also supports provided buffers, # and explicitly tests for end-of-file/device truncation as well. # # On top of that, Pavel sanitized the IOPOLL retry path to follow the # exact same pattern as normal IO" # # * tag 'iov_iter.3-5.15-2021-09-17' of git://git.kernel.dk/linux-block: # io_uring: move iopoll reissue into regular IO path # Revert "iov_iter: track truncated size" # io_uring: use iov_iter state save/restore helpers # iov_iter: add helper to save iov_iter state # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 ddf21bd8ab984ccaa924f090fc7f515bb6d51414 # < make -s -j 80 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allyesconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=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 # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # Added to kconfig CONFIG_BPF_PRELOAD=n # < make -s -j 80 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 80 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:11947:warning: override: reassigning to symbol GCC_PLUGIN_SANCOV .config:11950:warning: override: reassigning to symbol GCC_PLUGIN_RANDSTRUCT .config:11952:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:11954:warning: override: reassigning to symbol UML_NET_SLIP .config:11957:warning: override: reassigning to symbol UML_NET_MCAST .config:11959:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 80 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/x86/um/Makefile:44: FORCE prerequisite is missing /kisskb/src/drivers/video/fbdev/riva/fbdev.c: In function 'rivafb_probe': /kisskb/src/drivers/video/fbdev/riva/fbdev.c:2062:11: error: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers] iounmap(default_par->riva.PRAMIN); ^ In file included from /kisskb/src/arch/um/include/asm/io.h:7:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/include/asm-generic/hardirq.h:17, from /kisskb/src/arch/um/include/asm/hardirq.h:5, from /kisskb/src/include/linux/hardirq.h:11, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/trace_recursion.h:5, from /kisskb/src/include/linux/ftrace.h:10, from /kisskb/src/include/linux/kprobes.h:29, from /kisskb/src/include/linux/kgdb.h:19, from /kisskb/src/include/linux/fb.h:6, from /kisskb/src/drivers/video/fbdev/riva/fbdev.c:39: /kisskb/src/include/asm-generic/logic_io.h:36:17: note: expected 'void *' but argument is of type 'volatile U032 * {aka volatile unsigned int *}' #define iounmap iounmap ^ /kisskb/src/include/asm-generic/logic_io.h:37:6: note: in expansion of macro 'iounmap' void iounmap(void __iomem *addr); ^ /kisskb/src/drivers/video/fbdev/riva/fbdev.c: In function 'rivafb_remove': /kisskb/src/drivers/video/fbdev/riva/fbdev.c:2095:11: error: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers] iounmap(par->riva.PRAMIN); ^ In file included from /kisskb/src/arch/um/include/asm/io.h:7:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/include/asm-generic/hardirq.h:17, from /kisskb/src/arch/um/include/asm/hardirq.h:5, from /kisskb/src/include/linux/hardirq.h:11, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/trace_recursion.h:5, from /kisskb/src/include/linux/ftrace.h:10, from /kisskb/src/include/linux/kprobes.h:29, from /kisskb/src/include/linux/kgdb.h:19, from /kisskb/src/include/linux/fb.h:6, from /kisskb/src/drivers/video/fbdev/riva/fbdev.c:39: /kisskb/src/include/asm-generic/logic_io.h:36:17: note: expected 'void *' but argument is of type 'volatile U032 * {aka volatile unsigned int *}' #define iounmap iounmap ^ /kisskb/src/include/asm-generic/logic_io.h:37:6: note: in expansion of macro 'iounmap' void iounmap(void __iomem *addr); ^ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/video/fbdev/riva/fbdev.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video/fbdev/riva] Error 2 make[4]: *** Waiting for unfinished jobs.... /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c: In function 'nvidiafb_probe': /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c:1414:10: error: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers] iounmap(par->REGS); ^ In file included from /kisskb/src/arch/um/include/asm/io.h:7:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/include/asm-generic/hardirq.h:17, from /kisskb/src/arch/um/include/asm/hardirq.h:5, from /kisskb/src/include/linux/hardirq.h:11, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/trace_recursion.h:5, from /kisskb/src/include/linux/ftrace.h:10, from /kisskb/src/include/linux/kprobes.h:29, from /kisskb/src/include/linux/kgdb.h:19, from /kisskb/src/include/linux/fb.h:6, from /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c:19: /kisskb/src/include/asm-generic/logic_io.h:36:17: note: expected 'void *' but argument is of type 'volatile u32 * {aka volatile unsigned int *}' #define iounmap iounmap ^ /kisskb/src/include/asm-generic/logic_io.h:37:6: note: in expansion of macro 'iounmap' void iounmap(void __iomem *addr); ^ /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c: In function 'nvidiafb_remove': /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c:1439:10: error: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Werror=discarded-qualifiers] iounmap(par->REGS); ^ In file included from /kisskb/src/arch/um/include/asm/io.h:7:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/include/asm-generic/hardirq.h:17, from /kisskb/src/arch/um/include/asm/hardirq.h:5, from /kisskb/src/include/linux/hardirq.h:11, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/trace_recursion.h:5, from /kisskb/src/include/linux/ftrace.h:10, from /kisskb/src/include/linux/kprobes.h:29, from /kisskb/src/include/linux/kgdb.h:19, from /kisskb/src/include/linux/fb.h:6, from /kisskb/src/drivers/video/fbdev/nvidia/nvidia.c:19: /kisskb/src/include/asm-generic/logic_io.h:36:17: note: expected 'void *' but argument is of type 'volatile u32 * {aka volatile unsigned int *}' #define iounmap iounmap ^ /kisskb/src/include/asm-generic/logic_io.h:37:6: note: in expansion of macro 'iounmap' void iounmap(void __iomem *addr); ^ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/video/fbdev/nvidia/nvidia.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video/fbdev/nvidia] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video/fbdev] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/video] Error 2 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/drivers/gpu/drm/ttm/ttm_module.c: In function 'ttm_prot_from_caching': /kisskb/src/drivers/gpu/drm/ttm/ttm_module.c:59:24: error: 'struct cpuinfo_um' has no member named 'x86' else if (boot_cpu_data.x86 > 3) ^ make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/gpu/drm/ttm/ttm_module.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/gpu/drm/ttm] Error 2 make[4]: *** Waiting for unfinished jobs.... /kisskb/src/drivers/pci/controller/vmd.c:117:21: error: field 'sysdata' has incomplete type struct pci_sysdata sysdata; ^ /kisskb/src/drivers/pci/controller/vmd.c: In function 'vmd_compose_msi_msg': /kisskb/src/drivers/pci/controller/vmd.c:151:20: error: 'X86_MSI_BASE_ADDRESS_HIGH' undeclared (first use in this function) msg->address_hi = X86_MSI_BASE_ADDRESS_HIGH; ^ /kisskb/src/drivers/pci/controller/vmd.c:151:20: note: each undeclared identifier is reported only once for each function it appears in /kisskb/src/drivers/pci/controller/vmd.c:152:19: error: 'arch_msi_msg_addr_lo_t {aka struct arch_msi_msg_addr_lo}' has no member named 'base_address' msg->arch_addr_lo.base_address = X86_MSI_BASE_ADDRESS_LOW; ^ /kisskb/src/drivers/pci/controller/vmd.c:152:35: error: 'X86_MSI_BASE_ADDRESS_LOW' undeclared (first use in this function) msg->arch_addr_lo.base_address = X86_MSI_BASE_ADDRESS_LOW; ^ /kisskb/src/drivers/pci/controller/vmd.c:153:19: error: 'arch_msi_msg_addr_lo_t {aka struct arch_msi_msg_addr_lo}' has no member named 'destid_0_7' msg->arch_addr_lo.destid_0_7 = index_from_irqs(vmd, irq); ^ /kisskb/src/drivers/pci/controller/vmd.c: In function 'vmd_enable_domain': /kisskb/src/drivers/pci/controller/vmd.c:751:4: error: dereferencing pointer to incomplete type 'struct pci_sysdata' sd->vmd_dev = vmd->dev; ^ /kisskb/src/drivers/pci/controller/vmd.c: In function 'vmd_from_bus': /kisskb/src/drivers/pci/controller/vmd.c:128:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/pci/controller/vmd.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/pci/controller] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/pci] Error 2 /kisskb/src/drivers/gpu/drm/r128/ati_pcigart.c: In function 'drm_ati_pcigart_init': /kisskb/src/drivers/gpu/drm/r128/ati_pcigart.c:218:2: error: implicit declaration of function 'wbinvd' [-Werror=implicit-function-declaration] wbinvd(); ^ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/gpu/drm/r128/ati_pcigart.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/gpu/drm/r128] Error 2 /kisskb/src/drivers/tty/synclink_gt.c:442:13: error: conflicting types for 'set_signals' static void set_signals(struct slgt_info *info); ^ In file included from /kisskb/src/include/linux/irqflags.h:16:0, from /kisskb/src/include/linux/spinlock.h:58, from /kisskb/src/include/linux/mm_types.h:9, from /kisskb/src/include/linux/buildid.h:5, from /kisskb/src/include/linux/module.h:14, from /kisskb/src/drivers/tty/synclink_gt.c:46: /kisskb/src/arch/um/include/asm/irqflags.h:6:5: note: previous declaration of 'set_signals' was here int set_signals(int enable); ^ make[3]: *** [/kisskb/src/scripts/Makefile.build:277: drivers/tty/synclink_gt.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/gpu/drm] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/gpu] Error 2 make[2]: *** [/kisskb/src/scripts/Makefile.build:540: drivers/tty] Error 2 make[1]: *** [/kisskb/src/Makefile:1868: drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 80 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_um-allyesconfig_um-x86_64 # Build took: 0:06:01.515349