linux_dsm_epyc7002/arch/arm64/include/asm
Catalin Marinas 64c26841b3 arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect()
ptep_set_wrprotect() is only called on CoW mappings which are private
(!VM_SHARED) with the pte either read-only (!PTE_WRITE && PTE_RDONLY) or
writable and software-dirty (PTE_WRITE && !PTE_RDONLY && PTE_DIRTY).
There is no race with the hardware update of the dirty state: clearing
of PTE_RDONLY when PTE_WRITE (a.k.a. PTE_DBM) is set. This patch removes
the code setting the software PTE_DIRTY bit in ptep_set_wrprotect() as
superfluous. A VM_WARN_ONCE is introduced in case the above logic is
wrong or the core mm code changes its use of ptep_set_wrprotect().

Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2017-08-21 11:13:00 +01:00
..
xen
acenv.h
acpi.h ARM64/ACPI: Fix BAD_MADT_GICC_ENTRY() macro implementation 2017-06-02 15:13:52 +01:00
alternative.h
arch_gicv3.h arm64/kvm: sysreg: fix typo'd SYS_ICC_IGRPEN*_EL1 2017-06-15 09:45:07 +01:00
arch_timer.h
arm-cci.h
asm-bug.h arm64: Add ASM_BUG() 2017-08-08 16:28:13 +01:00
asm-offsets.h
asm-uaccess.h arm64: entry: improve data abort handling of tagged pointers 2017-05-09 17:26:59 +01:00
assembler.h Merge branch 'arm64/vmap-stack' of git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux into for-next/core 2017-08-15 18:40:58 +01:00
atomic_ll_sc.h arm64: Remove redundant mov from LL/SC cmpxchg 2017-05-15 18:30:10 +01:00
atomic_lse.h arm64: atomics: Remove '&' from '+&' asm constraint in lse atomics 2017-07-20 10:20:54 +01:00
atomic.h
barrier.h arm64: ensure extension of smp_store_release value 2017-05-09 17:45:04 +01:00
bitops.h
bitrev.h
boot.h
brk-imm.h
bug.h arm64: Add ASM_BUG() 2017-08-08 16:28:13 +01:00
cache.h
cacheflush.h arm64: Implement pmem API support 2017-08-09 12:15:45 +01:00
checksum.h arm64: add missing conversion to __wsum in ip_fast_csum() 2017-06-29 16:32:43 +01:00
clocksource.h
cmpxchg.h arm64: xchg: hazard against entire exchange variable 2017-05-09 17:44:50 +01:00
compat.h
compiler.h
cpu_ops.h
cpu.h
cpucaps.h arm64: Implement pmem API support 2017-08-09 12:15:45 +01:00
cpufeature.h arm64/cpufeature: don't use mutex in bringup path 2017-05-17 17:00:29 +01:00
cpuidle.h
cputype.h arm64: Add MIDR values for Cavium cn83XX SoCs 2017-06-15 09:45:04 +01:00
current.h
dcc.h
debug-monitors.h
device.h xen/arm,arm64: fix xen_dma_ops after 815dd18 "Consolidate get_dma_ops..." 2017-05-02 11:14:42 +02:00
dma-mapping.h This is the first pull request for the new dma-mapping subsystem 2017-07-06 19:20:54 -07:00
dmi.h
efi.h Merge branch 'for-next/kernel-mode-neon' into for-next/core 2017-08-18 18:32:50 +01:00
elf.h arm64: move ELF_ET_DYN_BASE to 4GB / 4MB 2017-07-10 16:32:36 -07:00
esr.h arm64: Handle trapped DC CVAP 2017-08-09 11:00:43 +01:00
exception.h
exec.h
extable.h
fb.h
fixmap.h
fpsimd.h arm64: neon: Remove support for nested or hardirq kernel-mode NEON 2017-08-04 15:00:57 +01:00
fpsimdmacros.h arm64: neon: Remove support for nested or hardirq kernel-mode NEON 2017-08-04 15:00:57 +01:00
ftrace.h
futex.h arm64: futex: Fix undefined behaviour with FUTEX_OP_OPARG_SHIFT usage 2017-05-30 11:07:42 +01:00
hardirq.h
hugetlb.h mm/hugetlb: clean up ARCH_HAS_GIGANTIC_PAGE 2017-07-06 16:24:33 -07:00
hw_breakpoint.h
hwcap.h
hypervisor.h
insn.h arm64: Prevent cpu hotplug rwsem recursion 2017-05-26 10:10:45 +02:00
io.h
irq_work.h
irq.h arm64: clean up irq stack definitions 2017-08-15 18:35:14 +01:00
irqflags.h
jump_label.h
kasan.h
Kbuild arm64: neon: replace generic definition of may_use_simd() 2017-08-04 15:00:47 +01:00
kernel-pgtable.h
kexec.h
kgdb.h
kprobes.h
kvm_arm.h arm/arm64: KVM: add guest SEA support 2017-06-22 18:22:05 +01:00
kvm_asm.h
kvm_coproc.h
kvm_emulate.h arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses 2017-05-02 09:53:46 +02:00
kvm_host.h KVM/ARM updates for 4.13 2017-06-30 12:38:26 +02:00
kvm_hyp.h KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2 2017-06-15 09:44:59 +01:00
kvm_mmio.h
kvm_mmu.h kvm: arm64: Convert kvm_set_s2pte_readonly() from inline asm to cmpxchg() 2017-08-21 11:12:39 +01:00
kvm_psci.h
linkage.h
lse.h
memblock.h
memory.h Merge branch 'arm64/vmap-stack' of git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux into for-next/core 2017-08-15 18:40:58 +01:00
mmu_context.h
mmu.h
mmzone.h
module.h arm64: ftrace: add support for far branches to dynamic ftrace 2017-06-07 11:52:02 +01:00
neon.h arm64: neon: Temporarily add a kernel_mode_begin_partial() definition 2017-08-04 15:10:12 +01:00
numa.h arm64: numa: Remove the unused parent_node() macro 2017-08-15 14:37:45 +01:00
page-def.h arm64: factor out PAGE_* and CONT_* definitions 2017-08-15 18:35:00 +01:00
page.h arm64: factor out PAGE_* and CONT_* definitions 2017-08-15 18:35:00 +01:00
paravirt.h
pci.h
percpu.h
perf_event.h
pgalloc.h
pgtable-hwdef.h
pgtable-prot.h arm64: Move PTE_RDONLY bit handling out of set_pte_at() 2017-08-21 11:12:50 +01:00
pgtable-types.h
pgtable.h arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect() 2017-08-21 11:13:00 +01:00
probes.h
proc-fns.h
processor.h Merge branch 'arm64/vmap-stack' of git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux into for-next/core 2017-08-15 18:40:58 +01:00
ptdump.h
ptrace.h Merge branch 'arm64/exception-stack' of git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux into for-next/core 2017-08-09 15:37:49 +01:00
seccomp.h
sections.h
shmparam.h
signal32.h arm64: compat: Remove leftover variable declaration 2017-08-10 18:17:32 +01:00
simd.h arm64: neon: Forbid when irqs are disabled 2017-08-09 15:05:59 +01:00
smp_plat.h
smp.h
sparsemem.h
spinlock_types.h
spinlock.h
stack_pointer.h
stackprotector.h arm64: ascii armor the arm64 boot init stack canary 2017-07-12 16:26:03 -07:00
stacktrace.h arm64: add VMAP_STACK overflow detection 2017-08-15 18:36:18 +01:00
stage2_pgtable-nopmd.h
stage2_pgtable-nopud.h
stage2_pgtable.h
stat.h
string.h arm64: uaccess: Implement *_flushcache variants 2017-08-09 12:16:26 +01:00
suspend.h
sync_bitops.h
syscall.h
sysreg.h arm64: Expose DC CVAP to userspace 2017-08-09 11:00:35 +01:00
system_misc.h Merge branch 'aarch64/for-next/ras-apei' into aarch64/for-next/core 2017-06-26 10:54:27 +01:00
thread_info.h arm64: clean up THREAD_* definitions 2017-08-15 18:35:07 +01:00
timex.h
tlb.h
tlbflush.h
topology.h
traps.h arm64: unwind: reference pt_regs via embedded stack frame 2017-08-09 14:07:13 +01:00
uaccess.h arm64: uaccess: Implement *_flushcache variants 2017-08-09 12:16:26 +01:00
unistd32.h
unistd.h
uprobes.h
vdso_datapage.h
vdso.h
virt.h
word-at-a-time.h