Friday, February 27, 2009

Unreliable Guide To Hacking The Linux Kernel


Download-----pdf----Unreliable Guide To Hacking The Linux Kernel

Unreliable Guide To Hacking The Linux Kernel
by Paul Rusty Russell


Table of Contents
Introduction

The Players
User Context
Hardware Interrupts (Hard IRQs)
Software Interrupt Context: Bottom Halves, Tasklets, softirqs
Some Basic Rules
ioctls: Not writing a new system call
Recipes for Deadlock
Common Routines
printk() include/linux/kernelh
copy_[to/from]_user() / get_user() / put_user() include/asm/uaccessh
kmalloc()/kfree() include/linux/slabh
current include/asm/currenth
local_irq_save()/local_irq_restore() include/asm/systemh
local_bh_disable()/local_bh_enable() include/asm/softirqh
smp_processor_id()/cpu_[number/logical]_map() include/asm/smph
__init/__exit/__initdata include/linux/inith
__initcall()/module_init() include/linux/inith
module_exit() include/linux/inith
MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT include/linux/moduleh
Wait Queues include/linux/waith
Declaring
Queuing
Waking Up Queued Tasks
Atomic Operations
Symbols
EXPORT_SYMBOL() include/linux/moduleh
EXPORT_SYMTAB
Routines and Conventions
Double-linked lists include/linux/listh
Return Conventions
Breaking Compilation
Initializing structure members
GNU Extensions
C++
#if
Putting Your Stuff in the Kernel
Kernel Cantrips
Thanks

0 comments:

Post a Comment