* refs/heads/tmp-4b2d6ba Linux 4.4.144 ubi: fastmap: Erase outdated anchor PEBs during attach ubi: Fix Fastmap's update_vol() ubi: Fix races around ubi_refill_pools() ubi: Be more paranoid while seaching for the most recent Fastmap ubi: Rework Fastmap attach base code ubi: Introduce vol_ignored() clk: tegra: Fix PLL_U post divider and initial rate on Tegra30 block: do not use interruptible wait anywhere x86/cpu: Re-apply forced caps every time CPU caps are re-read x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths x86/bugs: Rename SSBD_NO to SSB_NO x86/speculation, KVM: Implement support for VIRT_SPEC_CTRL/LS_CFG x86/bugs: Rework spec_ctrl base and mask logic x86/bugs: Remove x86_spec_ctrl_set() x86/bugs: Expose x86_spec_ctrl_base directly x86/bugs: Unify x86_spec_ctrl_{set_guest, restore_host} x86/speculation: Rework speculative_store_bypass_update() x86/speculation: Add virtualized speculative store bypass disable support x86/bugs, KVM: Extend speculation control for VIRT_SPEC_CTRL x86/speculation: Handle HT correctly on AMD x86/cpufeatures: Add FEATURE_ZEN x86/cpu/AMD: Fix erratum 1076 (CPB bit) x86/cpufeatures: Disentangle SSBD enumeration x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP x86/cpu: Make alternative_msr_write work for 32-bit code x86/bugs: Fix the parameters alignment and missing void x86/bugs: Make cpu_show_common() static x86/bugs: Fix __ssb_select_mitigation() return type Documentation/spec_ctrl: Do some minor cleanups proc: Use underscores for SSBD in 'status' x86/bugs: Rename _RDS to _SSBD x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass seccomp: Move speculation migitation control to arch code seccomp: Add filter flag to opt-out of SSB mitigation seccomp: Use PR_SPEC_FORCE_DISABLE prctl: Add force disable speculation seccomp: Enable speculation flaw mitigations proc: Provide details on speculation flaw mitigations nospec: Allow getting/setting on non-current task x86/speculation: Add prctl for Speculative Store Bypass mitigation x86/process: Allow runtime control of Speculative Store Bypass x86/process: Optimize TIF_NOTSC switch x86/process: Correct and optimize TIF_BLOCKSTEP switch x86/process: Optimize TIF checks in __switch_to_xtra() prctl: Add speculation control prctls x86/speculation: Create spec-ctrl.h to avoid include hell x86/bugs/AMD: Add support to disable RDS on Fam[15, 16, 17]h if requested x86/bugs: Whitelist allowed SPEC_CTRL MSR values x86/bugs/intel: Set proper CPU features and setup RDS x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation x86/cpufeatures: Add X86_FEATURE_RDS x86/bugs: Expose /sys/../spec_store_bypass x86/cpu/intel: Add Knights Mill to Intel family x86/cpu: Rename Merrifield2 to Moorefield x86/bugs, KVM: Support the combination of guest and host IBRS x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits x86/bugs: Concentrate bug reporting into a separate function x86/bugs: Concentrate bug detection into a separate function x86/nospec: Simplify alternative_msr_write() x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS when running under Xen xen: set cpu capabilities from xen_start_kernel() selftest/seccomp: Fix the seccomp(2) signature selftest/seccomp: Fix the flag name SECCOMP_FILTER_FLAG_TSYNC x86/speculation: Remove Skylake C2 from Speculation Control microcode blacklist x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP x86/speculation: Use IBRS if available before calling into firmware x86/spectre_v2: Don't check microcode versions when running under hypervisors x86/speculation: Use Indirect Branch Prediction Barrier in context switch x86/mm: Give each mm TLB flush generation a unique ID x86/mm: Factor out LDT init from context init x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend x86/speculation: Add <asm/msr-index.h> dependency x86/speculation: Fix up array_index_nospec_mask() asm constraint x86/speculation: Clean up various Spectre related details x86/speculation: Correct Speculation Control microcode blacklist again x86/speculation: Update Speculation Control microcode blacklist x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface x86/asm/entry/32: Simplify pushes of zeroed pt_regs->REGs x86/pti: Mark constant arrays as __initconst x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel x86/cpufeatures: Clean up Spectre v2 related CPUID flags x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown x86/msr: Add definitions for new speculation control MSRs x86/cpufeatures: Add AMD feature bits for Speculation Control x86/cpufeatures: Add Intel feature bits for Speculation Control x86/cpufeatures: Add CPUID_7_EDX CPUID leaf x86/paravirt: Make native_save_fl() extern inline xhci: Fix perceived dead host due to runtime suspend race with event handler skbuff: Unconditionally copy pfmemalloc in __skb_clone() net: Don't copy pfmemalloc flag in __copy_skb_header() tg3: Add higher cpu clock for 5762. ptp: fix missing break in switch net: phy: fix flag masking in __set_phy_supported net/ipv4: Set oif in fib_compute_spec_dst lib/rhashtable: consider param->min_size when setting initial table size ipv6: fix useless rol32 call on hash ipv4: Return EINVAL when ping_group_range sysctl doesn't map to user ns mm: memcg: fix use after free in mem_cgroup_iter() ARC: mm: allow mprotect to make stack mappings executable ARC: Fix CONFIG_SWAP ALSA: rawmidi: Change resized buffers atomically fat: fix memory allocation failure handling of match_strdup() x86/MCE: Remove min interval polling limitation KVM/Eventfd: Avoid crash when assign and deassign specific eventfd in parallel. Conflicts: drivers/mtd/ubi/wl.c sound/core/rawmidi.c Change-Id: I277fe9260a764e7923ddc90e7327d9aa5865a038 Signed-off-by: Srinivasarao P <spathi@codeaurora.org> |
||
---|---|---|
.. | ||
obsolete | ||
removed | ||
stable | ||
testing | ||
README |
This directory attempts to document the ABI between the Linux kernel and userspace, and the relative stability of these interfaces. Due to the everchanging nature of Linux, and the differing maturity levels, these interfaces should be used by userspace programs in different ways. We have four different levels of ABI stability, as shown by the four different subdirectories in this location. Interfaces may change levels of stability according to the rules described below. The different levels of stability are: stable/ This directory documents the interfaces that the developer has defined to be stable. Userspace programs are free to use these interfaces with no restrictions, and backward compatibility for them will be guaranteed for at least 2 years. Most interfaces (like syscalls) are expected to never change and always be available. testing/ This directory documents interfaces that are felt to be stable, as the main development of this interface has been completed. The interface can be changed to add new features, but the current interface will not break by doing this, unless grave errors or security problems are found in them. Userspace programs can start to rely on these interfaces, but they must be aware of changes that can occur before these interfaces move to be marked stable. Programs that use these interfaces are strongly encouraged to add their name to the description of these interfaces, so that the kernel developers can easily notify them if any changes occur (see the description of the layout of the files below for details on how to do this.) obsolete/ This directory documents interfaces that are still remaining in the kernel, but are marked to be removed at some later point in time. The description of the interface will document the reason why it is obsolete and when it can be expected to be removed. removed/ This directory contains a list of the old interfaces that have been removed from the kernel. Every file in these directories will contain the following information: What: Short description of the interface Date: Date created KernelVersion: Kernel version this feature first showed up in. Contact: Primary contact for this interface (may be a mailing list) Description: Long description of the interface and how to use it. Users: All users of this interface who wish to be notified when it changes. This is very important for interfaces in the "testing" stage, so that kernel developers can work with userspace developers to ensure that things do not break in ways that are unacceptable. It is also important to get feedback for these interfaces to make sure they are working in a proper way and do not need to be changed further. How things move between levels: Interfaces in stable may move to obsolete, as long as the proper notification is given. Interfaces may be removed from obsolete and the kernel as long as the documented amount of time has gone by. Interfaces in the testing state can move to the stable state when the developers feel they are finished. They cannot be removed from the 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.