Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Martin Schwidefsky:

- three more patches in regard to the SPDX license tags. The missing
tags for the files in arch/s390/kvm will be merged via the KVM tree.
With that all s390 related files should have their SPDX tags.

- a patch to get rid of 'struct timespec' in the DASD driver.

- bug fixes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390: fix compat system call table
s390/mm: fix off-by-one bug in 5-level page table handling
s390: Remove redudant license text
s390: add a few more SPDX identifiers
s390/dasd: prevent prefix I/O error
s390: always save and restore all registers on context switch
s390/dasd: remove 'struct timespec' usage
s390/qdio: restrict target-full handling to IQDIO
s390/qdio: consider ERROR buffers for inbound-full condition
s390/virtio: add BSD license to virtio-ccw

+66 -45
+1
arch/s390/Kbuild
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 obj-y += kernel/ 2 3 obj-y += mm/ 3 4 obj-$(CONFIG_KVM) += kvm/
+1
arch/s390/appldata/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Makefile for the Linux - z/VM Monitor Stream. 3 4 #
+1
arch/s390/boot/compressed/vmlinux.scr
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 SECTIONS 2 3 { 3 4 .rodata.compressed : {
+1 -6
arch/s390/crypto/sha1_s390.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * Cryptographic API. 3 4 * ··· 17 16 * Copyright (c) Alan Smithee. 18 17 * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk> 19 18 * Copyright (c) Jean-Francois Dive <jef@linuxbe.org> 20 - * 21 - * This program is free software; you can redistribute it and/or modify it 22 - * under the terms of the GNU General Public License as published by the Free 23 - * Software Foundation; either version 2 of the License, or (at your option) 24 - * any later version. 25 - * 26 19 */ 27 20 #include <crypto/internal/hash.h> 28 21 #include <linux/init.h>
+1
arch/s390/hypfs/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Makefile for the linux hypfs filesystem routines. 3 4 #
+1
arch/s390/include/asm/Kbuild
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 generic-y += asm-offsets.h 2 3 generic-y += cacheflush.h 3 4 generic-y += clkdev.h
+1
arch/s390/include/asm/alternative.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef _ASM_S390_ALTERNATIVE_H 2 3 #define _ASM_S390_ALTERNATIVE_H 3 4
+1 -4
arch/s390/include/asm/ap.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * Adjunct processor (AP) interfaces 3 4 * 4 5 * Copyright IBM Corp. 2017 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License (version 2 only) 8 - * as published by the Free Software Foundation. 9 6 * 10 7 * Author(s): Tony Krowiak <akrowia@linux.vnet.ibm.com> 11 8 * Martin Schwidefsky <schwidefsky@de.ibm.com>
+1
arch/s390/include/asm/bugs.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * S390 version 3 4 * Copyright IBM Corp. 1999
+1
arch/s390/include/asm/segment.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef _ASM_SEGMENT_H 2 3 #define _ASM_SEGMENT_H 3 4
+13 -14
arch/s390/include/asm/switch_to.h
··· 30 30 asm volatile("lam 0,15,%0" : : "Q" (*(acrstype *)acrs)); 31 31 } 32 32 33 - #define switch_to(prev,next,last) do { \ 34 - if (prev->mm) { \ 35 - save_fpu_regs(); \ 36 - save_access_regs(&prev->thread.acrs[0]); \ 37 - save_ri_cb(prev->thread.ri_cb); \ 38 - save_gs_cb(prev->thread.gs_cb); \ 39 - } \ 33 + #define switch_to(prev, next, last) do { \ 34 + /* save_fpu_regs() sets the CIF_FPU flag, which enforces \ 35 + * a restore of the floating point / vector registers as \ 36 + * soon as the next task returns to user space \ 37 + */ \ 38 + save_fpu_regs(); \ 39 + save_access_regs(&prev->thread.acrs[0]); \ 40 + save_ri_cb(prev->thread.ri_cb); \ 41 + save_gs_cb(prev->thread.gs_cb); \ 40 42 update_cr_regs(next); \ 41 - if (next->mm) { \ 42 - set_cpu_flag(CIF_FPU); \ 43 - restore_access_regs(&next->thread.acrs[0]); \ 44 - restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb); \ 45 - restore_gs_cb(next->thread.gs_cb); \ 46 - } \ 47 - prev = __switch_to(prev,next); \ 43 + restore_access_regs(&next->thread.acrs[0]); \ 44 + restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb); \ 45 + restore_gs_cb(next->thread.gs_cb); \ 46 + prev = __switch_to(prev, next); \ 48 47 } while (0) 49 48 50 49 #endif /* __ASM_SWITCH_TO_H */
+1
arch/s390/include/asm/vga.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef _ASM_S390_VGA_H 2 3 #define _ASM_S390_VGA_H 3 4
+1
arch/s390/include/uapi/asm/Kbuild
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # UAPI Header export list 2 3 include include/uapi/asm-generic/Kbuild.asm 3 4
+1
arch/s390/include/uapi/asm/perf_regs.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 1 2 #ifndef _ASM_S390_PERF_REGS_H 2 3 #define _ASM_S390_PERF_REGS_H 3 4
+1
arch/s390/include/uapi/asm/sthyi.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 1 2 #ifndef _UAPI_ASM_STHYI_H 2 3 #define _UAPI_ASM_STHYI_H 3 4
+1 -1
arch/s390/include/uapi/asm/virtio-ccw.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 1 + /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 2 /* 3 3 * Definitions for virtio-ccw devices. 4 4 *
+1
arch/s390/include/uapi/asm/vmcp.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 1 2 /* 2 3 * Copyright IBM Corp. 2004, 2005 3 4 * Interface implementation for communication with the z/VM control program
+1
arch/s390/kernel/alternative.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 #include <linux/module.h> 2 3 #include <asm/alternative.h> 3 4 #include <asm/facility.h>
+1
arch/s390/kernel/perf_regs.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 #include <linux/perf_event.h> 2 3 #include <linux/perf_regs.h> 3 4 #include <linux/kernel.h>
+3 -3
arch/s390/kernel/syscalls.S
··· 370 370 SYSCALL(sys_sendmmsg,compat_sys_sendmmsg) 371 371 SYSCALL(sys_socket,sys_socket) 372 372 SYSCALL(sys_socketpair,compat_sys_socketpair) /* 360 */ 373 - SYSCALL(sys_bind,sys_bind) 374 - SYSCALL(sys_connect,sys_connect) 373 + SYSCALL(sys_bind,compat_sys_bind) 374 + SYSCALL(sys_connect,compat_sys_connect) 375 375 SYSCALL(sys_listen,sys_listen) 376 - SYSCALL(sys_accept4,sys_accept4) 376 + SYSCALL(sys_accept4,compat_sys_accept4) 377 377 SYSCALL(sys_getsockopt,compat_sys_getsockopt) /* 365 */ 378 378 SYSCALL(sys_setsockopt,compat_sys_setsockopt) 379 379 SYSCALL(sys_getsockname,compat_sys_getsockname)
+1
arch/s390/kernel/vdso64/note.S
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text. 3 4 * Here we can supply some information useful to userland.
-2
arch/s390/mm/pgalloc.c
··· 83 83 84 84 /* upgrade should only happen from 3 to 4, 3 to 5, or 4 to 5 levels */ 85 85 VM_BUG_ON(mm->context.asce_limit < _REGION2_SIZE); 86 - if (end >= TASK_SIZE_MAX) 87 - return -ENOMEM; 88 86 rc = 0; 89 87 notify = 0; 90 88 while (mm->context.asce_limit < end) {
+1
arch/s390/net/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Arch-specific network modules 3 4 #
+1
arch/s390/numa/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 obj-y += numa.o 2 3 obj-y += toptree.o 3 4 obj-$(CONFIG_NUMA_EMU) += mode_emu.o
+1
arch/s390/pci/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Makefile for the s390 PCI subsystem. 3 4 #
+1
arch/s390/tools/gen_opcode_table.c
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * Generate opcode table initializers for the in-kernel disassembler. 3 4 *
+1
drivers/s390/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Makefile for the S/390 specific device drivers 3 4 #
+1
drivers/s390/block/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 comment "S/390 block device drivers" 2 3 depends on S390 && BLOCK 3 4
+5 -5
drivers/s390/block/dasd.c
··· 759 759 /* in case of an overflow, reset the whole profile */ 760 760 if (data->dasd_io_reqs == UINT_MAX) { 761 761 memset(data, 0, sizeof(*data)); 762 - getnstimeofday(&data->starttod); 762 + ktime_get_real_ts64(&data->starttod); 763 763 } 764 764 data->dasd_io_reqs++; 765 765 data->dasd_io_sects += sectors; ··· 894 894 return; 895 895 } 896 896 memset(data, 0, sizeof(*data)); 897 - getnstimeofday(&data->starttod); 897 + ktime_get_real_ts64(&data->starttod); 898 898 spin_unlock_bh(&profile->lock); 899 899 } 900 900 ··· 911 911 kfree(data); 912 912 return 0; 913 913 } 914 - getnstimeofday(&data->starttod); 914 + ktime_get_real_ts64(&data->starttod); 915 915 profile->data = data; 916 916 spin_unlock_bh(&profile->lock); 917 917 return 0; ··· 995 995 static void dasd_stats_seq_print(struct seq_file *m, 996 996 struct dasd_profile_info *data) 997 997 { 998 - seq_printf(m, "start_time %ld.%09ld\n", 999 - data->starttod.tv_sec, data->starttod.tv_nsec); 998 + seq_printf(m, "start_time %lld.%09ld\n", 999 + (s64)data->starttod.tv_sec, data->starttod.tv_nsec); 1000 1000 seq_printf(m, "total_requests %u\n", data->dasd_io_reqs); 1001 1001 seq_printf(m, "total_sectors %u\n", data->dasd_io_sects); 1002 1002 seq_printf(m, "total_pav %u\n", data->dasd_io_alias);
+10 -6
drivers/s390/block/dasd_eckd.c
··· 531 531 pfxdata->validity.define_extent = 1; 532 532 533 533 /* private uid is kept up to date, conf_data may be outdated */ 534 - if (startpriv->uid.type != UA_BASE_DEVICE) { 534 + if (startpriv->uid.type == UA_BASE_PAV_ALIAS) 535 535 pfxdata->validity.verify_base = 1; 536 - if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) 537 - pfxdata->validity.hyper_pav = 1; 536 + 537 + if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) { 538 + pfxdata->validity.verify_base = 1; 539 + pfxdata->validity.hyper_pav = 1; 538 540 } 539 541 540 542 rc = define_extent(NULL, dedata, trk, totrk, cmd, basedev, blksize); ··· 3417 3415 pfxdata.validity.define_extent = 1; 3418 3416 3419 3417 /* private uid is kept up to date, conf_data may be outdated */ 3420 - if (startpriv->uid.type != UA_BASE_DEVICE) { 3418 + if (startpriv->uid.type == UA_BASE_PAV_ALIAS) 3421 3419 pfxdata.validity.verify_base = 1; 3422 - if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) 3423 - pfxdata.validity.hyper_pav = 1; 3420 + 3421 + if (startpriv->uid.type == UA_HYPER_PAV_ALIAS) { 3422 + pfxdata.validity.verify_base = 1; 3423 + pfxdata.validity.hyper_pav = 1; 3424 3424 } 3425 3425 3426 3426 switch (cmd) {
+1 -1
drivers/s390/block/dasd_int.h
··· 441 441 unsigned int dasd_io_nr_req[32]; /* hist. of # of requests in chanq */ 442 442 443 443 /* new data */ 444 - struct timespec starttod; /* time of start or last reset */ 444 + struct timespec64 starttod; /* time of start or last reset */ 445 445 unsigned int dasd_io_alias; /* requests using an alias */ 446 446 unsigned int dasd_io_tpm; /* requests using transport mode */ 447 447 unsigned int dasd_read_reqs; /* total number of read requests */
+1
drivers/s390/char/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 comment "S/390 character device drivers" 2 3 depends on S390 3 4
+1
drivers/s390/char/defkeymap.map
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # Default keymap for 3270 (ebcdic codepage 037). 2 3 keymaps 0-1,4-5 3 4
+1
drivers/s390/cio/blacklist.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef S390_BLACKLIST_H 2 3 #define S390_BLACKLIST_H 3 4
+4 -3
drivers/s390/cio/qdio_main.c
··· 431 431 q->qdio_error = QDIO_ERROR_SLSB_STATE; 432 432 433 433 /* special handling for no target buffer empty */ 434 - if ((!q->is_input_q && 435 - (q->sbal[q->first_to_check]->element[15].sflags) == 0x10)) { 434 + if (queue_type(q) == QDIO_IQDIO_QFMT && !q->is_input_q && 435 + q->sbal[q->first_to_check]->element[15].sflags == 0x10) { 436 436 qperf_inc(q, target_full); 437 437 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", 438 438 q->first_to_check); ··· 536 536 case SLSB_P_INPUT_ERROR: 537 537 process_buffer_error(q, count); 538 538 q->first_to_check = add_buf(q->first_to_check, count); 539 - atomic_sub(count, &q->nr_buf_used); 539 + if (atomic_sub_return(count, &q->nr_buf_used) == 0) 540 + qperf_inc(q, inbound_queue_full); 540 541 if (q->irq_ptr->perf_stat_enabled) 541 542 account_sbals_error(q, count); 542 543 break;
+1
drivers/s390/net/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 menu "S/390 network device drivers" 2 3 depends on NETDEVICES && S390 3 4
+1
drivers/s390/scsi/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 # 2 3 # Makefile for the S/390 specific device drivers 3 4 #