mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
Pull documentation updates from Jonathan Corbet:
"It has been a not-too-busy cycle for docs; here's the highlights:
- A (hopefully) consensus change to our LLM-attribution requirements,
removing the specific model name from the Assisted-by tag
- A couple of new realtime documents
- Various docs-build-system fixes
- Ongoing work with the Chinese, Portuguese, and Japanese
translations
...and lots of typo fixes, grammar tweaks, etc"
* tag 'docs-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux: (85 commits)
Doc: admin-guide: pm: Remove unnecessary backticks and fix a spell
Documentation: Extend the real-time hardware bits with some firmware bits
docs: pt_BR: Reorganize process/index.rst to follow english structure
docs: conf.py: fix the 'utf-8' typo
doc tools: fix 'path' typos
Documentation: real-time: Add kernel configuration guide
docs: python: abi_regex: convert adjacent index placeholders
docs: python: abi_regex: catch the right exception for a bad regex
docs: sphinx-build-wrapper: include localversion in kernel version string
Documentation: html: adjust sidebar section titles styling
Documentation: html: show sections in the sidebar
checkpatch.pl: adapt to new Assisted-by: format
MAINTAINERS: update Traditional Chinese documentation maintainers
docs: pt_BR: process: Translate CVE documentation
docs: pt_BR: translate the management-style.rst to Brazilian Portuguese
docs: xforms_lists: support DEFINE_IDTENTRY_IRQ()
coding-assistants: simplify attribution
docs: translations: pt_BR: translate email-clients.rst
docs: pt_BR: process: Translate the security-bugs.rst
doc:it_IT: align doc-guide translation
...
97 lines
4.0 KiB
ReStructuredText
97 lines
4.0 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
.. _coding_assistants:
|
|
|
|
AI Coding Assistants
|
|
++++++++++++++++++++
|
|
|
|
This document provides guidance for AI tools and developers using AI
|
|
assistance when contributing to the Linux kernel.
|
|
|
|
AI tools helping with Linux kernel development should follow the standard
|
|
kernel development process:
|
|
|
|
* Documentation/process/development-process.rst
|
|
* Documentation/process/coding-style.rst
|
|
* Documentation/process/submitting-patches.rst
|
|
|
|
For guidelines on content generated by AI coding assistants see:
|
|
|
|
* Documentation/process/generated-content.rst
|
|
|
|
Licensing and Legal Requirements
|
|
================================
|
|
|
|
All contributions must comply with the kernel's licensing requirements:
|
|
|
|
* All code must be compatible with GPL-2.0-only
|
|
* Use appropriate SPDX license identifiers
|
|
* See Documentation/process/license-rules.rst for details
|
|
|
|
Signed-off-by and Developer Certificate of Origin
|
|
=================================================
|
|
|
|
AI agents MUST NOT add Signed-off-by tags. Only humans can legally
|
|
certify the Developer Certificate of Origin (DCO). The human submitter
|
|
is responsible for:
|
|
|
|
* Reviewing all AI-generated code
|
|
* Ensuring compliance with licensing requirements
|
|
* Adding their own Signed-off-by tag to certify the DCO
|
|
* Taking full responsibility for the contribution
|
|
|
|
Attribution
|
|
===========
|
|
|
|
When AI tools contribute to kernel development, proper attribution
|
|
helps track the evolving role of AI in the development process.
|
|
Contributions should include an Assisted-by tag in the following format::
|
|
|
|
Assisted-by: LLM [TOOL1] [TOOL2]
|
|
|
|
* ``[TOOL1] [TOOL2]`` are optional specialized analysis tools used
|
|
(e.g., coccinelle, sparse, smatch, clang-tidy)
|
|
|
|
Basic development tools (git, gcc, make, editors) should not be listed.
|
|
|
|
Example::
|
|
|
|
Assisted-by: LLM coccinelle sparse
|
|
|
|
Procedure for finding and fixing bugs
|
|
=====================================
|
|
|
|
When an AI assistant is used to find and fix bugs, it **MUST** follow at least
|
|
these steps:
|
|
|
|
1. Before starting, read the whole process documentation listed above, as well
|
|
as any other document mentioned in the request. Do not rely on isolated
|
|
parts found by keyword search.
|
|
2. Note the commit ID and Locate a bug as instructed.
|
|
3. For any bug found that is not trivial, verify that it looks real by
|
|
attempting to create a reproducer to demonstrate it. Lacking it may cause
|
|
the report to be ignored, as many unverified bug reports sent to maintainers
|
|
happen to be invalid. Stop here if it finally looks wrong.
|
|
4. Write a fix for the bug. This part is not optional: except in a few very
|
|
rare cases, an AI assistant able to find a bug is able to fix it. Note that
|
|
fixes written in the same session as used to find the bug will generally
|
|
lead to better and more accurate fixes as the LLM's reasoning context
|
|
remains present.
|
|
5. Build and verify that the fix works either using the reproducer or by
|
|
re-running a complete analysis; drop any fix that doesn't work and try
|
|
another one. The fix must not add build warnings and must pass the
|
|
checkpatch.pl checks (see submitting-patches.rst).
|
|
6. Commit the working fix with a detailed message describing the problem, the
|
|
solution and a Fixes tag. Do not add a Signed-off-by tag, and add an
|
|
Assisted-by tag, as described above.
|
|
7. Identify the maintainers and lists using scripts/get_maintainer.pl.
|
|
Documentation/process/security-bugs.rst shows how to do that.
|
|
8. Indicate what could not be done. If the fix could not be built or tested, or
|
|
if no reproducer could be produced, say so explicitly: maintainers currently
|
|
waste too much time analyzing unverified reports and untested fixes.
|
|
9. Read Documentation/process/threat-model.rst to determine whether the bug is
|
|
a vulnerability or a regular bug, and leave the result to the reporter for
|
|
review (the assistant must never send anything itself). Regular bugs are
|
|
submitted as described in Documentation/process/submitting-patches.rst,
|
|
vulnerabilities as described in Documentation/process/security-bugs.rst.
|