rk: revert 20f3d0b+v3.0.66 to v3.0
[firefly-linux-kernel-4.4.55.git] / arch / powerpc / kernel / process.c
index 5596397ce959b6b728ee5c2bcbd818ddf3f14b2b..91e52df3d81d19ec7a22bba96fee3ea2d12b4002 100644 (file)
@@ -794,8 +794,16 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
 #endif /* CONFIG_PPC_STD_MMU_64 */
 #ifdef CONFIG_PPC64 
        if (cpu_has_feature(CPU_FTR_DSCR)) {
-               p->thread.dscr_inherit = current->thread.dscr_inherit;
-               p->thread.dscr = current->thread.dscr;
+               if (current->thread.dscr_inherit) {
+                       p->thread.dscr_inherit = 1;
+                       p->thread.dscr = current->thread.dscr;
+               } else if (0 != dscr_default) {
+                       p->thread.dscr_inherit = 1;
+                       p->thread.dscr = dscr_default;
+               } else {
+                       p->thread.dscr_inherit = 0;
+                       p->thread.dscr = 0;
+               }
        }
 #endif