Merge remote-tracking branch 'lsk/v3.10/topic/aosp' into linux-linaro-lsk-android
authorMark Brown <broonie@kernel.org>
Mon, 8 Sep 2014 11:05:48 +0000 (12:05 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 8 Sep 2014 11:05:48 +0000 (12:05 +0100)
Conflicts:
arch/arm64/Kconfig
arch/arm64/crypto/Makefile
arch/arm64/crypto/aes-glue.c
arch/arm64/crypto/ghash-ce-core.S
arch/arm64/crypto/ghash-ce-glue.c
arch/arm64/include/asm/ptrace.h
arch/arm64/include/asm/thread_info.h
arch/arm64/kernel/fpsimd.c
crypto/ablk_helper.c
drivers/base/cpu.c
drivers/hid/hid-core.c
net/ipv4/raw.c

45 files changed:
1  2 
MAINTAINERS
arch/Kconfig
arch/arm/Kconfig
arch/arm/include/asm/unistd.h
arch/arm64/crypto/ghash-ce-core.S
arch/arm64/include/asm/processor.h
arch/arm64/include/asm/ptrace.h
arch/arm64/include/asm/thread_info.h
arch/arm64/kernel/entry.S
arch/arm64/kernel/fpsimd.c
arch/arm64/kernel/process.c
arch/arm64/kernel/ptrace.c
arch/arm64/kernel/signal.c
arch/arm64/kernel/signal32.c
arch/arm64/mm/init.c
arch/x86/syscalls/syscall_64.tbl
drivers/base/cpu.c
drivers/cpufreq/cpufreq_interactive.c
drivers/cpufreq/cpufreq_stats.c
fs/exec.c
fs/ext4/ext4.h
fs/ext4/ioctl.c
fs/ext4/mballoc.c
fs/seq_file.c
include/linux/mm.h
include/linux/syscalls.h
include/net/ip.h
include/net/ip6_route.h
kernel/fork.c
net/core/fib_rules.c
net/ipv4/fib_frontend.c
net/ipv4/ip_output.c
net/ipv4/ping.c
net/ipv4/raw.c
net/ipv4/route.c
net/ipv4/udp.c
net/ipv6/datagram.c
net/ipv6/icmp.c
net/ipv6/raw.c
net/ipv6/route.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c
net/wireless/nl80211.c
net/wireless/scan.c
security/selinux/hooks.c

diff --cc MAINTAINERS
Simple merge
diff --cc arch/Kconfig
Simple merge
index bd4e7c31e9e7408f6f93480e3dae8c0c1167fa4e,ccc42834dd45709b21bf989efd2e33c42bda0a63..993973b061d42f694f9341c58dfca5e7502b9887
@@@ -20,9 -19,10 +20,9 @@@ config AR
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select HARDIRQS_SW_RESEND
 -      select HAVE_AOUT
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
        select HAVE_ARCH_KGDB
-       select HAVE_ARCH_SECCOMP_FILTER
+       select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
        select HAVE_ARCH_TRACEHOOK
        select HAVE_BPF_JIT
        select HAVE_C_RECORDMCOUNT
Simple merge
Simple merge
Simple merge
Simple merge
index 59f151f8241d599724d0317dad48fc3437c76080,5e95a6ce074a7968cd76fdc5f8d9a06f1f56fa6c..215f935619e75c1f8efc8b54c70be77ccf339a58
@@@ -109,10 -106,8 +109,11 @@@ static inline struct thread_info *curre
  #define TIF_SIGPENDING                0
  #define TIF_NEED_RESCHED      1
  #define TIF_NOTIFY_RESUME     2       /* callback before returning to user */
+ #define TIF_FOREIGN_FPSTATE   3       /* CPU's FP state is not current's */
  #define TIF_SYSCALL_TRACE     8
 +#define TIF_SYSCALL_AUDIT     9
 +#define TIF_SYSCALL_TRACEPOINT        10
 +#define TIF_SECCOMP           11
  #define TIF_POLLING_NRFLAG    16
  #define TIF_MEMDIE            18      /* is terminating due to OOM killer */
  #define TIF_FREEZE            19
  #define _TIF_SIGPENDING               (1 << TIF_SIGPENDING)
  #define _TIF_NEED_RESCHED     (1 << TIF_NEED_RESCHED)
  #define _TIF_NOTIFY_RESUME    (1 << TIF_NOTIFY_RESUME)
 +#define _TIF_SYSCALL_TRACE    (1 << TIF_SYSCALL_TRACE)
 +#define _TIF_SYSCALL_AUDIT    (1 << TIF_SYSCALL_AUDIT)
 +#define _TIF_SYSCALL_TRACEPOINT       (1 << TIF_SYSCALL_TRACEPOINT)
 +#define _TIF_SECCOMP          (1 << TIF_SECCOMP)
+ #define _TIF_FOREIGN_FPSTATE  (1 << TIF_FOREIGN_FPSTATE)
  #define _TIF_32BIT            (1 << TIF_32BIT)
  
  #define _TIF_WORK_MASK                (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \
-                                _TIF_NOTIFY_RESUME)
+                                _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE)
  
 +#define _TIF_SYSCALL_WORK     (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
 +                               _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP)
 +
  #endif /* __KERNEL__ */
  #endif /* __ASM_THREAD_INFO_H */
Simple merge
index 522df9c7f3a4288cf5c8e5bb07f564304bd6ab15,093bee27e527610268355bcd0aebd3e310ae83e1..845fae3aeb26fb2aecbdb8e56011e4dd47942b1d
@@@ -80,9 -154,19 +155,20 @@@ void fpsimd_thread_switch(struct task_s
  
  void fpsimd_flush_thread(void)
  {
 +      preempt_disable();
        memset(&current->thread.fpsimd_state, 0, sizeof(struct fpsimd_state));
-       fpsimd_load_state(&current->thread.fpsimd_state);
+       set_thread_flag(TIF_FOREIGN_FPSTATE);
+ }
+ /*
+  * Save the userland FPSIMD state of 'current' to memory, but only if the state
+  * currently held in the registers does in fact belong to 'current'
+  */
+ void fpsimd_preserve_current_state(void)
+ {
+       preempt_disable();
+       if (!test_thread_flag(TIF_FOREIGN_FPSTATE))
+               fpsimd_save_state(&current->thread.fpsimd_state);
        preempt_enable();
  }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/exec.c
Simple merge
diff --cc fs/ext4/ext4.h
Simple merge
diff --cc fs/ext4/ioctl.c
Simple merge
Simple merge
diff --cc fs/seq_file.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/ping.c
Simple merge
diff --cc net/ipv4/raw.c
Simple merge
Simple merge
diff --cc net/ipv4/udp.c
Simple merge
Simple merge
diff --cc net/ipv6/icmp.c
Simple merge
diff --cc net/ipv6/raw.c
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/udp.c
Simple merge
Simple merge
Simple merge
Simple merge