cregit-Linux how code gets into the kernel

Release 4.15 arch/arm/include/asm/traps.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASMARM_TRAP_H

#define _ASMARM_TRAP_H

#include <linux/list.h>

struct pt_regs;
struct task_struct;


struct undef_hook {
	
struct list_head node;
	
u32 instr_mask;
	
u32 instr_val;
	
u32 cpsr_mask;
	
u32 cpsr_val;
	
int (*fn)(struct pt_regs *regs, unsigned int instr);
};

void register_undef_hook(struct undef_hook *hook);
void unregister_undef_hook(struct undef_hook *hook);


static inline int __in_irqentry_text(unsigned long ptr) { extern char __irqentry_text_start[]; extern char __irqentry_text_end[]; return ptr >= (unsigned long)&__irqentry_text_start && ptr < (unsigned long)&__irqentry_text_end; }

Contributors

PersonTokensPropCommitsCommitProp
Rabin Vincent40100.00%1100.00%
Total40100.00%1100.00%


static inline int in_exception_text(unsigned long ptr) { extern char __exception_text_start[]; extern char __exception_text_end[]; int in; in = ptr >= (unsigned long)&__exception_text_start && ptr < (unsigned long)&__exception_text_end; return in ? : __in_irqentry_text(ptr); }

Contributors

PersonTokensPropCommitsCommitProp
Nico Pitre3973.58%150.00%
Rabin Vincent1426.42%150.00%
Total53100.00%2100.00%

extern void __init early_trap_init(void *); extern void dump_backtrace_entry(unsigned long where, unsigned long from, unsigned long frame); extern void ptrace_break(struct task_struct *tsk, struct pt_regs *regs); extern void *vectors_page; #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Russell King6731.60%220.00%
Rabin Vincent5425.47%110.00%
Nico Pitre3918.40%110.00%
Catalin Marinas2210.38%220.00%
Will Deacon157.08%110.00%
Jason Wessel83.77%110.00%
Mikael Pettersson62.83%110.00%
Greg Kroah-Hartman10.47%110.00%
Total212100.00%10100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.