]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
Merge tag 'v3.14.78' into linux-3.14.x-grsecurity-3.1 v3.14.78-grsec
authorArne Fitzenreiter <arne_f@ipfire.org>
Mon, 12 Sep 2016 18:19:18 +0000 (20:19 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Mon, 12 Sep 2016 18:19:45 +0000 (20:19 +0200)
This is the 3.14.78 stable release

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
1  2 
Makefile
arch/x86/include/asm/tlbflush.h
drivers/acpi/sysfs.c
drivers/pci/pci-sysfs.c
drivers/usb/core/devices.c
drivers/usb/core/hcd.c
drivers/usb/core/hub.c
fs/seq_file.c
net/mac80211/cfg.c

diff --cc Makefile
Simple merge
index 1178cdf1600fccf80f3cfb6f1d1313d4b0be85c5,5e4b0cc54e4337bf5f52ca29476484fd052240f3..54e9aeae1ca74e129ba977835984b65c0b56e229
  
  static inline void __native_flush_tlb(void)
  {
 +      if (static_cpu_has(X86_FEATURE_INVPCID)) {
 +              u64 descriptor[2];
 +
 +              descriptor[0] = PCID_KERNEL;
 +              asm volatile(__ASM_INVPCID : : "d"(&descriptor), "a"(INVPCID_ALL_NONGLOBAL) : "memory");
 +              return;
 +      }
 +
 +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
 +      if (static_cpu_has(X86_FEATURE_PCID)) {
 +              unsigned int cpu = raw_get_cpu();
 +
 +              native_write_cr3(__pa(get_cpu_pgd(cpu, user)) | PCID_USER);
 +              native_write_cr3(__pa(get_cpu_pgd(cpu, kernel)) | PCID_KERNEL);
 +              raw_put_cpu_no_resched();
 +              return;
 +      }
 +#endif
 +
+       /*
+        * If current->mm == NULL then we borrow a mm which may change during a
+        * task switch and therefore we must not be preempted while we write CR3
+        * back:
+        */
+       preempt_disable();
        native_write_cr3(native_read_cr3());
+       preempt_enable();
  }
  
  static inline void __native_flush_tlb_global_irq_disabled(void)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/seq_file.c
Simple merge
Simple merge