# git rev-parse -q --verify 2a8120d7b4827380f30b57788ff92ec5594e2194^{commit} 2a8120d7b4827380f30b57788ff92ec5594e2194 already have revision, skipping fetch # git checkout -q -f -B kisskb 2a8120d7b4827380f30b57788ff92ec5594e2194 # git clean -qxdf # < git log -1 # commit 2a8120d7b4827380f30b57788ff92ec5594e2194 # Merge: 334e5639fc4e c1248638f8c3 # Author: Linus Torvalds # Date: Tue May 21 12:09:36 2024 -0700 # # Merge tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux # # Pull more s390 updates from Alexander Gordeev: # # - Switch read and write software bits for PUDs # # - Add missing hardware bits for PUDs and PMDs # # - Generate unwind information for C modules to fix GDB unwind error for # vDSO functions # # - Create .build-id links for unstripped vDSO files to enable vDSO # debugging with symbols # # - Use standard stack frame layout for vDSO generated stack frames to # manually walk stack frames without DWARF information # # - Rework perf_callchain_user() and arch_stack_walk_user() functions to # reduce code duplication # # - Skip first stack frame when walking user stack # # - Add basic checks to identify invalid instruction pointers when # walking stack frames # # - Introduce and use struct stack_frame_vdso_wrapper within vDSO user # wrapper code to automatically generate an asm-offset define. Also use # STACK_FRAME_USER_OVERHEAD instead of STACK_FRAME_OVERHEAD to document # that the code works with user space stack # # - Clear the backchain of the extra stack frame added by the vDSO user # wrapper code. This allows the user stack walker to detect and skip # the non-standard stack frame. Without this an incorrect instruction # pointer would be added to stack traces. # # - Rewrite psw_idle() function in C to ease maintenance and further # enhancements # # - Remove get_vtimer() function and use get_cpu_timer() instead # # - Mark psw variable in __load_psw_mask() as __unitialized to avoid # superfluous clearing of PSW # # - Remove obsolete and superfluous comment about removed TIF_FPU flag # # - Replace memzero_explicit() and kfree() with kfree_sensitive() to fix # warnings reported by Coccinelle # # - Wipe sensitive data and all copies of protected- or secure-keys from # stack when an IOCTL fails # # - Both do_airq_interrupt() and do_io_interrupt() functions set # CIF_NOHZ_DELAY flag. Move it in do_io_irq() to simplify the code # # - Provide iucv_alloc_device() and iucv_release_device() helpers, which # can be used to deduplicate more or less identical IUCV device # allocation and release code in four different drivers # # - Make use of iucv_alloc_device() and iucv_release_device() helpers to # get rid of quite some code and also remove a cast to an incompatible # function (clang W=1) # # - There is no user of iucv_root outside of the core IUCV code left. # Therefore remove the EXPORT_SYMBOL # # - __apply_alternatives() contains a runtime check which verifies that # the size of the to be patched code area is even. Convert this to a # compile time check # # - Increase size of buffers for sending z/VM CP DIAGNOSE X'008' commands # from 128 to 240 # # - Do not accept z/VM CP DIAGNOSE X'008' commands longer than maximally # allowed # # - Use correct defines IPL_BP_NVME_LEN and IPL_BP0_NVME_LEN instead of # IPL_BP_FCP_LEN and IPL_BP0_FCP_LEN ones to initialize NVMe reIPL # block on 'scp_data' sysfs attribute update # # - Initialize the correct fields of the NVMe dump block, which were # confused with FCP fields # # - Refactor macros for 'scp_data' (re-)IPL sysfs attribute to reduce # code duplication # # - Introduce 'scp_data' sysfs attribute for dump IPL to allow tools such # as dumpconf passing additional kernel command line parameters to a # stand-alone dumper # # - Rework the CPACF query functions to use the correct RRE or RRF # instruction formats and set instruction register fields correctly # # - Instead of calling BUG() at runtime force a link error during compile # when a unsupported opcode is used with __cpacf_query() or # __cpacf_check_opcode() functions # # - Fix a crash in ap_parse_bitmap_str() function on /sys/bus/ap/apmask # or /sys/bus/ap/aqmask sysfs file update with a relative mask value # # - Fix "bindings complete" udev event which should be sent once all AP # devices have been bound to device drivers and again when unbind/bind # actions take place and all AP devices are bound again # # - Facility list alt_stfle_fac_list is nowhere used in the decompressor, # therefore remove it there # # - Remove custom kprobes insn slot allocator in favour of the standard # module_alloc() one, since kernel image and module areas are located # within 4GB # # - Use kvcalloc() instead of kvmalloc_array() in zcrypt driver to avoid # calling memset() with a large byte count and get rid of the sparse # warning as result # # * tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits) # s390/zcrypt: Use kvcalloc() instead of kvmalloc_array() # s390/kprobes: Remove custom insn slot allocator # s390/boot: Remove alt_stfle_fac_list from decompressor # s390/ap: Fix bind complete udev event sent after each AP bus scan # s390/ap: Fix crash in AP internal function modify_bitmap() # s390/cpacf: Make use of invalid opcode produce a link error # s390/cpacf: Split and rework cpacf query functions # s390/ipl: Introduce sysfs attribute 'scp_data' for dump ipl # s390/ipl: Introduce macros for (re)ipl sysfs attribute 'scp_data' # s390/ipl: Fix incorrect initialization of nvme dump block # s390/ipl: Fix incorrect initialization of len fields in nvme reipl block # s390/ipl: Do not accept z/VM CP diag X'008' cmds longer than max length # s390/ipl: Fix size of vmcmd buffers for sending z/VM CP diag X'008' cmds # s390/alternatives: Convert runtime sanity check into compile time check # s390/iucv: Unexport iucv_root # tty: hvc-iucv: Make use of iucv_alloc_device() # s390/smsgiucv_app: Make use of iucv_alloc_device() # s390/netiucv: Make use of iucv_alloc_device() # s390/vmlogrdr: Make use of iucv_alloc_device() # s390/iucv: Provide iucv_alloc_device() / iucv_release_device() # ... # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 2a8120d7b4827380f30b57788ff92ec5594e2194 # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allnoconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- allnoconfig # < make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allnoconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- help # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allnoconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allnoconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- Completed OK # rm -rf /kisskb/build/linus_allnoconfig_s390x-gcc13 # Build took: 0:01:39.354233