In light of [PATCH] Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled" [1], we should add some loud disclaimers and explanation of the impact compiler optimizations have on livepatching. The first commit provides detailed explanations and examples. The list was taken mostly from Miroslav's LPC talk a few years back. This is a bit rough, so corrections and additional suggestions welcome. Expanding upon the source-based patching approach would be helpful, too. The second commit adds a small README.rst file in the livepatch samples directory pointing the reader to the doc introduced in the first commit. I didn't touch the livepatch kselftests yet as I'm still unsure about how to best account for IPA here. We could add the same README.rst disclaimer here, too, but perhaps we have a chance to do something more. Possibilities range from checking for renamed functions as part of their build, or the selftest scripts, or even adding something to the kernel API. I think we'll have a better idea after reviewing the compiler considerations doc. [1] https://lore.kernel.org/lkml/696262e997359666afa053fe7d1a9fb2bb373964.1595010490.git.jpoimboe@xxxxxxxxxx/ Joe Lawrence (2): docs/livepatch: Add new compiler considerations doc samples/livepatch: Add README.rst disclaimer .../livepatch/compiler-considerations.rst | 220 ++++++++++++++++++ Documentation/livepatch/index.rst | 1 + Documentation/livepatch/livepatch.rst | 7 + samples/livepatch/README.rst | 15 ++ 4 files changed, 243 insertions(+) create mode 100644 Documentation/livepatch/compiler-considerations.rst create mode 100644 samples/livepatch/README.rst -- 2.21.3