From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECD8CC46475 for ; Tue, 23 Oct 2018 07:01:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 98721205F4 for ; Tue, 23 Oct 2018 07:01:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 98721205F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=de.ibm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727540AbeJWPXg convert rfc822-to-8bit (ORCPT ); Tue, 23 Oct 2018 11:23:36 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:57148 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726885AbeJWPXg (ORCPT ); Tue, 23 Oct 2018 11:23:36 -0400 Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w9N6sWv6105206 for ; Tue, 23 Oct 2018 03:01:29 -0400 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0b-001b2d01.pphosted.com with ESMTP id 2n9ww0jgp9-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 23 Oct 2018 03:01:29 -0400 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 23 Oct 2018 08:01:27 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (9.149.109.196) by e06smtp02.uk.ibm.com (192.168.101.132) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Tue, 23 Oct 2018 08:01:24 +0100 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w9N71NQR4784494 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 23 Oct 2018 07:01:24 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D603F11C050; Tue, 23 Oct 2018 07:01:23 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9F9CB11C054; Tue, 23 Oct 2018 07:01:23 +0000 (GMT) Received: from mschwideX1 (unknown [9.145.34.123]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 23 Oct 2018 07:01:23 +0000 (GMT) Date: Tue, 23 Oct 2018 09:01:21 +0200 From: Martin Schwidefsky To: Linus Torvalds Cc: linux-kernel , linux-s390 , Heiko Carstens Subject: [GIT PULL] s390 patches for the 4.20 merge window #1 X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) X-TM-AS-GCONF: 00 x-cbid: 18102307-0008-0000-0000-00000283BB1E X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18102307-0009-0000-0000-000021ED3D73 Message-Id: <20181023090121.70cdbef2@mschwideX1> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-10-23_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1810230062 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, please pull s390 fixes and features for 4.20 The following changes since commit 55a5542a546238354d1f209f794414168cf8c71d: s390/hibernate: fix error handling when suspend cpu != resume cpu (2018-09-20 13:20:23 +0200) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-4.20-1 for you to fetch changes up to f822ad2c2c03af85a531c5174136b6d5b1abc566: s390/pkey: move pckmo subfunction available checks away from module init (2018-10-22 08:37:46 +0200) ---------------------------------------------------------------- s390 updates for the 4.20 merge window - Improved access control for the zcrypt driver, multiple device nodes can now be created with different access control lists - Extend the pkey API to provide random protected keys, this is useful for encrypted swap device with ephemeral protected keys - Add support for virtually mapped kernel stacks - Rework the early boot code, this moves the memory detection into the boot code that runs prior to decompression. - Add KASAN support - Bug fixes and cleanups ---------------------------------------------------------------- Chengguang Xu (1): s390/dasd: remove unnecessary condition check Colin Ian King (1): s390/tape: fix spelling mistake "partion" -> "partition" Halil Pasic (1): s390/zcrypt: enable AP bus scan without a valid default domain Harald Freudenberger (6): s390/zcrypt: multiple zcrypt device nodes support s390/zcrypt: zcrypt device driver cleanup s390/zcrypt: provide apfs failure code on type 86 error reply s390/zcrypt: add ap_adapter_mask sysfs attribute s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function s390/pkey: move pckmo subfunction available checks away from module init Heiko Carstens (2): s390/dumpstack: print psw mask and address again s390/mem_detect: add missing include Ingo Franzki (8): s390/pkey: Introduce new API for random protected key generation s390/pkey: Define protected key blob format s390/pkey: Add sysfs attributes to emit protected key blobs s390/pkey: Add sysfs attributes to emit secure key blobs s390/pkey: Introduce new API for random protected key verification s390/pkey: Introduce new API for transforming key blobs s390/crypto: Enhance paes cipher to accept variable length key material s390/pkey: Load pkey kernel module automatically Jan Höppner (1): s390/sclp: Allow to request adapter reset Janosch Frank (1): s390/sthyi: Fix machine name validity indication Julian Wiedmann (2): s390/qdio: clean up AOB handling s390/ccwgroup: add get_ccwgroupdev_by_busid() Martin Schwidefsky (9): s390: add initial 64-bit restart PSW s390/appldata: pass parameter list pointer to appldata_asm s390/appldata: do not use stack buffers for hardware data s390/hypfs: do not use stack buffers for hardware data s390/monwriter: do not use stack buffers for hardware data s390/pfault: do not use stack buffers for hardware data init: add arch_call_rest_init to allow stack switching s390: add stack switch helper s390: add support for virtually mapped kernel stacks Mikhail Zaslonko (1): s390/vmalloc: fix VMALLOC_START calculation Thomas Richter (1): s390/perf: Return error when debug_register fails Vasily Gorbik (47): s390/vdso: avoid 64-bit vdso mapping for compat tasks s390/vdso: correct CFI annotations of vDSO functions s390: clean up stacks setup s390: unify stack size definitions s390: remove decompressor's head.S s390/decompressor: rework uncompressed image info collection s390/decompressor: get rid of .bss usage s390/sclp: simplify early hsa_size detection s390: rescue initrd as early as possible s390/decompressor: clean up and rename compressed/misc.c s390: introduce .boot.data section s390/sclp: move sclp_early_read_info to sclp_early_core.c s390/mem_detect: move tprot loop to early boot phase s390: introduce .boot.data section compile time validation s390/mem_detect: introduce SCLP storage info s390/mem_detect: introduce z/VM specific diag260 call s390/mem_detect: use SCLP info for continuous memory detection s390/mem_detect: replace tprot loop with binary search s390/mem_detect: add info source debug print s390/sclp: introduce sclp_early_get_hsa_size s390: move ipl block and cmd line handling to early boot phase s390/mm: add missing pfn_to_kaddr helper s390/kasan: avoid vdso instrumentation s390/kasan: avoid instrumentation of early C code s390/kasan: replace some memory functions s390: introduce MAX_PTRS_PER_P4D s390: add pgd_page primitive s390/kasan: add initialization code and enable it s390/kasan: double the stack size s390/kasan: avoid user access code instrumentation s390/mm: add kasan shadow to the debugfs pgtable dump s390/kasan: dynamic shadow mem allocation for modules s390/kasan: use noexec and large pages compiler: introduce __no_sanitize_address_or_inline s390/smp: kasan stack instrumentation support s390/kasan: reipl and kexec support s390/dumpstack: disable __dump_trace kasan instrumentation s390/kasan: enable stack and global variables access checks s390/kasan: free early identity mapping structures s390/kasan: add option for 4-level paging support s390/mm: optimize debugfs ptdump kasan zero page walking s390/mm: improve debugfs ptdump markers walking s390/head: avoid doubling early boot stack size under KASAN s390/kasan: avoid kasan crash with standby memory defined s390/kasan: optimize kasan vmemmap allocation s390/kasan: add support for mem= kernel parameter s390/kasan: support preemptible kernel build zhong jiang (2): s390/zcrypt: Use kmemdup to replace kmalloc + memcpy s390: vmlogrdr: Use ARRAY_SIZE instead of reimplementing its function arch/s390/Kconfig | 9 + arch/s390/Makefile | 2 +- arch/s390/appldata/appldata_base.c | 33 +- arch/s390/boot/.gitignore | 1 + arch/s390/boot/Makefile | 24 +- arch/s390/boot/boot.h | 11 + arch/s390/boot/cmdline.c | 2 + arch/s390/boot/compressed/Makefile | 37 +- arch/s390/boot/compressed/decompressor.c | 85 +++ arch/s390/boot/compressed/decompressor.h | 25 + arch/s390/boot/compressed/head.S | 52 -- arch/s390/boot/compressed/misc.c | 116 ---- arch/s390/boot/compressed/vmlinux.lds.S | 24 +- arch/s390/boot/compressed/vmlinux.scr.lds.S | 15 - arch/s390/boot/ctype.c | 2 + arch/s390/boot/head.S | 12 +- arch/s390/boot/ipl_parm.c | 182 ++++++ arch/s390/boot/ipl_vmparm.c | 2 + arch/s390/boot/mem_detect.c | 182 ++++++ arch/s390/boot/startup.c | 64 +++ arch/s390/boot/string.c | 138 +++++ arch/s390/crypto/paes_s390.c | 63 ++- arch/s390/defconfig | 1 + arch/s390/hypfs/hypfs_sprp.c | 42 +- arch/s390/include/asm/appldata.h | 19 +- arch/s390/include/asm/boot_data.h | 11 + arch/s390/include/asm/ccwgroup.h | 2 + arch/s390/include/asm/facility.h | 9 +- arch/s390/include/asm/ipl.h | 4 +- arch/s390/include/asm/kasan.h | 30 + arch/s390/include/asm/lowcore.h | 4 +- arch/s390/include/asm/mem_detect.h | 82 +++ arch/s390/include/asm/mmu.h | 2 + arch/s390/include/asm/mmu_context.h | 1 + arch/s390/include/asm/page.h | 1 + arch/s390/include/asm/pgtable.h | 20 +- arch/s390/include/asm/pkey.h | 26 + arch/s390/include/asm/processor.h | 53 +- arch/s390/include/asm/qdio.h | 2 - arch/s390/include/asm/sclp.h | 5 + arch/s390/include/asm/sections.h | 12 + arch/s390/include/asm/setup.h | 3 +- arch/s390/include/asm/string.h | 21 + arch/s390/include/asm/thread_info.h | 13 +- arch/s390/include/asm/vmlinux.lds.h | 20 + arch/s390/include/uapi/asm/pkey.h | 34 ++ arch/s390/include/uapi/asm/zcrypt.h | 19 +- arch/s390/kernel/Makefile | 6 +- arch/s390/kernel/asm-offsets.c | 2 +- arch/s390/kernel/base.S | 2 +- arch/s390/kernel/dumpstack.c | 10 +- arch/s390/kernel/early.c | 47 +- arch/s390/kernel/early_nobss.c | 24 +- arch/s390/kernel/entry.S | 53 +- arch/s390/kernel/entry.h | 3 + arch/s390/kernel/head64.S | 6 +- arch/s390/kernel/ipl.c | 119 +--- arch/s390/kernel/ipl_vmparm.c | 36 ++ arch/s390/kernel/irq.c | 10 +- arch/s390/kernel/machine_kexec.c | 17 +- arch/s390/kernel/module.c | 15 +- arch/s390/kernel/perf_cpum_sf.c | 6 +- arch/s390/kernel/setup.c | 210 +++++-- arch/s390/kernel/smp.c | 87 +-- arch/s390/kernel/sthyi.c | 8 +- arch/s390/kernel/swsusp.S | 11 +- arch/s390/kernel/vdso.c | 8 +- arch/s390/kernel/vdso32/Makefile | 3 +- arch/s390/kernel/vdso32/clock_gettime.S | 19 +- arch/s390/kernel/vdso32/gettimeofday.S | 3 +- arch/s390/kernel/vdso64/Makefile | 3 +- arch/s390/kernel/vdso64/clock_gettime.S | 25 +- arch/s390/kernel/vdso64/gettimeofday.S | 3 +- arch/s390/kernel/vmlinux.lds.S | 16 + arch/s390/lib/Makefile | 4 + arch/s390/lib/mem.S | 12 +- arch/s390/mm/Makefile | 6 +- arch/s390/mm/dump_pagetables.c | 58 +- arch/s390/mm/fault.c | 38 +- arch/s390/mm/init.c | 5 +- arch/s390/mm/kasan_init.c | 387 +++++++++++++ arch/s390/mm/maccess.c | 25 +- arch/s390/mm/mem_detect.c | 62 -- arch/s390/purgatory/head.S | 4 +- drivers/crypto/Kconfig | 11 + drivers/s390/block/dasd.c | 6 +- drivers/s390/char/Makefile | 1 + drivers/s390/char/monwriter.c | 33 +- drivers/s390/char/sclp.h | 52 ++ drivers/s390/char/sclp_cmd.c | 11 +- drivers/s390/char/sclp_early.c | 123 +--- drivers/s390/char/sclp_early_core.c | 116 ++++ drivers/s390/char/sclp_pci.c | 10 +- drivers/s390/char/tape_3590.c | 2 +- drivers/s390/char/vmlogrdr.c | 2 +- drivers/s390/cio/ccwgroup.c | 30 + drivers/s390/cio/qdio_main.c | 15 +- drivers/s390/cio/qdio_setup.c | 1 - drivers/s390/crypto/Makefile | 2 +- drivers/s390/crypto/ap_bus.c | 79 ++- drivers/s390/crypto/ap_bus.h | 25 + drivers/s390/crypto/pkey_api.c | 521 ++++++++++++++++- drivers/s390/crypto/zcrypt_api.c | 627 +++++++++++++++++++-- drivers/s390/crypto/zcrypt_api.h | 15 +- drivers/s390/crypto/zcrypt_card.c | 2 - drivers/s390/crypto/zcrypt_cca_key.h | 2 - drivers/s390/crypto/zcrypt_cex2a.c | 6 +- drivers/s390/crypto/zcrypt_cex2a.h | 6 +- .../crypto/{zcrypt_pcixcc.c => zcrypt_cex2c.c} | 125 ++-- .../crypto/{zcrypt_pcixcc.h => zcrypt_cex2c.h} | 14 +- drivers/s390/crypto/zcrypt_cex4.c | 20 +- drivers/s390/crypto/zcrypt_error.h | 24 +- drivers/s390/crypto/zcrypt_msgtype50.c | 24 +- drivers/s390/crypto/zcrypt_msgtype50.h | 2 - drivers/s390/crypto/zcrypt_msgtype6.c | 74 +-- drivers/s390/crypto/zcrypt_msgtype6.h | 15 +- drivers/s390/crypto/zcrypt_queue.c | 2 - include/linux/compiler-gcc.h | 7 + include/linux/start_kernel.h | 2 + init/main.c | 9 +- lib/Kconfig.kasan | 9 + 121 files changed, 3712 insertions(+), 1183 deletions(-) create mode 100644 arch/s390/boot/boot.h create mode 100644 arch/s390/boot/cmdline.c create mode 100644 arch/s390/boot/compressed/decompressor.c create mode 100644 arch/s390/boot/compressed/decompressor.h delete mode 100644 arch/s390/boot/compressed/head.S delete mode 100644 arch/s390/boot/compressed/misc.c delete mode 100644 arch/s390/boot/compressed/vmlinux.scr.lds.S create mode 100644 arch/s390/boot/ctype.c create mode 100644 arch/s390/boot/ipl_parm.c create mode 100644 arch/s390/boot/ipl_vmparm.c create mode 100644 arch/s390/boot/mem_detect.c create mode 100644 arch/s390/boot/startup.c create mode 100644 arch/s390/boot/string.c create mode 100644 arch/s390/include/asm/boot_data.h create mode 100644 arch/s390/include/asm/kasan.h create mode 100644 arch/s390/include/asm/mem_detect.h create mode 100644 arch/s390/include/asm/vmlinux.lds.h create mode 100644 arch/s390/kernel/ipl_vmparm.c create mode 100644 arch/s390/mm/kasan_init.c delete mode 100644 arch/s390/mm/mem_detect.c rename drivers/s390/crypto/{zcrypt_pcixcc.c => zcrypt_cex2c.c} (62%) rename drivers/s390/crypto/{zcrypt_pcixcc.h => zcrypt_cex2c.h} (63%)