Commit c4301c32 authored by Linus Torvalds's avatar Linus Torvalds

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

Pull s390 updates from Martin Schwidefsky:
 "One patch to enable the BPF system call and three more bug fixes"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/uprobes: fix kprobes dependency
  s390: wire up bpf syscall
  s390/mm: fixing calls of pte_unmap_unlock
  s390/hmcdrv: Restrict s390 HMC driver to S390 arch
parents c2661b80 d6fe5be3
...@@ -286,7 +286,8 @@ ...@@ -286,7 +286,8 @@
#define __NR_seccomp 348 #define __NR_seccomp 348
#define __NR_getrandom 349 #define __NR_getrandom 349
#define __NR_memfd_create 350 #define __NR_memfd_create 350
#define NR_syscalls 351 #define __NR_bpf 351
#define NR_syscalls 352
/* /*
* There are some system calls that are not present on 64 bit, some * There are some system calls that are not present on 64 bit, some
......
...@@ -217,3 +217,4 @@ COMPAT_SYSCALL_WRAP5(renameat2, int, olddfd, const char __user *, oldname, int, ...@@ -217,3 +217,4 @@ COMPAT_SYSCALL_WRAP5(renameat2, int, olddfd, const char __user *, oldname, int,
COMPAT_SYSCALL_WRAP3(seccomp, unsigned int, op, unsigned int, flags, const char __user *, uargs) COMPAT_SYSCALL_WRAP3(seccomp, unsigned int, op, unsigned int, flags, const char __user *, uargs)
COMPAT_SYSCALL_WRAP3(getrandom, char __user *, buf, size_t, count, unsigned int, flags) COMPAT_SYSCALL_WRAP3(getrandom, char __user *, buf, size_t, count, unsigned int, flags)
COMPAT_SYSCALL_WRAP2(memfd_create, const char __user *, uname, unsigned int, flags) COMPAT_SYSCALL_WRAP2(memfd_create, const char __user *, uname, unsigned int, flags)
COMPAT_SYSCALL_WRAP3(bpf, int, cmd, union bpf_attr *, attr, unsigned int, size);
...@@ -359,3 +359,4 @@ SYSCALL(sys_renameat2,sys_renameat2,compat_sys_renameat2) ...@@ -359,3 +359,4 @@ SYSCALL(sys_renameat2,sys_renameat2,compat_sys_renameat2)
SYSCALL(sys_seccomp,sys_seccomp,compat_sys_seccomp) SYSCALL(sys_seccomp,sys_seccomp,compat_sys_seccomp)
SYSCALL(sys_getrandom,sys_getrandom,compat_sys_getrandom) SYSCALL(sys_getrandom,sys_getrandom,compat_sys_getrandom)
SYSCALL(sys_memfd_create,sys_memfd_create,compat_sys_memfd_create) /* 350 */ SYSCALL(sys_memfd_create,sys_memfd_create,compat_sys_memfd_create) /* 350 */
SYSCALL(sys_bpf,sys_bpf,compat_sys_bpf)
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
* Author(s): Jan Willeke, * Author(s): Jan Willeke,
*/ */
#include <linux/kprobes.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/uprobes.h> #include <linux/uprobes.h>
#include <linux/compat.h> #include <linux/compat.h>
#include <linux/kdebug.h> #include <linux/kdebug.h>
#include <asm/switch_to.h> #include <asm/switch_to.h>
#include <asm/facility.h> #include <asm/facility.h>
#include <asm/kprobes.h>
#include <asm/dis.h> #include <asm/dis.h>
#include "entry.h" #include "entry.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Copyright IBM Corp. 2014 * Copyright IBM Corp. 2014
*/ */
#include <linux/kprobes.h> #include <asm/kprobes.h>
#include <asm/dis.h> #include <asm/dis.h>
int probe_is_prohibited_opcode(u16 *insn) int probe_is_prohibited_opcode(u16 *insn)
......
...@@ -656,7 +656,7 @@ void __gmap_zap(struct gmap *gmap, unsigned long gaddr) ...@@ -656,7 +656,7 @@ void __gmap_zap(struct gmap *gmap, unsigned long gaddr)
} }
pgste_set_unlock(ptep, pgste); pgste_set_unlock(ptep, pgste);
out_pte: out_pte:
pte_unmap_unlock(*ptep, ptl); pte_unmap_unlock(ptep, ptl);
} }
EXPORT_SYMBOL_GPL(__gmap_zap); EXPORT_SYMBOL_GPL(__gmap_zap);
...@@ -943,7 +943,7 @@ int set_guest_storage_key(struct mm_struct *mm, unsigned long addr, ...@@ -943,7 +943,7 @@ int set_guest_storage_key(struct mm_struct *mm, unsigned long addr,
} }
if (!(pte_val(*ptep) & _PAGE_INVALID) && if (!(pte_val(*ptep) & _PAGE_INVALID) &&
(pte_val(*ptep) & _PAGE_PROTECT)) { (pte_val(*ptep) & _PAGE_PROTECT)) {
pte_unmap_unlock(*ptep, ptl); pte_unmap_unlock(ptep, ptl);
if (fixup_user_fault(current, mm, addr, FAULT_FLAG_WRITE)) { if (fixup_user_fault(current, mm, addr, FAULT_FLAG_WRITE)) {
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
return -EFAULT; return -EFAULT;
...@@ -974,7 +974,7 @@ int set_guest_storage_key(struct mm_struct *mm, unsigned long addr, ...@@ -974,7 +974,7 @@ int set_guest_storage_key(struct mm_struct *mm, unsigned long addr,
pgste_val(new) |= PGSTE_UC_BIT; pgste_val(new) |= PGSTE_UC_BIT;
pgste_set_unlock(ptep, new); pgste_set_unlock(ptep, new);
pte_unmap_unlock(*ptep, ptl); pte_unmap_unlock(ptep, ptl);
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);
return 0; return 0;
} }
......
...@@ -105,7 +105,7 @@ config SCLP_ASYNC ...@@ -105,7 +105,7 @@ config SCLP_ASYNC
config HMC_DRV config HMC_DRV
def_tristate m def_tristate m
prompt "Support for file transfers from HMC drive CD/DVD-ROM" prompt "Support for file transfers from HMC drive CD/DVD-ROM"
depends on 64BIT depends on S390 && 64BIT
select CRC16 select CRC16
help help
This option enables support for file transfers from a Hardware This option enables support for file transfers from a Hardware
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment