These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / x86 / include / asm / stackprotector.h
index 64fb5cb..02fa396 100644 (file)
@@ -39,7 +39,9 @@
 #include <asm/processor.h>
 #include <asm/percpu.h>
 #include <asm/desc.h>
+
 #include <linux/random.h>
+#include <linux/sched.h>
 
 /*
  * 24 byte read-only segment initializer for stack canary.  Linker
@@ -72,13 +74,12 @@ static __always_inline void boot_init_stack_canary(void)
         * For preempt-rt we need to weaken the randomness a bit, as
         * we can't call into the random generator from atomic context
         * due to locking constraints. We just leave canary
-        * uninitialized and use the TSC based randomness on top of
-        * it.
+        * uninitialized and use the TSC based randomness on top of it.
         */
 #ifndef CONFIG_PREEMPT_RT_FULL
        get_random_bytes(&canary, sizeof(canary));
 #endif
-       tsc = __native_read_tsc();
+       tsc = rdtsc();
        canary += tsc + (tsc << 32UL);
 
        current->stack_canary = canary;