← 返回 Skills 市场
ivangdavila

Kernel

作者 Iván · GitHub ↗ · v1.0.0
linux ✓ 安全检测通过
820
总下载
2
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install kernel
功能描述
Avoid common Linux kernel mistakes — atomic context violations, allocation failures, and locking traps.
使用说明 (SKILL.md)

Atomic Context Traps

  • spin_lock held = cannot sleep — no kmalloc(GFP_KERNEL), no mutex_lock, no copy_from_user
  • Interrupt can take same spinlock — must use spin_lock_irqsave, not plain spin_lock
  • rcu_read_lock() section cannot sleep — no blocking calls inside RCU read-side
  • might_sleep() annotation — add to functions that may sleep, catches bugs with CONFIG_DEBUG_ATOMIC_SLEEP

Allocation Failures

  • GFP_ATOMIC can return NULL — always check, don't assume success
  • vmalloc memory not physically contiguous — cannot use for DMA
  • kzalloc over kmalloc — uninitialized memory leaks kernel info to userspace
  • Allocation in loop risks OOM — preallocate or use memory pool

User Pointer Handling

  • copy_from_user returns bytes NOT copied — 0 means success, not failure
  • Never use %s with user pointer in printk — kernel crash or info leak
  • User memory can change during syscall — copy to kernel buffer, validate the copy
  • __user annotation is documentation — doesn't enforce anything, you must use copy functions

Memory Ordering

  • READ_ONCE/WRITE_ONCE for lockless shared data — prevents compiler from caching/reordering
  • Spinlock release has implicit barrier — but check-then-act patterns still need care
  • smp_wmb() before publishing pointer — ensures data visible before pointer is

Module Error Paths

  • Init fails midway — must undo everything already done
  • Reverse order cleanup — unregister in opposite order of register
  • goto err_* pattern standard — cleaner than nested ifs
  • Check what's actually initialized — don't free/unregister what wasn't set up

Locking Mistakes

  • Same lock acquired twice = deadlock — even in different functions
  • Inconsistent lock ordering — document order, acquire in same sequence everywhere
  • mutex_trylock returns 1 on success — opposite of pthread_mutex_trylock
  • Reader-writer locks rarely worth it — contention overhead usually exceeds benefit
安全使用建议
This skill is an instruction-only checklist for Linux kernel development and is coherent with its description. It does not request secrets or install code, so the install-time risk is low. However, the content is technical advice: do not let an agent automatically compile or load kernel modules or run root commands based solely on these tips. Kernel development is version-specific and risky — verify any code changes, test in a VM/container, consult upstream kernel docs for your target version, and avoid granting the agent elevated privileges or direct access to build/load kernels without manual review.
功能分析
Type: OpenClaw Skill Name: kernel Version: 1.0.0 The skill bundle contains only informational content related to Linux kernel development best practices. There are no executable commands, network calls, file system operations, or any instructions that could be interpreted as prompt injection against the AI agent. The content is purely educational and aligns with the stated purpose.
能力评估
Purpose & Capability
The name/description (kernel programming pitfalls) match the SKILL.md content (atomic context, allocations, locking, etc.). No unrelated env vars, binaries, or install steps are requested.
Instruction Scope
SKILL.md contains high-level kernel programming guidance only — no commands to run, no file reads, no outbound endpoints, and no instructions to access environment variables or system configuration. It is advisory rather than actionable.
Install Mechanism
No install spec or code files are present; nothing will be downloaded or written to disk by installing the skill.
Credentials
The skill requests no credentials, config paths, or environment variables; this is proportionate for a documentation/cheatsheet skill.
Persistence & Privilege
always is false and the skill does not request persistent agent modifications or elevated privileges. Autonomous invocation is allowed (platform default) but not excessive here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install kernel
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /kernel 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug kernel
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Kernel 是什么?

Avoid common Linux kernel mistakes — atomic context violations, allocation failures, and locking traps. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 820 次。

如何安装 Kernel?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install kernel」即可一键安装,无需额外配置。

Kernel 是免费的吗?

是的,Kernel 完全免费(开源免费),可自由下载、安装和使用。

Kernel 支持哪些平台?

Kernel 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux)。

谁开发了 Kernel?

由 Iván(@ivangdavila)开发并维护,当前版本 v1.0.0。

💬 留言讨论