随笔分类 - kernel misc
摘要:_set_seccomp_filter调用flow frameworks/base/core/jni/com_android_internal_os_Zygote.cpp 634 static void SetUpSeccompFilter(uid_t uid, bool is_child_zygo
阅读全文
摘要:CFI cfi_slowpath_handler/__cfi_slowpath kernel/cfi.c /* Compiler-defined handler names */ #ifdef CONFIG_CFI_PERMISSIVE #define cfi_failure_handler __u
阅读全文
摘要:alarm timer kernel里的alarm timer可以由以下方式来设置: 1. android alarmmanagerservice来设置,此时的timer type要为RTC_WAKEUP或者ELAPSED_REALTIME_WAKEUP,在alarmmanagerservice j
阅读全文
摘要:hr timer 什么是hr timer(高精度定时器) https://blog.csdn.net/walkingman321/article/details/6151172 hr timer interrupt handler hrtimer interrupt handler is hrtim
阅读全文
摘要:per cpu variable per cpu变量可以export出来给其它模块使用 方法: 1.define per cpu variable DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}}; EXPORT_PER_C
阅读全文
摘要:linux memory barrier barrier() macro 2). 关于barrier()宏,jkl大师是这么说的: CPU越过内存屏障后,将刷新自己对存储器的缓冲状态。这条语句实际上不生成任何代码,但可使gcc在 barrier()之后刷新寄存器对变量的分配。 也就是说,barrie
阅读全文
摘要:syscall SYSCALL_DEFINE*()实现 include/linux/syscalls.h #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__) #define SYSCALL_DEFIN
阅读全文
摘要:ko module加载flow insmod ko都是在user space发起的,通过系统调用finit_module或者init_module来加载ko 其中finit_module系统调用是user space只传ko file的fd,kernel里根据这个fd直接读ko,将ko读到内存上来,
阅读全文
摘要:ARM kernel panic misc Code <0>[22925.503588] Code: 05b1a000 ffffffc0 00000000 00000000 (00000ee3) code表示kernel panic时PC地址指向的地址里的数据,用括号括起来是PC地址指向的地址的in
阅读全文
摘要:linux signal framework 信号产生&处理流程 信号产生(signal generate) 信号的产生可以是user space通过kill等系统调用给某个线程(目标线程)发送某个signal,此时signal generate的流程如下: 1. 根据pid确定对应的task_st
阅读全文
摘要:timer misc timer timeout callback callstack [ 99.021468] CPU: 2 PID: 0 Comm: swapper/2 Tainted: P O 4.19.116+ #53 [ 99.029138] Hardware name: xxx(DT)
阅读全文
摘要:kernel log buf dump function kmsg_dump_get_buffer() 4.19/kernel/printk/printk.c void kmsg_dump(enum kmsg_dump_reason reason) { struct kmsg_dumper *dum
阅读全文