From 286e85fddf62013f25134aec2ddc892310999f58 Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Fri, 22 Apr 2022 09:10:16 -0700 Subject: [PATCH] patch-author-guide: Add TOC Signed-off-by: Josh Poimboeuf --- doc/patch-author-guide.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/patch-author-guide.md b/doc/patch-author-guide.md index 85d65b8..383b799 100644 --- a/doc/patch-author-guide.md +++ b/doc/patch-author-guide.md @@ -9,7 +9,27 @@ There are many pitfalls that can be encountered when creating a live patch. This document attempts to guide the patch creation process. It's a work in progress. If you find it useful, please contribute! -Patch Analysis +Table of contents +================= + +- [Patch analysis](#patch-analysis) +- [kpatch vs livepatch vs kGraft](#kpatch-vs-livepatch-vs-kgraft) +- [Patch upgrades](#patch-upgrades) +- [Data structure changes](#data-structure-changes) +- [Data semantic changes](#data-semantic-changes) +- [Init code changes](#init-code-changes) +- [Header file changes](#header-file-changes) +- [Dealing with unexpected changed functions](#dealing-with-unexpected-changed-functions) +- [Removing references to static local variables](#removing-references-to-static-local-variables) +- [Code removal](#code-removal) +- [Once macros](#once-macros) +- [inline implies notrace](#inline-implies-notrace) +- [Jump labels](#jump-labels) +- [Sibling calls](#sibling-calls) +- [Exported symbol versioning](#exported-symbol-versioning) +- [System calls](#system-calls) + +Patch analysis -------------- kpatch provides _some_ guarantees, but it does not guarantee that all patches