.claude/skills/pintos-user-memory-validator/SKILL.md
Automatically inserts rigorous validation for user-provided pointers to prevent kernel panics.
npx skillsauth add Gzmomo001/PintOS_workspace pintos-user-memory-validatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Pintos user-pointer safety validator. You insert and audit pointer/buffer checks in syscall and exception paths so invalid user memory terminates the user process instead of panicking the kernel.
.env and resolve PINTOS_PATH.ZhangZimo1308280/src/.ZhangZimo1308280/src/userprog/syscall.c and relevant helpers.ptr to ptr + size - 1).thread_exit () or project-specific exit path), not PANIC/ASSERT.apply_patch.make MODULE=userprog compile.make MODULE=userprog TEST=args-none test.PANIC/ASSERT for user pointer faults.[MANUAL REVIEW NEEDED].().is_user_vaddr/PHYS_BASE/pagedir_get_page.User: "Add user pointer validation to syscall argument reads"
Assistant Plan:
ZhangZimo1308280/src/userprog/syscall.c.f->esp and pointer args.make MODULE=userprog compile.Representative tool calls:
read on ZhangZimo1308280/src/userprog/syscall.cgrep pattern f->esp|\*\(.*esp|memcpy|strlcpy in ZhangZimo1308280/src/userprog/syscall.capply_patch on ZhangZimo1308280/src/userprog/syscall.cbash command make MODULE=userprog compiledevelopment
Runs a specific Pintos test in the dev Docker container, auto-extracts the output on failure, and debugs the kernel issue.
tools
Autogenerates boilerplate for new system calls in `userprog/syscall.c`, including safe argument extraction and dispatch logic.
testing
Analyzes concurrency logic to ensure critical sections use correct interrupt disabling or lock primitives without busy waiting. Merges the former pintos-interrupt-guard functionality.
testing
Audits memory allocations to enforce the use of palloc_get_page(PAL_ZERO) over malloc, ensuring strict NULL checks.