mmu_notifier
struct mmu_notifier mmu_notifier;
if (kvm->arch.pv.mmu_notifier.ops)
mmu_notifier_unregister(&kvm->arch.pv.mmu_notifier, kvm->mm);
static void kvm_s390_pv_mmu_notifier_release(struct mmu_notifier *subscription,
struct kvm *kvm = container_of(subscription, struct kvm, arch.pv.mmu_notifier);
if (kvm->arch.pv.mmu_notifier.ops != &kvm_s390_pv_mmu_notifier_ops) {
kvm->arch.pv.mmu_notifier.ops = &kvm_s390_pv_mmu_notifier_ops;
ret = mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm);
kvm->arch.pv.mmu_notifier.ops = NULL;
mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm);
static void sgx_mmu_notifier_release(struct mmu_notifier *mn,
struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier);
static void sgx_mmu_notifier_free(struct mmu_notifier *mn)
struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier);
encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops;
ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm);
struct mmu_notifier mmu_notifier;
struct mmu_notifier mmu_notifier;
static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm)
return p ? &p->mmu_notifier : ERR_PTR(-ESRCH);
static void kfd_process_free_notifier(struct mmu_notifier *mn)
kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier));
mmu_notifier_put(&p->mmu_notifier);
static void kfd_process_notifier_release(struct mmu_notifier *mn,
p = container_of(mn, struct kfd_process, mmu_notifier);
struct mmu_notifier *mn;
BUG_ON(mn != &process->mmu_notifier);
nouveau_svmm_invalidate_range_start(struct mmu_notifier *mn,
static void nouveau_svmm_free_notifier(struct mmu_notifier *mn)
struct mmu_notifier notifier;
static int mmu_notifier_range_start(struct mmu_notifier *,
static int mmu_notifier_range_start(struct mmu_notifier *mn,
struct mmu_notifier mn;
struct mmu_notifier mn; /* mmu notifier for the SVA domain */
static void sva_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn,
static void sva_mn_release(struct mmu_notifier *mn, struct mm_struct *mm)
static void arm_smmu_mm_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn,
container_of(mn, struct arm_smmu_domain, mmu_notifier);
static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm)
container_of(mn, struct arm_smmu_domain, mmu_notifier);
static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn)
kfree(container_of(mn, struct arm_smmu_domain, mmu_notifier));
mmu_notifier_put(&smmu_domain->mmu_notifier);
smmu_domain->mmu_notifier.ops = &arm_smmu_mmu_notifier_ops;
ret = mmu_notifier_register(&smmu_domain->mmu_notifier, mm);
struct mmu_notifier mmu_notifier;
struct mmu_notifier notifier;
static void intel_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn,
static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm)
static void intel_mm_free_notifier(struct mmu_notifier *mn)
struct mmu_notifier mmu_notifier;
static void arch_invalidate_secondary_tlbs(struct mmu_notifier *mn,
struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier);
pe_data->mmu_notifier.ops = &ocxl_mmu_notifier_ops;
mmu_notifier_register(&pe_data->mmu_notifier, mm);
mmu_notifier_unregister(&pe_data->mmu_notifier,
struct mmu_notifier ms_notifier;
static int gru_invalidate_range_start(struct mmu_notifier *mn,
static void gru_invalidate_range_end(struct mmu_notifier *mn,
static struct mmu_notifier *gru_alloc_notifier(struct mm_struct *mm)
static void gru_free_notifier(struct mmu_notifier *mn)
struct mmu_notifier *mn;
struct mmu_notifier mmu_notifier;
int (*clear_flush_young)(struct mmu_notifier *subscription,
int (*clear_young)(struct mmu_notifier *subscription,
int (*test_young)(struct mmu_notifier *subscription,
struct mmu_notifier;
int (*invalidate_range_start)(struct mmu_notifier *subscription,
void (*invalidate_range_end)(struct mmu_notifier *subscription,
struct mmu_notifier *subscription,
struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm);
void (*free_notifier)(struct mmu_notifier *subscription);
struct mmu_notifier *mmu_notifier_get_locked(const struct mmu_notifier_ops *ops,
static inline struct mmu_notifier *
struct mmu_notifier *ret;
void mmu_notifier_put(struct mmu_notifier *subscription);
extern int mmu_notifier_register(struct mmu_notifier *subscription,
extern int __mmu_notifier_register(struct mmu_notifier *subscription,
extern void mmu_notifier_unregister(struct mmu_notifier *subscription,
void (*release)(struct mmu_notifier *subscription,
struct mmu_notifier *subscription;
struct mmu_notifier, hlist);
struct mmu_notifier *subscription;
struct mmu_notifier *subscription;
struct mmu_notifier *subscription;
struct mmu_notifier *subscription;
struct mmu_notifier *subscription;
struct mmu_notifier *subscription;
int __mmu_notifier_register(struct mmu_notifier *subscription,
int mmu_notifier_register(struct mmu_notifier *subscription,
static struct mmu_notifier *
struct mmu_notifier *subscription;
struct mmu_notifier *mmu_notifier_get_locked(const struct mmu_notifier_ops *ops,
struct mmu_notifier *subscription;
void mmu_notifier_unregister(struct mmu_notifier *subscription,
struct mmu_notifier *subscription =
container_of(rcu, struct mmu_notifier, rcu);
void mmu_notifier_put(struct mmu_notifier *subscription)
if (kvm->mmu_notifier.ops)
mmu_notifier_unregister(&kvm->mmu_notifier, current->mm);
mmu_notifier_unregister(&kvm->mmu_notifier, kvm->mm);
static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn)
return container_of(mn, struct kvm, mmu_notifier);
static __always_inline int kvm_age_hva_range(struct mmu_notifier *mn,
static __always_inline int kvm_age_hva_range_no_flush(struct mmu_notifier *mn,
static int kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn,
static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn,
static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn,
static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn,
static int kvm_mmu_notifier_test_young(struct mmu_notifier *mn,
static void kvm_mmu_notifier_release(struct mmu_notifier *mn,
kvm->mmu_notifier.ops = &kvm_mmu_notifier_ops;
return mmu_notifier_register(&kvm->mmu_notifier, current->mm);