lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 20 Feb 2023 13:02:01 +0100
From:   Heiko Carstens <hca@...ux.ibm.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Vasily Gorbik <gor@...ux.ibm.com>,
        Alexander Gordeev <agordeev@...ux.ibm.com>,
        Christian Borntraeger <borntraeger@...ux.ibm.com>,
        Gerald Schaefer <gerald.schaefer@...ux.ibm.com>,
        linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] s390 updates for 6.3 merge window

Hello Linus,

please pull s390 updates for the 6.3 merge window.

Please note that there will be a trivial merge conflict with the tip tree
(sched/core branch): within both trees are commits which remove code from
s390's arch_cpu_idle(). The merge resolution is to simply remove all lines
specified in both trees.

Also the shortstat when merging will look slightly different to the one
generated with 'git request-pull' below, since I merged our fixes branch
twice to avoid merge conflicts. So the real shortstat should look like:

 102 files changed, 4581 insertions(+), 4583 deletions(-)

Thanks,
Heiko

The following changes since commit b7bfaa761d760e72a969d116517eaa12e404c262:

  Linux 6.2-rc3 (2023-01-08 11:49:43 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.3-1

for you to fetch changes up to 6472a2dcc4274452bb46fb5a0d968a1c1ed772ee:

  s390/irq,idle: simplify idle check (2023-02-15 11:07:01 +0100)

----------------------------------------------------------------
s390 updates for 6.3 merge window

- Large cleanup of the con3270/tty3270 driver. Among others this fixes:
  * Background Color Support
  * ASCII Line Character Support
  * VT100 Support
  * Geometries other than 80x24

- Cleanup and improve cmpxchg() code. Also add cmpxchg_user_key() to
  uaccess functions, which will be used by KVM to access KVM guest memory
  with a specific storage key.

- Add support for user space events counting to CPUMF.

- Cleanup the vfio/ccw code, which also allows now to properly support 2K
  Format-2 IDALs.

- Move kernel page table allocation and initialization to decompressor,
  which finally allows to enter the kernel with dynamic address translation
  enabled. This in turn allows to get rid of code with special handling in
  the kernel, which has to distinguish if DAT is on or off.

- Replace kretprobe with rethook.

- Various improvements to vfio/ap queue resets:
  * Use TAPQ to verify completion of a reset in progress rather than
    multiple invocations of ZAPQ.
  * Check TAPQ response codes when verifying successful completion of ZAPQ.
  * Fix erroneous handling of some error response codes.
  * Increase the maximum amount of time to wait for successful completion
    of ZAPQ.

- Rework system call wrappers to get rid of alias functions, which were
  only left on s390.

- Cleanup diag288_wdt watchdog driver. It has been agreed on with Guenter
  Roeck that this goes upstream via the s390 tree.

- Add missing loadparm parameter handling for list-directed ECKD ipl/reipl.

- Various improvements to memory detection code.

- Remove arch_cpu_idle_time() since the current implementation is broken,
  and allows user space observable accounted idle times which can
  temporarily decrease.

- Add Reset DAT-Protection support: (only) allow to change PTEs from RO to
  RW with a new RDP instruction. Unlike the currently used IPTE
  instruction, this does not necessarily guarantee that TLBs of all CPUs
  are synchronously flushed; and that remote CPUs can see spurious
  protection faults. The overall improvement for not requiring an all CPU
  synchronization, like it is required with IPTE, should be beneficial.

- Fix KFENCE page fault reporting.

- Smaller cleanups and improvement all over the place.

----------------------------------------------------------------
Alexander Egorenkov (8):
      s390/kexec: fix ipl report address for kdump
      watchdog: diag288_wdt: do not use stack buffers for hardware data
      watchdog: diag288_wdt: fix __diag288() inline assembly
      watchdog: diag288_wdt: get rid of register asm
      watchdog: diag288_wdt: remove power management
      watchdog: diag288_wdt: unify command buffer handling for diag288 zvm
      watchdog: diag288_wdt: de-duplicate diag_stat_inc() calls
      watchdog: diag288_wdt: unify lpar and zvm diag288 helpers

Alexander Gordeev (16):
      s390: expicitly align _edata and _end symbols on page boundary
      s390/boot: cleanup decompressor header files
      s390/early: fix sclp_early_sccb variable lifetime
      s390/kasan: sort out physical vs virtual memory confusion
      s390/kasan: cleanup setup of zero pgtable
      s390/kasan: cleanup setup of untracked memory pgtables
      s390/kasan: use set_pXe_bit() for pgtable entries setup
      s390/pgtable: add REGION3_KERNEL_EXEC protection
      s390/boot: detect and enable memory facilities
      s390/mm: start kernel with DAT enabled
      s390/maccess: remove dead DAT-off code
      s390/kasan: remove identity mapping support
      s390/boot: allow setup of different virtual address types
      s390/mm: allocate Real Memory Copy Area in decompressor
      s390/mm: allocate Absolute Lowcore Area in decompressor
      s390/mem_detect: do not update output parameters on failure

Christophe JAILLET (2):
      s390/vfio-ap: fix an error handling path in vfio_ap_mdev_probe_queue()
      s390/ipl: use kstrtobool() instead of strtobool()

Eric Farman (17):
      vfio/ccw: cleanup some of the mdev commentary
      vfio/ccw: simplify the cp_get_orb interface
      vfio/ccw: allow non-zero storage keys
      vfio/ccw: move where IDA flag is set in ORB
      vfio/ccw: replace copy_from_iova with vfio_dma_rw
      vfio/ccw: simplify CCW chain fetch routines
      vfio/ccw: remove unnecessary malloc alignment
      vfio/ccw: pass page count to page_array struct
      vfio/ccw: populate page_array struct inline
      vfio/ccw: refactor the idaw counter
      vfio/ccw: read only one Format-1 IDAW
      vfio/ccw: calculate number of IDAWs regardless of format
      vfio/ccw: allocate/populate the guest idal
      vfio/ccw: handle a guest Format-1 IDAL
      vfio/ccw: don't group contiguous pages on 2K IDAWs
      vfio/ccw: remove old IDA format restrictions
      vfio/ccw: remove WARN_ON during shutdown

Gerald Schaefer (1):
      s390/mm: add support for RDP (Reset DAT-Protection)

Halil Pasic (3):
      s390: vfio-ap: tighten the NIB validity check
      s390/ap: fix status returned by ap_aqic()
      s390/ap: fix status returned by ap_qact()

Harald Freudenberger (1):
      s390/zcrypt: introduce ctfm field in struct CPRBX

Heiko Carstens (41):
      s390/cmpxchg: use symbolic names for inline assembly operands
      s390/cmpxchg: make variables local to each case label
      s390/cmpxchg: remove digits from input constraints
      s390/extable: add EX_TABLE_UA_LOAD_REGPAIR() macro
      s390/uaccess: add cmpxchg_user_key()
      s390/uaccess: avoid __ashlti3() call
      s390/con3270: move condev definition
      s390/archrandom: add missing header include
      s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops
      s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()
      KVM: s390: interrupt: use READ_ONCE() before cmpxchg()
      s390: update defconfigs
      s390: move __amode31_base declaration to proper header file
      s390: workaround invalid gcc-11 out of bounds read warning
      Merge branch 'fixes' into features
      s390/cache: change type from unsigned long long to unsigned long
      s390/syscalls: remove SYSCALL_METADATA() from compat syscalls
      s390/syscalls: remove __SC_COMPAT_TYPE define
      s390/syscalls: move __S390_SYS_STUBx() macro
      s390/syscalls: remove trailing semicolon
      s390/syscalls: get rid of system call alias functions
      s390/hmcdrv: use strscpy() instead of strlcpy()
      s390/rethook: add local rethook header file
      s390/diag: make __diag8c_tmp_amode31 static
      Merge branch 'fixes' into features
      Merge branch 'cmpxchg_user_key' into features
      s390/idle: move idle time accounting to account_idle_time_irq()
      s390/idle: mark arch_cpu_idle() noinstr
      s390/processor: always inline cpu flag helper functions
      MAINTAINERS: add diag288_wdt driver to s390 maintained files
      s390/vx: add 64 and 128 bit members to __vector128 struct
      s390/vx: use simple assignments to access __vector128 members
      s390/idle: remove arch_cpu_idle_time() and corresponding code
      Revert "s390/mem_detect: do not update output parameters on failure"
      s390/vx: remove __uint128_t type from __vector128 struct again
      s390/entry: remove toolchain dependent micro-optimization
      s390: remove confusing comment from uapi types header file
      s390/kfence: fix page fault reporting
      s390/processor: let cpu helper functions return boolean values
      s390/processor: add test_and_set_cpu_flag() and test_and_clear_cpu_flag()
      s390/irq,idle: simplify idle check

Ilya Leoshkevich (1):
      s390: discard .interp section

Janis Schoetterl-Glausch (2):
      s390/cmpxchg: make loop condition for 1,2 byte cases precise
      s390/uaccess: limit number of retries for cmpxchg_user_key()

Jiapeng Chong (1):
      s390/vmem: use swap() instead of open coding it

Masahiro Yamada (2):
      s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
      s390: fix -Wundef warning for CONFIG_KERNEL_ZSTD

Nicholas Piggin (1):
      s390: remove the last remnants of cputime_t

Niklas Schnelle (1):
      s390/debug: add _ASM_S390_ prefix to header guard

Peter Xu (1):
      s390/mm: define private VM_FAULT_* reasons from top bits

Randy Dunlap (1):
      Documentation: s390: correct spelling

Sven Schnelle (58):
      s390/tty3270: add tty3270_create_view()
      s390/3270: unify con3270 + tty3270
      s390/tty3270: rename to con3270
      s390/tty3270: add support for diag 8c
      s390/con3270: fix formatting issues
      s390/raw3270: fix formatting issues
      s390/tty3270: use switch/case in tty3270_erase_line()
      s390/tty3270: use switch/case in tty3270_erase_display()
      s390/raw3270: use __packed instead of __attribute__((packed))
      s390/tty3270: add struct tty3270_attribute
      s390/tty3270: add support for background color
      s390/tty3270: add support for graphic escape
      s390/tty3270: add support for VT100 graphics escape
      s390/tty3270: ignore NUL characters
      s390/tty3270: add AID defines
      s390/raw3270: add raw3270_start_request() helper
      s390/tty3270: move resize work to raw3270
      s390/tty3270: resize terminal when the clear key is pressed
      s390/tty3270: split up tty3270_convert_line()
      s390/con3270: add helper to get number of tty rows
      s390/tty3270: allocate screen with scrollback
      s390/raw3270: make raw3270_buffer_address() accept x/y coordinates
      s390/con3270: move tty3270_convert_line()
      s390/tty3270: move ASCII->EBCDIC conversion to convert_line()
      s390/tty3270: add 3270 datastream helpers
      s390/con3270: generate status line during output
      s390/tty3270: convert lines during output
      s390/tty3270: use normal char buffer for prompt/input
      s390/con3270: rewrite command line recalling
      s390/con3270: reduce f_color and b_color attribute size to 4 bit
      s390/con3270: reduce highlight width to 3 bits
      s390/con3270: add key help to status area
      s390/con3270: fix camelcase in enum members
      s390/con3270: fix multiple assignments in one line
      s390/con3270: use msecs_to_jiffies()
      s390/con3270: fix minor checkpatch issues
      s390/raw3270: move EXPORT_SYMBOL() next to functions
      s390/raw3270: fix indentation/whitespace errors
      s390/raw3270: fix raw3270 declarations
      s390/raw3270: add comment to spinlock member
      s390/raw3270: use DEVICE_ATTR_RO() for sysfs attributes
      s390/raw3270: remove BUG_ON in raw3270_request_reset()
      s390/raw3270: split up raw3270_activate_view()
      s390/raw3270: fix nullpointer check
      s390/fs3270: fix whitespace errors
      s390/fs3270: add missing braces to if/else
      s390/fs3270: remove duplicate assignment
      s390/fs3270: use *ptr instead of struct in kzalloc
      s390/fs3270: fix function prototypes
      s390/fs3270: fix screen reset on activate
      s390/fs3270: split header files
      s390/diag: use __packed __aligned
      s390/con3270: return from notifier when activate view fails
      s390/con3270: simplify update flags
      s390/con3270: set SBA and RA addresses when converting lines
      s390/con3270: add special output handling when oops_in_progress is set
      s390/ipl: add DEFINE_GENERIC_LOADPARM()
      s390/ipl: add loadparm parameter to eckd ipl/reipl data

Thomas Richter (12):
      s390/cpumf: support user space events for counting
      s390/cpum_sf: move functions from header file to source file
      s390/cpum_sf: remove debug statements from function setup_pmc_cpu
      s390/cpum_sf: sampling buffer setup to handle virtual addresses
      s390/cpum_sf: rework macro AUX_SDB_NUM_xxx
      s390/cpum_sf: diagnostic sampling buffer setup to handle virtual addresses
      s390/cpum_cf: simplify hw_perf_event_destroy()
      s390/cpum_cf: move cpum_cf_ctrset_size()
      s390/cpum_cf: move stccm_avail()
      s390/cpum_cf: remove in-kernel counting facility interface
      s390/cpum_cf: merge source files for CPU Measurement counter facility
      s390/cpum_cf: simplify PMC_INIT and PMC_RELEASE usage

Tony Krowiak (6):
      s390/vfio-ap: verify reset complete in separate function
      s390/vfio_ap: check TAPQ response code when waiting for queue reset
      s390/vfio_ap: use TAPQ to verify reset in progress completes
      s390/vfio_ap: verify ZAPQ completion after return of response code zero
      s390/vfio_ap: fix handling of error response codes
      s390/vfio_ap: increase max wait time for reset verification

Vasily Gorbik (18):
      s390/kprobes: replace kretprobe with rethook
      s390/decompressor: specify __decompress() buf len to avoid overflow
      s390/boot: avoid mapping standby memory
      s390/boot: remove pgtable_populate_end
      s390/mm,ptdump: avoid Kasan vs Memcpy Real markers swapping
      s390/mem_detect: fix detect_memory() error handling
      s390/kasan: update kasan memory layout note
      s390/vmem: fix empty page tables cleanup under KASAN
      s390/vmem: remove unnecessary KASAN checks
      s390/mem_detect: rely on diag260() if sclp_early_get_memsize() fails
      s390/boot: fix mem_detect extended area allocation
      s390/mem_detect: handle online memory limit just once
      s390/mem_detect: add get_mem_detect_online_total()
      s390/boot: avoid page tables memory in kaslr
      s390/kasan: avoid mapping KASAN shadow for standby memory
      s390/boot: move detect_facilities() after cmd line parsing
      s390/boot: avoid potential amode31 truncation
      s390/mem_detect: do not truncate online memory ranges info

Vineeth Vijayan (4):
      docs/ABI: use linux-s390 list as the main contact
      s390/cio: evaluate devices with non-operational paths
      s390/cio: introduce locking for register/unregister functions
      MAINTAINERS: add entry for s390 SCM driver

Xu Panda (1):
      s390/zcrypt: use strscpy() to instead of strncpy()

 Documentation/ABI/testing/sysfs-bus-css |   15 +-
 Documentation/s390/pci.rst              |    4 +-
 Documentation/s390/vfio-ccw.rst         |    6 +-
 MAINTAINERS                             |    8 +
 arch/s390/Kconfig                       |    1 +
 arch/s390/boot/Makefile                 |    2 +-
 arch/s390/boot/boot.h                   |   40 +-
 arch/s390/boot/decompressor.c           |    7 +-
 arch/s390/boot/decompressor.h           |   26 -
 arch/s390/boot/kaslr.c                  |   20 +-
 arch/s390/boot/mem_detect.c             |   72 +-
 arch/s390/boot/startup.c                |   86 +-
 arch/s390/boot/vmem.c                   |  278 ++++
 arch/s390/configs/debug_defconfig       |    7 +-
 arch/s390/configs/defconfig             |    6 +-
 arch/s390/configs/zfcpdump_defconfig    |    2 +-
 arch/s390/crypto/arch_random.c          |    1 +
 arch/s390/include/asm/abs_lowcore.h     |   16 +-
 arch/s390/include/asm/ap.h              |   12 +-
 arch/s390/include/asm/asm-extable.h     |    4 +
 arch/s390/include/asm/ccwdev.h          |    2 +
 arch/s390/include/asm/cmpxchg.h         |  109 +-
 arch/s390/include/asm/cpu_mcf.h         |  112 --
 arch/s390/include/asm/cpu_mf.h          |   82 +-
 arch/s390/include/asm/cputime.h         |   19 -
 arch/s390/include/asm/debug.h           |    6 +-
 arch/s390/include/asm/diag.h            |   16 +-
 arch/s390/include/asm/fpu/internal.h    |    4 +-
 arch/s390/include/asm/idals.h           |   12 +
 arch/s390/include/asm/idle.h            |    5 -
 arch/s390/include/asm/kasan.h           |   12 +-
 arch/s390/include/asm/kprobes.h         |    2 -
 arch/s390/include/asm/maccess.h         |    2 +-
 arch/s390/include/asm/mem_detect.h      |   39 +-
 arch/s390/include/asm/percpu.h          |    2 +-
 arch/s390/include/asm/pgtable.h         |   69 +-
 arch/s390/include/asm/processor.h       |   29 +-
 arch/s390/include/asm/ptrace.h          |    2 +-
 arch/s390/include/asm/setup.h           |    6 +
 arch/s390/include/asm/syscall_wrapper.h |  144 +-
 arch/s390/include/asm/uaccess.h         |  208 +++
 arch/s390/include/asm/unwind.h          |   10 +-
 arch/s390/include/uapi/asm/fs3270.h     |   25 +
 arch/s390/include/uapi/asm/raw3270.h    |   75 +
 arch/s390/include/uapi/asm/types.h      |   15 +-
 arch/s390/include/uapi/asm/zcrypt.h     |    3 +-
 arch/s390/kernel/Makefile               |    3 +-
 arch/s390/kernel/abs_lowcore.c          |   49 -
 arch/s390/kernel/cache.c                |    2 +-
 arch/s390/kernel/compat_signal.c        |    4 +-
 arch/s390/kernel/crash_dump.c           |    2 +-
 arch/s390/kernel/diag.c                 |   26 +
 arch/s390/kernel/early.c                |    8 +-
 arch/s390/kernel/entry.S                |    6 -
 arch/s390/kernel/entry.h                |    1 -
 arch/s390/kernel/head64.S               |    1 +
 arch/s390/kernel/idle.c                 |   91 +-
 arch/s390/kernel/ipl.c                  |  101 +-
 arch/s390/kernel/irq.c                  |    8 +-
 arch/s390/kernel/kprobes.c              |   30 -
 arch/s390/kernel/machine_kexec.c        |    5 +-
 arch/s390/kernel/machine_kexec_file.c   |    5 +-
 arch/s390/kernel/mcount.S               |   12 +-
 arch/s390/kernel/os_info.c              |    5 +-
 arch/s390/kernel/perf_cpum_cf.c         |  308 +++-
 arch/s390/kernel/perf_cpum_cf_common.c  |  233 ---
 arch/s390/kernel/perf_cpum_sf.c         |  245 +++-
 arch/s390/kernel/perf_pai_ext.c         |    2 +-
 arch/s390/kernel/process.c              |    4 +-
 arch/s390/kernel/ptrace.c               |    6 +-
 arch/s390/kernel/rethook.c              |   34 +
 arch/s390/kernel/rethook.h              |    7 +
 arch/s390/kernel/setup.c                |   95 +-
 arch/s390/kernel/signal.c               |    4 +-
 arch/s390/kernel/smp.c                  |   14 +-
 arch/s390/kernel/stacktrace.c           |    6 +-
 arch/s390/kernel/text_amode31.S         |   13 +
 arch/s390/kernel/vmlinux.lds.S          |    8 +
 arch/s390/kvm/interrupt.c               |   12 +-
 arch/s390/lib/test_unwind.c             |   12 +-
 arch/s390/mm/dump_pagetables.c          |   16 +-
 arch/s390/mm/extable.c                  |    9 +-
 arch/s390/mm/fault.c                    |   63 +-
 arch/s390/mm/init.c                     |   35 +-
 arch/s390/mm/kasan_init.c               |  246 +---
 arch/s390/mm/maccess.c                  |   28 +-
 arch/s390/mm/pgtable.c                  |   25 +
 arch/s390/mm/vmem.c                     |  103 +-
 drivers/s390/char/Kconfig               |   11 +-
 drivers/s390/char/Makefile              |    4 +-
 drivers/s390/char/con3270.c             | 2409 +++++++++++++++++++++++++------
 drivers/s390/char/diag_ftp.c            |    4 +-
 drivers/s390/char/fs3270.c              |  124 +-
 drivers/s390/char/raw3270.c             |  376 ++---
 drivers/s390/char/raw3270.h             |  227 +--
 drivers/s390/char/sclp_early.c          |    2 +-
 drivers/s390/char/sclp_ftp.c            |    6 +-
 drivers/s390/char/tty3270.c             | 1963 -------------------------
 drivers/s390/char/tty3270.h             |   15 -
 drivers/s390/cio/css.c                  |   21 +-
 drivers/s390/cio/css.h                  |    2 +-
 drivers/s390/cio/device.c               |    9 +
 drivers/s390/cio/vfio_ccw_cp.c          |  365 ++---
 drivers/s390/cio/vfio_ccw_cp.h          |    3 +-
 drivers/s390/cio/vfio_ccw_drv.c         |    2 +-
 drivers/s390/cio/vfio_ccw_fsm.c         |    2 +-
 drivers/s390/crypto/vfio_ap_ops.c       |  116 +-
 drivers/s390/crypto/zcrypt_api.c        |    6 +-
 drivers/watchdog/diag288_wdt.c          |  161 +--
 109 files changed, 4690 insertions(+), 4648 deletions(-)
 create mode 100644 arch/s390/boot/vmem.c
 delete mode 100644 arch/s390/include/asm/cpu_mcf.h
 create mode 100644 arch/s390/include/uapi/asm/fs3270.h
 create mode 100644 arch/s390/include/uapi/asm/raw3270.h
 delete mode 100644 arch/s390/kernel/perf_cpum_cf_common.c
 create mode 100644 arch/s390/kernel/rethook.c
 create mode 100644 arch/s390/kernel/rethook.h
 delete mode 100644 drivers/s390/char/tty3270.c
 delete mode 100644 drivers/s390/char/tty3270.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