linux/arch/powerpc/platforms
Vaidyanathan Srinivasan d8ea782b56 powerpc/powernv: Fix vma page prot flags in opal-prd driver
opal-prd driver will mmap() firmware code/data area as private
mapping to prd user space daemon.  Write to this page will
trigger COW faults.  The new COW pages are normal kernel RAM
pages accounted by the kernel and are not special.

vma->vm_page_prot value will be used at page fault time
for the new COW pages, while pgprot_t value passed in
remap_pfn_range() is used for the initial page table entry.

Hence:
* Do not add _PAGE_SPECIAL in vma, but only for remap_pfn_range()
* Also remap_pfn_range() will add the _PAGE_SPECIAL flag using
  pte_mkspecial() call, hence no need to specify in the driver

This fix resolves the page accounting warning shown below:
BUG: Bad rss-counter state mm:c0000007d34ac600 idx:1 val:19

The above warning is triggered since _PAGE_SPECIAL was incorrectly
being set for the normal kernel COW pages.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-07-06 12:06:42 +10:00
..
8xx powerpc/8xx: Remove Kconfig symbol FADS 2014-11-07 18:10:46 -06:00
40x powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
44x powerpc/44x/Akebono: Remove select of IBM_EMAC_RGMII_WOL 2014-12-29 15:45:44 +11:00
52xx powerpc updates for 4.2 2015-06-24 08:46:32 -07:00
82xx powerpc: platforms: 82xx: drop owner assignment from platform_drivers 2014-10-20 16:20:11 +02:00
83xx powerpc: don't use module_init in non-modular 83xx suspend code 2015-06-16 14:12:29 -04:00
85xx powerpc/85xx: p1025twr: add module conditional to fix QE-uart issue 2015-06-02 21:37:29 -05:00
86xx powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
512x powerpc: call of_clk_init() from time_init() 2015-01-20 10:09:02 -08:00
amigaone lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
cell Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-07-04 19:36:06 -07:00
chrp powerpc32/chrp: fix section mismatch warning 2015-03-31 19:05:50 +11:00
embedded6xx powerpc: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc 2015-06-02 16:54:44 +10:00
maple powerpc/maple: Move controller ops from ppc_md to controller_ops 2015-04-11 20:49:17 +10:00
pasemi powerpc/iommu: Move tce_xxx callbacks from ppc_md to iommu_table 2015-06-11 15:14:56 +10:00
powermac powerpc/powermac: Fix build error seen with powermac smp builds 2015-04-15 15:52:59 +10:00
powernv powerpc/powernv: Fix vma page prot flags in opal-prd driver 2015-07-06 12:06:42 +10:00
ps3 powerpc: use device_initcall for registering rtc devices 2015-06-16 14:12:29 -04:00
pseries powerpc/spapr: vfio: Switch from iommu_table to new iommu_table_group 2015-06-11 15:16:15 +10:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
Kconfig.cputype powerpc: Little endian should depend on PPC_BOOK3S_64 2015-05-18 16:48:11 +10:00
Makefile powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00