1 This directory attempts to document the ABI be 2 userspace, and the relative stability of these 3 everchanging nature of Linux, and the differin 4 interfaces should be used by userspace program 5 6 We have four different levels of ABI stability 7 different subdirectories in this location. In 8 of stability according to the rules described 9 10 The different levels of stability are: 11 12 stable/ 13 This directory documents the interface 14 defined to be stable. Userspace progr 15 interfaces with no restrictions, and b 16 them will be guaranteed for at least 2 17 (like syscalls) are expected to never 18 available. 19 20 testing/ 21 This directory documents interfaces th 22 as the main development of this interf 23 The interface can be changed to add ne 24 current interface will not break by do 25 errors or security problems are found 26 programs can start to rely on these in 27 aware of changes that can occur before 28 be marked stable. Programs that use t 29 strongly encouraged to add their name 30 these interfaces, so that the kernel d 31 notify them if any changes occur (see 32 layout of the files below for details 33 34 obsolete/ 35 This directory documents interfaces th 36 the kernel, but are marked to be remov 37 time. The description of the interfac 38 why it is obsolete and when it can be 39 40 removed/ 41 This directory contains a list of the 42 been removed from the kernel. 43 44 Every file in these directories will contain t 45 46 What: Short description of the inter 47 Date: Date created 48 KernelVersion: Kernel version this feature fi 49 Contact: Primary contact for this inter 50 Description: Long description of the interf 51 Users: All users of this interface wh 52 it changes. This is very impo 53 the "testing" stage, so that k 54 with userspace developers to e 55 break in ways that are unaccep 56 important to get feedback for 57 sure they are working in a pro 58 be changed further. 59 60 61 Note: 62 The fields should be use a simple notation, 63 Also, the file **should not** have a top-le 64 65 === 66 foo 67 === 68 69 How things move between levels: 70 71 Interfaces in stable may move to obsolete, as 72 notification is given. 73 74 Interfaces may be removed from obsolete and th 75 documented amount of time has gone by. 76 77 Interfaces in the testing state can move to th 78 developers feel they are finished. They canno 79 kernel tree without going through the obsolete 80 81 It's up to the developer to place their interf 82 wish for it to start out in. 83 84 85 Notable bits of non-ABI, which should not unde 86 stable: 87 88 - Kconfig. Userspace should not rely on the p 89 particular Kconfig symbol, in /proc/config.g 90 commonly installed to /boot, or in any invoc 91 process. 92 93 - Kernel-internal symbols. Do not rely on the 94 type of any kernel symbol, either in System. 95 itself. See Documentation/process/stable-ap
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.