If you are working on answering a frequently asked question, please add it to FAQsInProgress.

How do I ...?

  • 1.
  • 2.
  • 3.
  • 4.
  • /HowToApplyAPatch How do I apply a patch?
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

Kernelnewbies questions

  • 1.
  • 2.
  • /WhereDoIBegin Where do I begin?
  • 3.
  • 4.
  • /DoINeedToKnowAssembler Do I need to know assembler to hack the kernel?
  • 5.
  • /DoINeedToKnowHardware Do I need to know a lot about hardware to hack the kernel?
  • 6.
  • DoesNotWork I built my own kernel, but it does not work. What's the problem?

Kernel hacking

  • 1.
  • 2.
  • /System.map What is the System.map file?
  • 3.
  • 4.
  • 5.
  • 6.
  • /Preemption What does preemption mean ? Is it available under Linux ?
  • 7.
  • 8.
  • 9.
  • 10.

Linux kernel gotchas

  • 1.
  • /get current How does get_current() work?
  • 2.
  • /current How does the current macro helps you access your process-related record?
  • 3.
  • 4.
  • /DoWhile0 Why do a lot of #defines in the kernel use do { ... } while (0)?
  • 5.
  • 6.
  • 7.
  • 8.
  • /WhereIs bad udelay Now, where is bad_udelay defined?
  • 9.
  • /asmlinkage What is asmlinkage ?
  • 10.
  • /down What is that jmp 1b doing out there?
  • 11.
  • /TestWpBit test_wp_bit magic, or how exception fixups work.
  • 12.
  • /BUG How does BUG() work?
  • 13.
  • /StackTrace
    1. Why is there a function on my stack trace that does not get called?
    2. How do I manually get a stack trace?
  • 14.
  • 15.

Hardware Questions

  • 1.
  • CategoryFAQ