• Linus Torvalds's avatar
    Merge tag 's390-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 2a8120d7
    Linus Torvalds authored
    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()
      ...
    2a8120d7
iucv.c 48.4 KB