[GIT PULL] s390 patches for 4.11 merge window #1

From: Martin Schwidefsky
Date: Wed Feb 22 2017 - 01:40:21 EST


Hi Linus,

please pull from the 'for-linus' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus

to receive the following updates:
--
The first part of the s390 update for 4.11. Changes included:

* New entropy generation for the pseudo random number generator.

* Early boot printk output via sclp to help debug crashes on boot.
This needs to be enabled with a kernel parameter.

* Add proper no-execute support with a bit in the page table entry.

* Bug fixes and cleanups.
--

A small fixup is needed for the merge conflict in arch/s390/Kconfig.debug:

diff --git a/arch/s390/Kconfig.debug b/arch/s390/Kconfig.debug
index 8564bd0..ba5f878 100644
--- a/arch/s390/Kconfig.debug
+++ b/arch/s390/Kconfig.debug
@@ -17,14 +17,7 @@ config S390_PTDUMP
kernel.
If in doubt, say "N"

-<<<<<<< HEAD
-config DEBUG_SET_MODULE_RONX
- def_bool y
- depends on MODULES
-
config EARLY_PRINTK
def_bool y

-=======
->>>>>>> master
endmenu

The Shortlog:

Christian Borntraeger (1):
s390: replace ACCESS_ONCE with READ_ONCE

Corentin Labbe (1):
s390/zcore: remove unneeded linux/miscdevice.h include

Daniel Borkmann (1):
s390/bpf: remove redundant check for non-null image

Gerald Schaefer (1):
s390/dcssblk: fix device size calculation in dcssblk_direct_access()

Harald Freudenberger (4):
s390/crypto: Extend key length check for AES-XTS in fips mode.
s390/prng: Adjust generation of entropy to produce real 256 bits.
s390/zcrypt: use spin_lock_bh for all queue locks and unlocks.
s390/zcrypt: Removed unneeded debug feature directory creation.

Heiko Carstens (27):
s390/cpumf: get rid of variable length array
s390/lib: improve memmove, memset and memcpy
s390/cio: get rid of variable length array
s390/zcrypt: make structures static
s390/zcrypt: get rid of variable length arrays
s390: proper type casts for csum_partial invocations
s390/setup: call memblock_reserve only for size > 0
s390/mem_detect: add debugging output
s390/mem_detect: fix memory type of first block
s390/topology: reduce number of printks
s390: remove couple of unneeded semicolons
s390: use false/true when using bool
s390/topology: make "topology=off" parameter work
s390/sclp: make early sclp irq handler more robust
s390/sclp: always stay within bounds of the early sccb
s390: provide sclp based boot console
s390: make setup_randomness work
s390/sclp: move early printk code to drivers
s390/sclp: disable early sclp code as soon as the base sclp driver is active
s390/sclp: make early sclp code readable
s390/sclp: don't add new lines to each printed string
s390/sclp: get rid of common response code handling
s390: use correct input data address for setup_randomness
s390/mm: make memory_block_size_bytes available for !MEMORY_HOTPLUG
s390: get rid of MACHINE_HAS_PFMF and MACHINE_HAS_HPAGE
s390/mm: add cond_resched call to kernel page table dumper
s390: add missing "do {} while (0)" loop constructs to multiline macros

Jan HÃppner (2):
s390/dasd: Always store parameter elements in an array
s390/dasd: Improve parameter list parsing

Julian Wiedmann (4):
s390/qdio: clear DSCI prior to scanning multiple input queues
s390/qdio: clean up q->irq_ptr usage
s390/qdio: fix up tiqdio_thinint_handler() kerneldoc
s390/qdio: improve some debug prints

Martin Schwidefsky (6):
s390: store breaking event address only for program checks
s390/topology: correct allocation of topology information
s390/debug: make debug event time stamps relative to the boot TOD clock
s390: report new vector facilities
s390: add no-execute support
s390/syscall: fix single stepped system calls

Matthew Rosato (1):
s390/crypto: Check des3_ede keys for uniqueness in fips mode

Michael Holzheu (1):
s390/kdump: Use "LINUX" ELF note name instead of "CORE"

Paul Gortmaker (4):
s390: kernel: Audit and remove any unnecessary uses of module.h
s390: mm: Audit and remove any unnecessary uses of module.h
s390: Audit and remove any remaining unnecessary uses of module.h
s390/zcrypt: make ap_bus explicitly non-modular

Sebastian Ott (8):
s390/cio: clarify cssid usage
s390/cio: use cssid for pgid generation
s390/cio: css attribute cleanup
s390/cio: css initialization cleanup
s390/cio: export real cssid
s390/cio: remove unused struct member
s390/pci: use proper endianness annotations
s390/cio: remove cmf related code relevant for 31 bit only

Stefan Haberland (4):
s390/dasd: allow 0 for path_threshold attribute
s390/dasd: check for device error pointer within state change interrupts
s390/dasd: check blockdevice pointer before trying to sync blockdevice
s390/dasd: correct inconsistent indenting

