linux/drivers/s390/char
Linus Torvalds f9c035492f more s390 updates for 6.9 merge window
- Various virtual vs physical address usage fixes
 
 - Add new bitwise types and helper functions and use them in s390 specific
   drivers and code to make it easier to find virtual vs physical address
   usage bugs. Right now virtual and physical addresses are identical for
   s390, except for module, vmalloc, and similar areas. This will be
   changed, hopefully with the next merge window, so that e.g. the kernel
   image and modules will be located close to each other, allowing for
   direct branches and also for some other simplifications.
 
   As a prerequisite this requires to fix all misuses of virtual and
   physical addresses. As it turned out people are so used to the concept
   that virtual and physical addresses are the same, that new bugs got added
   to code which was already fixed. In order to avoid that even more code
   gets merged which adds such bugs add and use new bitwise types, so that
   sparse can be used to find such usage bugs.
 
   Most likely the new types can go away again after some time
 
 - Provide a simple ARCH_HAS_DEBUG_VIRTUAL implementation
 
 - Fix kprobe branch handling: if an out-of-line single stepped relative
   branch instruction has a target address within a certain address area in
   the entry code, the program check handler may incorrectly execute cleanup
   code as if KVM code was executed, leading to crashes
 
 - Fix reference counting of zcrypt card objects
 
 - Various other small fixes and cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEECMNfWEw3SLnmiLkZIg7DeRspbsIFAmX5lIYACgkQIg7DeRsp
 bsJYxA//cYGSaopFLuHxQndQi5UcMx0NMcaD9auMyDraPWJH0/F+vIWnLPxgJ1wB
 zfav3Ssvdd/41rPIXHSGxUzXzv+EHCY5+91t4plfCxWtd1SbpJ8gG2vrXTH512ql
 RhJ7crRFQqoigIxlsdwUkwGSqd+L6H73ikKzQyAaJFKC/e9BEpCH4zb8NuTqCeJE
 a81/A8BGSIo4Fk4qj1T5bHZzkznmxtisMPGXzoKa28LKhzwqqbGZYeHohnkaT6co
 UpY/HMdhGH74kkKqpF0cLDI0Bd8ptfjbcVcKyJ8OD7vCfinIM3bZdYg0KIzyRMhu
 d49JDXctPiePXTCi8X+AJnhNYFGlHuDciEpTMzkw97kwhmCfAOW5UaAlBo8dJqat
 zt76Cxbl3D+hYI7Wbs9lt2QsXso4/1fMMNQbu9pwyMKxHlCBVe+ZqNIl0gP8OAXZ
 51pghcLlcwYNeYRkSzvfEhO9aeUsRg40O5UBCklVMRScrx7qie2wsllEFavb7vZd
 Ejv89dvn0KtzYIHG+U5SQ9d0x1JL9qApVM06sCGZGsBM9r4hHFGa8x57Pr+51ZPs
 j0qbr7iAWgCGXN8c3p/Nrev6eqBio81CpD9PWik7QpJS38EKkussqfPdQitgQpsi
 7r0Sx51oBzyAVadmVAf8/flUrbJTvD3BdbkzN99W4BXyARJk7CI=
 =Vh2x
 -----END PGP SIGNATURE-----

Merge tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull more s390 updates from Heiko Carstens:

 - Various virtual vs physical address usage fixes

 - Add new bitwise types and helper functions and use them in s390
   specific drivers and code to make it easier to find virtual vs
   physical address usage bugs.

   Right now virtual and physical addresses are identical for s390,
   except for module, vmalloc, and similar areas. This will be changed,
   hopefully with the next merge window, so that e.g. the kernel image
   and modules will be located close to each other, allowing for direct
   branches and also for some other simplifications.

   As a prerequisite this requires to fix all misuses of virtual and
   physical addresses. As it turned out people are so used to the
   concept that virtual and physical addresses are the same, that new
   bugs got added to code which was already fixed. In order to avoid
   that even more code gets merged which adds such bugs add and use new
   bitwise types, so that sparse can be used to find such usage bugs.

   Most likely the new types can go away again after some time

 - Provide a simple ARCH_HAS_DEBUG_VIRTUAL implementation

 - Fix kprobe branch handling: if an out-of-line single stepped relative
   branch instruction has a target address within a certain address area
   in the entry code, the program check handler may incorrectly execute
   cleanup code as if KVM code was executed, leading to crashes

 - Fix reference counting of zcrypt card objects

 - Various other small fixes and cleanups

* tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (41 commits)
  s390/entry: compare gmap asce to determine guest/host fault
  s390/entry: remove OUTSIDE macro
  s390/entry: add CIF_SIE flag and remove sie64a() address check
  s390/cio: use while (i--) pattern to clean up
  s390/raw3270: make class3270 constant
  s390/raw3270: improve raw3270_init() readability
  s390/tape: make tape_class constant
  s390/vmlogrdr: make vmlogrdr_class constant
  s390/vmur: make vmur_class constant
  s390/zcrypt: make zcrypt_class constant
  s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support
  s390/vfio_ccw_cp: use new address translation helpers
  s390/iucv: use new address translation helpers
  s390/ctcm: use new address translation helpers
  s390/lcs: use new address translation helpers
  s390/qeth: use new address translation helpers
  s390/zfcp: use new address translation helpers
  s390/tape: fix virtual vs physical address confusion
  s390/3270: use new address translation helpers
  s390/3215: use new address translation helpers
  ...
2024-03-19 11:38:27 -07:00
..
con3215.c s390/3215: use new address translation helpers 2024-03-13 09:23:47 +01:00
con3270.c tty: con3270: convert to u8 and size_t 2023-12-08 12:02:37 +01:00
ctrlchar.c
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390/ctlreg: rename ctl_reg.h to ctlreg.h 2023-09-19 13:26:56 +02:00
diag_ftp.h
fs3270.c s390/raw3270: make class3270 constant 2024-03-13 09:23:50 +01:00
hmcdrv_cache.c
hmcdrv_cache.h
hmcdrv_dev.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
hmcdrv_dev.h
hmcdrv_ftp.c
hmcdrv_ftp.h
hmcdrv_mod.c
Kconfig s390/uvdevice: Add info IOCTL 2023-06-16 11:08:09 +02:00
keyboard.c
keyboard.h
Makefile s390/tty3270: rename to con3270 2023-01-09 14:33:56 +01:00
monreader.c s390/monreader: fix virtual vs physical address confusion 2023-08-30 11:03:26 +02:00
monwriter.c s390: include linux/io.h instead of asm/io.h 2023-07-03 11:19:40 +02:00
raw3270.c s390/raw3270: make class3270 constant 2024-03-13 09:23:50 +01:00
raw3270.h s390/raw3270: make class3270 constant 2024-03-13 09:23:50 +01:00
sclp_ap.c
sclp_cmd.c s390/mm: implement MEM_PREPARE_ONLINE/MEM_FINISH_OFFLINE notifiers 2024-02-21 16:00:02 -08:00
sclp_con.c
sclp_config.c
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h
sclp_early_core.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
sclp_early.c s390/ctlreg: rename ctl_reg.h to ctlreg.h 2023-09-19 13:26:56 +02:00
sclp_ftp.c s390/hmcdrv: use strscpy() instead of strlcpy() 2023-02-06 11:13:53 +01:00
sclp_ftp.h
sclp_ocf.c
sclp_pci.c
sclp_quiesce.c
sclp_rw.c
sclp_rw.h
sclp_sd.c
sclp_sdias.c
sclp_sdias.h
sclp_tty.c tty: make tty_operations::write()'s count size_t 2023-08-11 21:12:46 +02:00
sclp_tty.h
sclp_vt220.c tty: make tty_operations::write()'s count size_t 2023-08-11 21:12:46 +02:00
sclp.c s390/sclp: replace deprecated strncpy with strtomem 2023-10-25 15:08:30 +02:00
sclp.h s390/sclp: replace zero-length array with flexible-array member 2023-04-13 17:36:29 +02:00
tape_34xx.c
tape_3590.c
tape_3590.h
tape_char.c
tape_class.c s390/tape: make tape_class constant 2024-03-13 09:23:49 +01:00
tape_class.h
tape_core.c
tape_proc.c
tape_std.c
tape_std.h
tape.h s390/tape: fix virtual vs physical address confusion 2024-03-13 09:23:48 +01:00
uvdevice.c s390/uvdevice: Report additional-data length for attestation 2023-11-23 12:15:55 +01:00
vmcp.c s390/mm: make virt_to_pfn() a static inline 2023-08-16 15:13:03 +02:00
vmlogrdr.c s390/vmlogrdr: make vmlogrdr_class constant 2024-03-13 09:23:49 +01:00
vmur.c s390/vmur: make vmur_class constant 2024-03-13 09:23:49 +01:00
vmur.h
zcore.c s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00