analyze-oops

Solid

Analyze a kernel Oops from the printk buffer in a PearPC memory dump

Data & Documents 432 stars 73 forks Updated 2 weeks ago GPL-2.0

Install

View on GitHub

Quality Score: 84/100

Stars 20%
88
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
51
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Analyze Kernel Oops Use `scripts/debug/memdump.py` to extract and analyze the Oops. ## Steps 1. Extract the Oops: ``` python3 scripts/debug/memdump.py oops ${ARGUMENTS:-memdump_jit.bin} ``` 2. Decode pt_regs (use the REGS address from the Oops output): ``` python3 scripts/debug/memdump.py regs DUMP_FILE REGS_ADDRESS ``` 3. Disassemble around NIP and LR (convert VA to PA: PA = VA - 0xC0000000): ``` python3 scripts/debug/disasm_ppc.py DUMP_FILE PA_OF_NIP 16 python3 scripts/debug/disasm_ppc.py DUMP_FILE PA_OF_LR 16 ``` 4. Search for the NIP value in both dumps: ``` python3 scripts/debug/memdump.py find memdump_generic.bin NIP_VALUE python3 scripts/debug/memdump.py find memdump_jit.bin NIP_VALUE ``` 5. Check if NIP is a valid address: - 0xC0xxxxxx = kernel code - 0xBFxxxxxx = PROM virtual address (prom_mem_phys_to_virt) - 0xFDxxxxxx = PCI I/O space (not executable) Report: exception type, faulting address, caller, what the code was trying to do.

Details

Author
sebastianbiallas
Repository
sebastianbiallas/pearpc
Created
11 years ago
Last Updated
2 weeks ago
Language
C++
License
GPL-2.0

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Solid

profile

Run CPU and memory profiling with pprof to identify performance hotspots. Use when investigating high resource usage.

21 Updated 1 months ago
PeterBooker
Code & Development Featured

code-review-asm-xtensa

Review Xtensa assembly code for ESP32 platforms. Checks for critical errors in inline assembly, ABI compliance, and optimization opportunities. Use after modifying ESP32 assembly or inline asm code.

7,399 Updated yesterday
FastLED
AI & Automation Solid

investigate

Systematically investigate bugs, test failures, build errors, performance issues, or unexpected behavior by cycling through characterize-isolate-hypothesize-test steps. Use when the user asks to "investigate this bug", "debug this", "figure out why this fails", "find the root cause", "why is this broken", "troubleshoot this", "diagnose the issue", "what's causing this error", "look into this failure", "why is this test failing", or "track down this bug".

310 Updated today
tobihagemann
AI & Automation Listed

byte-pattern-matching

Search for raw byte patterns (hex sequences, opcodes) in binary code. Use when looking for specific instruction sequences, machine code patterns, UEFI SMI handlers, or known vulnerability signatures by their byte representation.

15 Updated 2 months ago
vulhunt-re
Data & Documents Solid

null-pointer-dereference

Detects code that dereferences pointers or return values that could be NULL without validation, causing crashes or privilege escalation.

32 Updated 2 months ago
zakirkun