cregit-Linux how code gets into the kernel

Release 4.14 arch/um/include/asm/mmu_context.h

/* 
 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 * Licensed under the GPL
 */

#ifndef __UM_MMU_CONTEXT_H

#define __UM_MMU_CONTEXT_H

#include <linux/sched.h>
#include <linux/mm_types.h>

#include <asm/mmu.h>

extern void uml_setup_stubs(struct mm_struct *mm);
/*
 * Needed since we do not use the asm-generic/mm_hooks.h:
 */

static inline void arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) { uml_setup_stubs(mm); }

Contributors

PersonTokensPropCommitsCommitProp
Dave Hansen22100.00%1100.00%
Total22100.00%1100.00%

extern void arch_exit_mmap(struct mm_struct *mm);
static inline void arch_unmap(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long start, unsigned long end) { }

Contributors

PersonTokensPropCommitsCommitProp
Dave Hansen24100.00%1100.00%
Total24100.00%1100.00%


static inline void arch_bprm_mm_init(struct mm_struct *mm, struct vm_area_struct *vma) { }

Contributors

PersonTokensPropCommitsCommitProp
Dave Hansen16100.00%1100.00%
Total16100.00%1100.00%


static inline bool arch_vma_access_permitted(struct vm_area_struct *vma, bool write, bool execute, bool foreign) { /* by default, allow everything */ return true; }

Contributors

PersonTokensPropCommitsCommitProp
Dave Hansen25100.00%1100.00%
Total25100.00%1100.00%

/* * end asm-generic/mm_hooks.h functions */ #define deactivate_mm(tsk,mm) do { } while (0) extern void force_flush_all(void);
static inline void activate_mm(struct mm_struct *old, struct mm_struct *new) { /* * This is called by fs/exec.c and sys_unshare() * when the new ->mm is used for the first time. */ __switch_mm(&new->context.id); down_write(&new->mmap_sem); uml_setup_stubs(new); up_write(&new->mmap_sem); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike2040.82%342.86%
Al Viro1734.69%114.29%
Benjamin LaHaise1122.45%228.57%
Oleg Nesterov12.04%114.29%
Total49100.00%7100.00%


static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk) { unsigned cpu = smp_processor_id(); if(prev != next){ cpumask_clear_cpu(cpu, mm_cpumask(prev)); cpumask_set_cpu(cpu, mm_cpumask(next)); if(next != &init_mm) __switch_mm(&next->context.id); } }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike5980.82%466.67%
Rusty Russell1419.18%233.33%
Total73100.00%6100.00%


static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) { }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike16100.00%1100.00%
Total16100.00%1100.00%

extern int init_new_context(struct task_struct *task, struct mm_struct *mm); extern void destroy_context(struct mm_struct *mm); #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike15249.67%635.29%
Dave Hansen8929.08%211.76%
Al Viro206.54%211.76%
Benjamin LaHaise185.88%211.76%
Rusty Russell144.58%211.76%
Linus Torvalds92.94%15.88%
Ingo Molnar30.98%15.88%
Oleg Nesterov10.33%15.88%
Total306100.00%17100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.