summaryrefslogtreecommitdiffstats
path: root/Documentation/ABI
diff options
context:
space:
mode:
authorJosh Triplett <josh@joshtriplett.org>2013-11-12 15:11:14 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-13 12:09:32 +0900
commitee2f51dc018e4dee06c6a6d52e821e27d701d650 (patch)
treea4b6e2fc819e1c65fb8172db9accd62854b09e61 /Documentation/ABI
parente946c43a116526e3d947dc03aeb165c1effd9f8f (diff)
downloadlinux-ee2f51dc018e4dee06c6a6d52e821e27d701d650.tar.gz
linux-ee2f51dc018e4dee06c6a6d52e821e27d701d650.tar.bz2
linux-ee2f51dc018e4dee06c6a6d52e821e27d701d650.zip
Documentation/ABI: document the non-ABI status of Kconfig and symbols
Discussion at Kernel Summit made it clear that the presence or absence of specific Kconfig symbols are not considered ABI, and that no userspace (or bootloader, etc) should rely on them. In addition, kernel-internal symbols are well established as non-ABI, per Documentation/stable_api_nonsense.txt. Document both of these in Documentation/ABI/README, in a new section for notable bits of non-ABI. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Cc: Rob Landley <rob@landley.net> Cc: Tao Ma <boyu.mt@taobao.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: H. Peter Anvin <hpa@zytor.com> Cc: Richard Weinberger <richard.weinberger@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/ABI')
-rw-r--r--Documentation/ABI/README13
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/ABI/README b/Documentation/ABI/README
index 10069828568b..1fafc4b0753b 100644
--- a/Documentation/ABI/README
+++ b/Documentation/ABI/README
@@ -72,3 +72,16 @@ kernel tree without going through the obsolete state first.
It's up to the developer to place their interfaces in the category they
wish for it to start out in.
+
+
+Notable bits of non-ABI, which should not under any circumstances be considered
+stable:
+
+- Kconfig. Userspace should not rely on the presence or absence of any
+ particular Kconfig symbol, in /proc/config.gz, in the copy of .config
+ commonly installed to /boot, or in any invocation of the kernel build
+ process.
+
+- Kernel-internal symbols. Do not rely on the presence, absence, location, or
+ type of any kernel symbol, either in System.map files or the kernel binary
+ itself. See Documentation/stable_api_nonsense.txt.