From 68fe3e6593039a31709e753f54799f78e204ce19 Mon Sep 17 00:00:00 2001 From: Josh Poimboeuf Date: Tue, 18 Feb 2014 17:33:20 -0600 Subject: [PATCH] add warnings, limitations, mailing list to README --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 038ef09..885c727 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,9 @@ kpatch is currently is early development. For now, it should _not_ be used in production environments until significantly more testing on various patches and environments is conducted. +**WARNING: Use with caution! Kernel crashes, spontaneous reboots, and data loss +may occur!** + Installation ------------ @@ -114,6 +117,21 @@ address on the stack and returns to ftrace, which then restores the original function's arguments and stack, and "returns" to the new function. +Limitations +----------- + +- kpatch can't detect when a patch changes the contents of a dynamically + allocated data structure, and isn't able to determine whether such patches + are safe to apply. It's the user's responsibility to analyze any such + patches for safety before applying them. +- Patches which change the contents of static data structures are not currently + supported. kpatch build will detect such changes and report an error. +- Patches to functions which are always in the call stack of a task, such as + schedule(), will fail to apply at runtime. +- Patches which change functions that are only called in the kernel init path + will have no effect (obviously). + + Demonstration ------------- @@ -126,6 +144,13 @@ fashion. However, from a end-user perspective, most of these steps are hidden by the "kpatch build" command. +Get involved +------------ + +If you have feedback or you want to contribute, feel free to join the mailing +list at https://www.redhat.com/mailman/listinfo/kpatch and say hello. + + License -------