linux/arch
Alexey Brodkin 06f34e1c28 ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE
We used to calculate page address differently in 2 cases:

1. In virt_to_page(x) we do
 --->8---
 mem_map + (x - CONFIG_LINUX_LINK_BASE) >> PAGE_SHIFT
 --->8---

2. In in pte_page(x) we do
 --->8---
 mem_map + (pte_val(x) - PAGE_OFFSET) >> PAGE_SHIFT
 --->8---

That leads to problems in case PAGE_OFFSET != CONFIG_LINUX_LINK_BASE -
different pages will be selected depending on where and how we calculate
page address.

In particular in the STAR 9000853582 when gdb attempted to read memory
of another process it got improper page in get_user_pages() because this
is exactly one of the places where we search for a page by pte_page().

The fix is trivial - we need to calculate page address similarly in both
cases.

Cc: <stable@vger.kernel.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2015-02-13 18:01:12 +05:30
..
alpha alpha/PCI: Clip bridge windows to fit in upstream windows 2015-01-16 10:04:42 -06:00
arc ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE 2015-02-13 18:01:12 +05:30
arm ARM: SoC fixes 2015-01-25 17:29:06 -08:00
arm64 ARM: SoC fixes 2015-01-25 17:29:06 -08:00
avr32 module_arch_freeing_init(): new hook for archs before module->module_init freed. 2015-01-20 11:38:32 +10:30
blackfin arch/blackfin/mach-bf533/boards/stamp.c: add linux/delay.h 2015-01-08 15:10:52 -08:00
c6x net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
cris Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-01-25 17:27:18 -08:00
frv frv/PCI: Clip bridge windows to fit in upstream windows 2015-01-16 10:04:42 -06:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel 2014-12-19 17:57:51 -08:00
ia64 PCI updates for v3.19: 2015-01-24 10:58:47 +12:00
m32r Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-12-11 14:27:06 -08:00
m68k m68k: Wire up execveat 2015-01-11 11:14:14 +01:00
metag arch: Add lightweight memory barriers dma_rmb() and dma_wmb() 2014-12-11 21:15:06 -05:00
microblaze microblaze/PCI: Clip bridge windows to fit in upstream windows 2015-01-16 10:04:43 -06:00
mips module: remove mod arg from module_free, rename module_memfree(). 2015-01-20 11:38:33 +10:30
mn10300 mn10300/PCI: Clip bridge windows to fit in upstream windows 2015-01-16 10:04:43 -06:00
nios2 nios2 fixes for v3.19-rc6 2015-01-23 06:52:14 +12:00
openrisc net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
parisc Surprising number of fixes this merge window :( 2015-01-23 06:40:36 +12:00
powerpc PCI updates for v3.19: 2015-01-24 10:58:47 +12:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-01-23 06:53:06 +12:00
score net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05:00
sh PM: Eliminate CONFIG_PM_RUNTIME 2014-12-19 22:55:06 +01:00
sparc PCI updates for v3.19: 2015-01-24 10:58:47 +12:00
tile module: remove mod arg from module_free, rename module_memfree(). 2015-01-20 11:38:33 +10:30
um um: Skip futex_atomic_cmpxchg_inatomic() test 2015-01-04 14:20:26 +01:00
unicore32 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-12-11 14:27:06 -08:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-01-25 18:11:17 -08:00
xtensa Xtensa fixes for 3.19: 2014-12-16 14:08:53 -08:00
.gitignore
Kconfig