Documentation/admin-guide/kernel-parameters.txt | 5 +-
arch/s390/Kconfig.debug | 4 +
arch/s390/boot/compressed/Makefile | 3 +-
arch/s390/boot/compressed/misc.c | 2 +-
arch/s390/crypto/aes_s390.c | 7 +
arch/s390/crypto/des_s390.c | 14 ++
arch/s390/crypto/prng.c | 40 ++--
arch/s390/include/asm/cacheflush.h | 30 ++-
arch/s390/include/asm/cpu_mf.h | 5 +-
arch/s390/include/asm/ctl_reg.h | 12 +-
arch/s390/include/asm/elf.h | 2 +
arch/s390/include/asm/hugetlb.h | 2 +-
arch/s390/include/asm/livepatch.h | 2 +-
arch/s390/include/asm/pci_clp.h | 2 +-
arch/s390/include/asm/pgtable.h | 97 +++++---
arch/s390/include/asm/processor.h | 4 +-
arch/s390/include/asm/sclp.h | 12 +-
arch/s390/include/asm/setup.h | 5 +-
arch/s390/include/asm/spinlock.h | 2 +-
arch/s390/include/asm/timex.h | 8 -
arch/s390/include/asm/uaccess.h | 8 +-
arch/s390/kernel/Makefile | 12 +-
arch/s390/kernel/als.c | 13 +-
arch/s390/kernel/compat_linux.c | 1 -
arch/s390/kernel/cpcmd.c | 2 +-
arch/s390/kernel/crash_dump.c | 9 +-
arch/s390/kernel/debug.c | 15 +-
arch/s390/kernel/diag.c | 3 +-
arch/s390/kernel/dis.c | 2 +-
arch/s390/kernel/early.c | 31 +++
arch/s390/kernel/early_printk.c | 35 +++
arch/s390/kernel/ebcdic.c | 4 +-
arch/s390/kernel/entry.S | 63 ++---
arch/s390/kernel/idle.c | 14 +-
arch/s390/kernel/ipl.c | 8 +-
arch/s390/kernel/irq.c | 3 +-
arch/s390/kernel/jump_label.c | 1 -
arch/s390/kernel/kprobes.c | 8 +-
arch/s390/kernel/module.c | 3 +-
arch/s390/kernel/nmi.c | 2 +-
arch/s390/kernel/os_info.c | 6 +-
arch/s390/kernel/perf_cpum_cf_events.c | 2 +-
arch/s390/kernel/process.c | 2 +-
arch/s390/kernel/processor.c | 4 +-
arch/s390/kernel/sclp.c | 196 ----------------
arch/s390/kernel/setup.c | 20 +-
arch/s390/kernel/smp.c | 2 +-
arch/s390/kernel/stacktrace.c | 2 +-
arch/s390/kernel/swsusp.S | 4 +-
arch/s390/kernel/sysinfo.c | 2 +-
arch/s390/kernel/time.c | 7 +-
arch/s390/kernel/topology.c | 21 +-
arch/s390/kernel/vdso.c | 2 +-
arch/s390/kernel/vmlinux.lds.S | 9 +-
arch/s390/kvm/kvm-s390.c | 1 +
arch/s390/kvm/priv.c | 2 +-
arch/s390/kvm/vsie.c | 2 +-
arch/s390/lib/delay.c | 2 +-
arch/s390/lib/mem.S | 28 ++-
arch/s390/lib/spinlock.c | 4 +-
arch/s390/lib/string.c | 3 +-
arch/s390/lib/xor.c | 2 +-
arch/s390/mm/cmm.c | 1 +
arch/s390/mm/dump_pagetables.c | 18 +-
arch/s390/mm/extmem.c | 4 +-
arch/s390/mm/fault.c | 42 +++-
arch/s390/mm/hugetlbpage.c | 10 +-
arch/s390/mm/init.c | 21 +-
arch/s390/mm/mem_detect.c | 7 +-
arch/s390/mm/mmap.c | 2 +-
arch/s390/mm/pageattr.c | 118 +++++-----
arch/s390/mm/pgtable.c | 2 +
arch/s390/mm/vmem.c | 44 +++-
arch/s390/net/bpf_jit_comp.c | 11 +-
arch/s390/pci/pci.c | 8 +-
drivers/s390/block/dasd.c | 16 +-
drivers/s390/block/dasd_devmap.c | 294 ++++++++++++------------
drivers/s390/block/dasd_eckd.c | 4 +-
drivers/s390/block/dasd_int.h | 2 +-
drivers/s390/block/dcssblk.c | 2 +-
drivers/s390/char/Makefile | 16 +-
drivers/s390/char/con3270.c | 2 +-
drivers/s390/char/raw3270.c | 2 +-
drivers/s390/char/sclp.c | 32 ---
drivers/s390/char/sclp.h | 40 +++-
drivers/s390/char/sclp_early.c | 201 ++++++----------
drivers/s390/char/sclp_early_core.c | 208 +++++++++++++++++
drivers/s390/char/zcore.c | 3 +-
drivers/s390/cio/chp.c | 13 +-
drivers/s390/cio/chp.h | 2 +-
drivers/s390/cio/chsc.c | 48 +++-
drivers/s390/cio/chsc.h | 2 +
drivers/s390/cio/cmf.c | 10 +-
drivers/s390/cio/css.c | 209 +++++++++--------
drivers/s390/cio/css.h | 13 +-
drivers/s390/cio/qdio_main.c | 5 +-
drivers/s390/cio/qdio_thinint.c | 19 +-
drivers/s390/crypto/ap_asm.h | 10 +-
drivers/s390/crypto/ap_bus.c | 57 +----
drivers/s390/crypto/ap_card.c | 2 +-
drivers/s390/crypto/ap_queue.c | 2 +-
drivers/s390/crypto/zcrypt_api.c | 15 +-
drivers/s390/virtio/virtio_ccw.c | 2 +-
103 files changed, 1254 insertions(+), 1083 deletions(-)
create mode 100644 arch/s390/kernel/early_printk.c
delete mode 100644 arch/s390/kernel/sclp.c
create mode 100644 drivers/s390/char/sclp_early_core.c