/*! 2016.10.29 study -ing */ int register_die_notifier(struct notifier_block *nb) { /*! Do Nothing. */ vmalloc_sync_all(); /*! 리턴 값은 0 */ return atomic_notifier_chain_register(&die_chain, nb); }
struct vm_struct *alloc_vm_area(unsigned long size) { struct vm_struct *area; area = get_vm_area(size, VM_IOREMAP); if (area == NULL) return NULL; /* * This ensures that page tables are constructed for this region * of kernel virtual address space and mapped into init_mm. */ if (apply_to_page_range(&init_mm, (unsigned long)area->addr, area->size, f, NULL)) { free_vm_area(area); return NULL; } /* Map page directories into every address space. */ vmalloc_sync_all(); return area; }
int register_die_notifier(struct notifier_block *nb) { vmalloc_sync_all(); return atomic_notifier_chain_register(&die_chain, nb); }
void set_nmi_callback(nmi_callback_t callback) { vmalloc_sync_all(); rcu_assign_pointer(nmi_callback, callback); }