Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull one s390 fix from Martin Schwidefsky: "Another transparent huge page fix, we need to define a s390 variant for pmdp_set_wrprotect to flush the TLB for the huge page correctly." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/thp: implement pmdp_set_wrprotect()
This commit is contained in:
commit
8e5d573a6a
arch/s390/include/asm
|
@ -1365,6 +1365,18 @@ static inline void pmdp_invalidate(struct vm_area_struct *vma,
|
||||||
__pmd_idte(address, pmdp);
|
__pmd_idte(address, pmdp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define __HAVE_ARCH_PMDP_SET_WRPROTECT
|
||||||
|
static inline void pmdp_set_wrprotect(struct mm_struct *mm,
|
||||||
|
unsigned long address, pmd_t *pmdp)
|
||||||
|
{
|
||||||
|
pmd_t pmd = *pmdp;
|
||||||
|
|
||||||
|
if (pmd_write(pmd)) {
|
||||||
|
__pmd_idte(address, pmdp);
|
||||||
|
set_pmd_at(mm, address, pmdp, pmd_wrprotect(pmd));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static inline pmd_t mk_pmd_phys(unsigned long physpage, pgprot_t pgprot)
|
static inline pmd_t mk_pmd_phys(unsigned long physpage, pgprot_t pgprot)
|
||||||
{
|
{
|
||||||
pmd_t __pmd;
|
pmd_t __pmd;
|
||||||
|
|
Loading…
Reference in New Issue