linux/arch/powerpc/kernel
Anton Blanchard 00ca0de02f powerpc: Keep thread.dscr and thread.dscr_inherit in sync
When we update the DSCR either via emulation of mtspr(DSCR) or via
a change to dscr_default in sysfs we don't update thread.dscr.
We will eventually update it at context switch time but there is
a period where thread.dscr is incorrect.

If we fork at this point we will copy the old value of thread.dscr
into the child. To avoid this, always keep thread.dscr in sync with
reality.

This issue was found with the following testcase:

http://ozlabs.org/~anton/junkcode/dscr_inherit_test.c

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: <stable@kernel.org> # 3.0+
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-09-05 16:05:21 +10:00
..
vdso32 powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vdso64 powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
.gitignore
align.c
asm-offsets.c powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
audit.c
btext.c
cacheinfo.c
cacheinfo.h
clock.c
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_a2.S powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
cpu_setup_fsl_booke.S
cpu_setup_pa6t.S
cpu_setup_power7.S
cpu_setup_ppc970.S
cputable.c
crash_dump.c
crash.c
dbell.c
dma-iommu.c powerpc/dma-iommu: Fix IOMMU window check 2012-08-24 20:26:07 +10:00
dma-swiotlb.c common: dma-mapping: add support for generic dma_mmap_* calls 2012-07-30 12:25:46 +02:00
dma.c Merge branch 'for-linus-for-3.6-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-07-30 10:11:31 -07:00
entry_32.S powerpc: Set stack limit properly in crit_transfer_to_handler 2012-07-27 11:42:31 +10:00
entry_64.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
exceptions-64s.S powerpc: Give hypervisor decrementer interrupts their own handler 2012-09-05 16:05:19 +10:00
fadump.c
firmware.c
fpu.S powerpc: Enforce usage of R0-R31 where possible 2012-07-10 19:18:30 +10:00
fsl_booke_entry_mapping.S
ftrace.c powerpc/ftrace: Trace function graph entry before updating index 2012-07-27 11:42:34 +10:00
head_8xx.S
head_32.S
head_40x.S
head_44x.S
head_64.S
head_booke.h
head_fsl_booke.S Merge remote-tracking branch 'kumar/next' into next 2012-07-13 13:38:26 +10:00
hw_breakpoint.c powerpc: Fix null pointer deref in perf hardware breakpoints 2012-08-24 20:26:04 +10:00
ibmebus.c
idle_6xx.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_book3e.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_e500.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power4.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power7.S powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
idle.c
io-workarounds.c
io.c
iomap.c
iommu.c powerpc/iommu: Fix iommu pool initialization 2012-07-13 17:45:49 +10:00
irq.c powerpc: Fix build of some debug irq code 2012-07-10 19:16:20 +10:00
isa-bridge.c
jump_label.c
kgdb.c powerpc/kgdb: Restore current_thread_info properly 2012-08-24 20:26:06 +10:00
kprobes.c
kvm_emul.S
kvm.c KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
l2cr_6xx.S
legacy_serial.c
lparcfg.c
machine_kexec_32.c
machine_kexec_64.c
machine_kexec.c
Makefile
misc_32.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
misc_64.S powerpc: Fixes for instructions not using correct register naming 2012-07-10 19:18:16 +10:00
misc.S
module_32.c powerpc: Fix kernel panic during kernel module load 2012-06-08 19:59:08 +10:00
module_64.c
module.c
msi.c
nvram_64.c
of_platform.c
paca.c
pci_32.c
pci_64.c PCI: replace struct pci_bus secondary/subordinate with busn_res 2012-06-13 15:42:22 -06:00
pci_dn.c
pci_of_scan.c PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pci-common.c PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pmc.c
ppc32.h
ppc_ksyms.c
ppc_save_regs.S
proc_powerpc.c
process.c
prom_init_check.sh
prom_init.c powerpc: Fix Section mismatch warnings in prom_init.c 2012-06-29 14:35:36 +10:00
prom_parse.c
prom.c
ptrace32.c
ptrace.c
reloc_32.S
reloc_64.S
rtas_flash.c powerpc: Lack of firmware flash support is not an error 2012-07-27 11:42:33 +10:00
rtas_pci.c
rtas-proc.c
rtas-rtc.c
rtas.c
rtasd.c
setup_32.c powerpc/watchdog: move booke watchdog param related code to setup-common.c 2012-07-11 07:44:03 -05:00
setup_64.c
setup-common.c powerpc/watchdog: move booke watchdog param related code to setup-common.c 2012-07-11 07:44:03 -05:00
setup.h
signal_32.c
signal_64.c
signal.c new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
signal.h
smp-tbsync.c
smp.c powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
softemu8xx.c
stacktrace.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S
swsusp.c
sys_ppc32.c
syscalls.c powerpc: Fix personality handling in ppc64_personality() 2012-08-24 20:26:07 +10:00
sysfs.c powerpc: Keep thread.dscr and thread.dscr_inherit in sync 2012-09-05 16:05:21 +10:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c powerpc: Give hypervisor decrementer interrupts their own handler 2012-09-05 16:05:19 +10:00
traps.c powerpc: Keep thread.dscr and thread.dscr_inherit in sync 2012-09-05 16:05:21 +10:00
udbg_16550.c
udbg.c
vdso.c powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vecemu.c
vector.S
vio.c Merge branch 'for-linus-for-3.6-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-07-30 10:11:31 -07:00
vmlinux.lds.S