2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/arch/s390/include/asm
Linus Torvalds 2a8120d7b4 more s390 updates for 6.10 merge window
- 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
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQQrtrZiYVkVzKQcYivNdxKlNrRb8AUCZkyx2BccYWdvcmRlZXZA
 bGludXguaWJtLmNvbQAKCRDNdxKlNrRb8PYZAP9KxEfTyUmIh61Gx8+m3BW5dy7p
 E2Q8yotlUpGj49ul+AD8CEAyTiWR95AlMOVZZLV/0J7XIjhALvpKAGfiJWkvXgc=
 =pife
 -----END PGP SIGNATURE-----

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()
  ...
2024-05-21 12:09:36 -07:00
..
trace
vdso vdso: Consolidate vdso_calc_delta() 2024-04-08 15:03:06 +02:00
abs_lowcore.h s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
access-regs.h s390/acrs: cleanup access register handling 2024-02-12 15:03:33 +01:00
airq.h s390/airq: remove lsi_mask from airq_struct 2023-08-30 11:03:28 +02:00
alternative-asm.h s390/alternatives: Convert runtime sanity check into compile time check 2024-05-14 20:21:23 +02:00
alternative.h s390/alternatives: Convert runtime sanity check into compile time check 2024-05-14 20:21:23 +02:00
ap.h s390/chsc: use notifier for AP configuration changes 2024-04-09 17:29:55 +02:00
appldata.h s390/appldata: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
archrandom.h
asm-const.h
asm-extable.h s390: add support for DCACHE_WORD_ACCESS 2023-10-16 13:04:09 +02:00
asm-prototypes.h s390/expoline: Make modules use kernel expolines 2024-04-17 13:38:03 +02:00
atomic_ops.h s390/atomic: mark all functions __always_inline 2024-04-03 15:00:19 +02:00
atomic.h s390/atomic: mark all functions __always_inline 2024-04-03 15:00:19 +02:00
barrier.h
bitops.h s390: implement arch_xor_unlock_is_negative_byte 2023-10-18 14:34:17 -07:00
boot_data.h
bug.h s390/bug: remove entry size from __bug_table section 2024-02-14 13:50:53 +01:00
cache.h
ccwdev.h s390/virtio_ccw: use DMA handle from DMA API 2024-03-13 09:23:46 +01:00
ccwgroup.h
checksum.h s390/checksum: provide csum_partial_copy_nocheck() 2024-02-16 14:30:17 +01:00
chpid.h
chsc.h s390/chsc: use notifier for AP configuration changes 2024-04-09 17:29:55 +02:00
cio.h s390/virtio_ccw: use DMA handle from DMA API 2024-03-13 09:23:46 +01:00
clocksource.h
clp.h
cmb.h
cmpxchg.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
compat.h s390/uapi: cover statfs padding by growing f_spare 2023-05-17 15:20:17 +02:00
cpacf.h s390/cpacf: Make use of invalid opcode produce a link error 2024-05-16 10:17:11 +02:00
cpcmd.h
cpu_mf-insn.h
cpu_mf.h s390/cpum_sf: Convert to cmpxchg128() 2023-06-05 09:36:40 +02:00
cpu.h
cpufeature.h
cputime.h s390/idle: remove arch_cpu_idle_time() and corresponding code 2023-02-09 20:11:23 +01:00
crw.h
css_chars.h
ctlreg.h s390/ctlreg: return old register contents when changing bits 2023-12-11 14:33:04 +01:00
current.h
debug.h docs: move s390 under arch 2023-07-24 12:12:24 +02:00
delay.h
diag.h s390/hypfs_diag0c: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
dis.h
dma-types.h s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
dma.h s390/mm: fix MAX_DMA_ADDRESS physical vs virtual confusion 2023-09-05 20:12:51 +02:00
dwarf.h s390/vdso: Add CFI for RA register to asm macro vdso_func 2024-04-26 16:22:38 +02:00
eadm.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
ebcdic.h
elf.h
entry-common.h s390/fpu: limit save and restore to used registers 2024-02-16 14:30:16 +01:00
exec.h
extable.h
extmem.h s390/boot: Consider DCSS segments on memory layout setup 2024-04-17 13:37:59 +02:00
facility.h KVM: s390: vsie: Fix length of facility list shadowed 2023-12-23 10:41:09 +01:00
fault.h s390/mm: move translation-exception identification structure to fault.h 2023-10-23 18:21:22 +02:00
fcx.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
fpu-insn-asm.h s390/checksum: provide csum_partial_copy_nocheck() 2024-02-16 14:30:17 +01:00
fpu-insn.h s390/fpu: add vector instruction inline assemblies for crc32 2024-02-16 14:30:18 +01:00
fpu-types.h s390/checksum: provide vector register variant of csum_partial() 2024-02-16 14:30:17 +01:00
fpu.h s390/fpu: limit save and restore to used registers 2024-02-16 14:30:16 +01:00
ftrace.h s390/ftrace: Use unwinder instead of __builtin_return_address() 2024-04-29 17:33:30 +02:00
ftrace.lds.h
futex.h s390/futex: add missing EX_TABLE entry to __futex_atomic_op() 2022-10-26 14:47:31 +02:00
gmap.h s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests 2024-04-18 15:02:53 +02:00
hardirq.h
hugetlb.h mm: convert arch_clear_hugepage_flags to take a folio 2024-04-25 20:56:15 -07:00
hw_irq.h
idals.h s390/cio,idal: fix virtual vs physical address confusion 2024-03-13 09:23:47 +01:00
idle.h s390/irq,idle: simplify idle check 2023-02-15 11:07:01 +01:00
io.h s390: Stop using weak symbols for __iowrite64_copy() 2024-04-22 17:11:20 -03:00
ipl.h s390/ipl: add eckd dump support 2022-12-06 16:18:22 +01:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irq.h s390/irq: use CR0 defines to define CR0_IRQ_SUBCLASS_MASK 2023-09-19 13:26:57 +02:00
irqflags.h
isc.h
itcw.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h s390/kasan: move shadow mapping to decompressor 2023-03-20 11:02:51 +01:00
Kbuild s390: remove <asm/export.h> 2023-08-09 15:20:51 +02:00
kdebug.h
kexec.h
kfence.h s390/mm: make virt_to_pfn() a static inline 2023-08-16 15:13:03 +02:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm_host.h KVM: s390: fix access register usage in ioctls 2024-02-22 16:06:56 +01:00
kvm_para.h
linkage.h s390: make use of CONFIG_FUNCTION_ALIGNMENT 2023-03-20 11:12:46 +01:00
lowcore.h s390/fpu: make kernel fpu context preemptible 2024-02-16 14:30:15 +01:00
maccess.h s390/mm: define Real Memory Copy size and mask macros 2023-08-16 15:13:02 +02:00
mem_encrypt.h s390/mm: fix virtual-physical address confusion for swiotlb 2022-11-07 14:33:40 +01:00
mmu_context.h s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests 2024-04-18 15:02:53 +02:00
mmu.h s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests 2024-04-18 15:02:53 +02:00
mmzone.h
module.h
msi.h irq/s390: Add arch_is_isolated_msi() for s390 2023-01-11 16:27:23 -04:00
nmi.h s390/mcck: cleanup user process termination path 2023-02-28 13:19:05 +01:00
nospec-branch.h s390/expoline: Make modules use kernel expolines 2024-04-17 13:38:03 +02:00
nospec-insn.h s390/expoline: Make modules use kernel expolines 2024-04-17 13:38:03 +02:00
numa.h
os_info.h s390/os_info: Fix array size in struct os_info 2024-04-29 17:33:29 +02:00
page-states.h s390/cmma: move arch_set_page_dat() to header file 2023-11-05 22:34:58 +01:00
page.h Revert "s390: Relocate vmlinux ELF data to virtual address space" 2024-05-05 12:51:44 +02:00
pai.h s390/pai: adjust whitespace indentation 2024-02-20 14:37:32 +01:00
pci_clp.h s390/pci: Use dma-iommu layer 2023-10-02 08:43:00 +02:00
pci_debug.h
pci_dma.h s390/pci: Use dma-iommu layer 2023-10-02 08:43:00 +02:00
pci_insn.h
pci_io.h s390/pci: fix max size calculation in zpci_memcpy_toio() 2024-01-11 18:22:58 +01:00
pci.h s390/pci: introduce lock to synchronize state of zpci_dev's 2024-02-20 14:37:32 +01:00
percpu.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
perf_event.h s390/cpum_sf: remove flag PERF_CPUM_SF_FULL_BLOCKS 2023-03-27 17:19:52 +02:00
pfault.h s390/pfault: cleanup inline assemblies 2023-07-29 14:57:18 +02:00
pgalloc.h s390: supplement for ptdesc conversion 2024-03-06 13:04:18 -08:00
pgtable.h more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
physmem_info.h s390/boot: Do not rescue .vmlinux.relocs section 2024-04-17 13:38:02 +02:00
pkey.h s390/pkey: do not use struct pkey_protkey 2023-06-01 17:10:21 +02:00
pnet.h
preempt.h s390/preempt: mark all functions __always_inline 2024-04-03 15:00:20 +02:00
processor.h s390: Mark psw in __load_psw_mask() as __unitialized 2024-05-14 13:37:08 +02:00
ptrace.h s390/entry: compare gmap asce to determine guest/host fault 2024-03-17 19:08:50 +01:00
purgatory.h
qdio.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
runtime_instr.h
rwonce.h s390/rwonce: add READ_ONCE_ALIGNED_128() macro 2023-02-28 13:19:05 +01:00
schid.h
sclp.h s390: add support for user-defined certificates 2023-07-24 12:12:21 +02:00
scsw.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
seccomp.h
sections.h s390/amode31: change type of __samode31, __eamode31, etc 2023-08-30 11:03:27 +02:00
set_memory.h s390/set_memory: add __set_memory() variant 2023-08-30 11:03:28 +02:00
setup.h s390/mm: Move KASLR related to <asm/page.h> 2024-04-17 13:38:00 +02:00
signal.h
sigp.h
smp.h s390/smp: keep the original lowcore for CPU 0 2023-09-19 13:26:55 +02:00
softirq_stack.h
sparsemem.h
spinlock_types.h
spinlock.h
stacktrace.h s390/vdso: Introduce and use struct stack_frame_vdso_wrapper 2024-05-14 13:37:07 +02:00
stp.h
string.h s390/kasan: remove override of mem*() functions 2023-04-19 17:24:16 +02:00
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
syscall.h
sysinfo.h s390/sysinfo: add variable capacity information 2023-11-22 14:07:28 +01:00
text-patching.h
thread_info.h s390/fpu: remove TIF_FPU 2024-02-16 14:30:16 +01:00
timex.h s390/time: Provide sched_clock_noinstr() 2023-06-05 21:11:06 +02:00
tlb.h mm/mmu_gather: add __tlb_remove_folio_pages() 2024-02-22 15:27:17 -08:00
tlbflush.h
topology.h
tpi.h
types.h
uaccess.h s390/ctlreg: move control register code to separate file 2023-09-19 13:26:56 +02:00
unistd.h
unwind.h s390/kprobes: replace kretprobe with rethook 2023-01-22 18:42:35 +01:00
uprobes.h
user.h
uv.h KVM: s390: pv: Allow AP-instructions for pv-guests 2023-08-28 09:27:56 +00:00
vdso.h
vmalloc.h
vmlinux.lds.h
vtime.h s390/vtime: Remove unused __ARCH_HAS_VTIME_TASK_SWITCH leftover 2024-04-17 13:37:21 +02:00
vtimer.h
word-at-a-time.h kernel.h: removed REPEAT_BYTE from kernel.h 2024-02-01 09:47:59 -08:00
xor.h