Tags

Tags give the ability to mark specific points in history as being important
  • locking-core-2023-08-28

    Simplify the locking self-tests via using the new <linux/cleanup.h>
    facilities for lock guards.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86_microcode_for_v6.6_rc1

    - The first, cleanup part of the microcode loader reorg tglx has been
      working on. This part makes the loader core code as it is practically
      enabled on pretty much every baremetal machine so there's no need to
      have the Kconfig items. In addition, there are cleanups which prepare
      for future feature enablement.
    
  • smp-core-2023-08-28

    Updates for the CPU hotplug core:
    
      - Support partial SMT enablement.
    
        So far the sysfs SMT control only allows to toggle between SMT on and
        off. That's sufficient for x86 which usually has at max two threads
        except for the Xeon PHI platform which has four threads per core.
    
        Though PowerPC has up to 16 threads per core and so far it's only
        possible to control the number of enabled threads per core via a
        command line option. There is some way to control this at runtime, but
        that lacks enforcement and the usability is awkward.
    
        This update expands the sysfs interface and the core infrastructure to
        accept numerical values so PowerPC can build SMT runtime control for
        partial SMT enablement on top.
    
        The core support has also been provided to the PowerPC maintainers who
        added the PowerPC related changes on top.
    
      - Minor cleanups and documentation updates.
    
  • x86_sev_for_v6.6_rc1

    - Handle the case where the beginning virtual address of the address
      range whose SEV encryption status needs to change, is not page aligned
      so that callers which round up the number of pages to be decrypted,
      would mark a trailing page as decrypted and thus cause corruption
      during live migration.
    
    - Return an error from the #VC handler on AMD SEV-* guests when the debug
      registers swapping is enabled as a DR7 access should not happen then
      - that register is guest/host switched.
    
  • irq-core-2023-08-28

    Boring updates for the interrupt subsystem:
    
      Core:
    
        - Prevent a deadlock of nested interrupt threads vs.
          synchronize_hard()
    
        - Removal of a stale extern declaration
    
      Drivers:
    
        - The first new driver since v6.2 for Amlogic-C3 SoCs
    
        - The usual small fixes, cleanups and improvements all over
          the place
    
  • core-entry-2023-08-28

    A single update to the core entry code, which removes the empty user
    address limit check which is a leftover of the removed TIF_FSCHECK.
    
  • ras_core_for_v6.6_rc1

    - Add a quirk for AMD Zen machines where Instruction Fetch unit poison
      consumption MCEs are not delivered synchronously but still within the
      same context, which can lead to erroneously increased error severity
      and unneeded kernel panics
    
    - Do not log errors caught by polling shared MCA banks as they
      materialize as duplicated error records otherwise
    
  • x86_misc_for_v6.6_rc1

    - Add PCI device IDs for a new AMD family 0x1a CPUs and use them in
      the respective drivers
    
    - Update HPE Superdome Flex maintainers list
    
  • x86_boot_for_v6.6_rc1

    - Avoid the baremetal decompressor code when booting on an EFI machine.
      This is mandated by the current tightening of EFI executables
      requirements when used in a secure boot scenario. More specifically,
      an EFI executable cannot have a single section with RWX permissions,
      which conflicts with the in-place kernel decompression that is done
      today. Instead, the things required by the booting kernel image are
      done in the EFI stub now. Work by Ard Biesheuvel.
    
  • v6.5

    2dde18cd · Linux 6.5 ·
    Linux 6.5
    
  • v6.1.49

    024f76bc · Linux 6.1.49 ·
    This is the 6.1.49 stable release
    
  • x86-urgent-2023-08-26

    Fix an FPU invalidation bug on exec(), and fix a performance
    regression due to a missing setting of X86_FEATURE_OSXSAVE.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • irq-urgent-2023-08-26

    A last minute fix for a regression introduced in the v6.5 merge window. The
    conversion of the software based interrupt resend mechanism to hlist missed
    to add a check whether the descriptor is already enqueued and dropped the
    interrupt descriptor lookup for nested interrupts.
    
    The missing check whether the descriptor is already queued causes hlist
    corruption and can be observed in the wild. The dropped parent descriptor
    lookup has not yet caused problems, but it would result in stale interrupt
    line in the worst case.
    
    Add the missing enqueued check and bring the descriptor lookup back to cure
    this.
    
  • v5.10.192

    1599cb60 · Linux 5.10.192 ·
    This is the 5.10.192 stable release
    
  • v5.15.128

    5ddfe5cc · Linux 5.15.128 ·
    This is the 5.15.128 stable release
    
  • v6.1.48

    cd363bb9 · Linux 6.1.48 ·
    This is the 6.1.48 stable release
    
  • rust-6.6

    Rust changes for v6.6
    
    In terms of lines, most changes this time are on the pinned-init API
    and infrastructure. While we have a Rust version upgrade, and thus a
    bunch of changes from the vendored 'alloc' crate as usual, this time
    those do not account for many lines.
    
    Toolchain and infrastructure:
    
     - Upgrade to Rust 1.71.1. This is the second such upgrade, which is a
       smaller jump compared to the last time.
    
       This version allows us to remove the '__rust_*' allocator functions
       -- the compiler now generates them as expected, thus now our
       'KernelAllocator' is used.
    
       It also introduces the 'offset_of!' macro in the standard library
       (as an unstable feature) which we will need soon. So far, we were
       using a declarative macro as a prerequisite in some not-yet-landed
       patch series, which did not support sub-fields (i.e. nested structs):
    
           #[repr(C)]
           struct S {
               a: u16,
               b: (u8, u8),
           }
    
           assert_eq!(offset_of!(S, b.1), 3);
    
     - Upgrade to bindgen 0.65.1. This is the first time we upgrade its
       version.
    
       Given it is a fairly big jump, it comes with a fair number of
       improvements/changes that affect us, such as a fix needed to support
       LLVM 16 as well as proper support for '__noreturn' C functions, which
       are now mapped to return the '!' type in Rust:
    
           void __noreturn f(void); // C
           pub fn f() -> !;         // Rust
    
     - 'scripts/rust_is_available.sh' improvements and fixes.
    
       This series takes care of all the issues known so far and adds a few
       new checks to cover for even more cases, plus adds some more help
       texts. All this together will hopefully make problematic setups
       easier to identify and to be solved by users building the kernel.
    
       In addition, it adds a test suite which covers all branches of the
       shell script, as well as tests for the issues found so far.
    
     - Support rust-analyzer for out-of-tree modules too.
    
     - Give 'cfg's to rust-analyzer for the 'core' and 'alloc' crates.
    
     - Drop 'scripts/is_rust_module.sh' since it is not needed anymore.
    
    Macros crate:
    
     - New 'paste!' proc macro.
    
       This macro is a more flexible version of 'concat_idents!': it allows
       the resulting identifier to be used to declare new items and it
       allows to transform the identifiers before concatenating them, e.g.
    
           let x_1 = 42;
           paste!(let [<x _2>] = [<x _1>];);
           assert!(x_1 == x_2);
    
       The macro is then used for several of the pinned-init API changes in
       this pull.
    
    Pinned-init API:
    
     - Make '#[pin_data]' compatible with conditional compilation of fields,
       allowing to write code like:
    
           #[pin_data]
           pub struct Foo {
               #[cfg(CONFIG_BAR)]
               a: Bar,
               #[cfg(not(CONFIG_BAR))]
               a: Baz,
           }
    
     - New '#[derive(Zeroable)]' proc macro for the 'Zeroable' trait, which
       allows 'unsafe' implementations for structs where every field
       implements the 'Zeroable' trait, e.g.:
    
           #[derive(Zeroable)]
           pub struct DriverData {
               id: i64,
               buf_ptr: *mut u8,
               len: usize,
           }
    
     - Add '..Zeroable::zeroed()' syntax to the 'pin_init!'  macro for
       zeroing all other fields, e.g.:
    
           pin_init!(Buf {
               buf: [1; 64],
               ..Zeroable::zeroed()
           });
    
     - New '{,pin_}init_array_from_fn()' functions to create array
       initializers given a generator function, e.g.:
    
           let b: Box<[usize; 1_000]> = Box::init::<Error>(
               init_array_from_fn(|i| i)
           ).unwrap();
    
           assert_eq!(b.len(), 1_000);
           assert_eq!(b[123], 123);
    
     - New '{,pin_}chain' methods for '{,Pin}Init<T, E>' that allow to
       execute a closure on the value directly after initialization, e.g.:
    
           let foo = init!(Foo {
               buf <- init::zeroed()
           }).chain(|foo| {
               foo.setup();
               Ok(())
           });
    
     - Support arbitrary paths in init macros, instead of just identifiers
       and generic types.
    
     - Implement the 'Zeroable' trait for the 'UnsafeCell<T>' and
       'Opaque<T>' types.
    
     - Make initializer values inaccessible after initialization.
    
     - Make guards in the init macros hygienic.
    
    'allocator' module:
    
     - Use 'krealloc_aligned()' in 'KernelAllocator::alloc' preventing
       misaligned allocations when the Rust 1.71.1 upgrade is applied later
       in this pull.
    
       The equivalent fix for the previous compiler version (where
       'KernelAllocator' is not yet used) was merged into 6.5 already,
       which added the 'krealloc_aligned()' function used here.
    
     - Implement 'KernelAllocator::{realloc, alloc_zeroed}' for performance,
       using 'krealloc_aligned()' too, which forwards the call to the C API.
    
    'types' module:
    
     - Make 'Opaque' be '!Unpin', removing the need to add a 'PhantomPinned'
       field to Rust structs that contain C structs which must not be moved.
    
     - Make 'Opaque' use 'UnsafeCell' as the outer type, rather than inner.
    
    Documentation:
    
     - Suggest obtaining the source code of the Rust's 'core' library using
       the tarball instead of the repository.
    
    MAINTAINERS:
    
     - Andreas and Alice, from Samsung and Google respectively, are joining
       as reviewers of the "RUST" entry.
    
    As well as a few other minor changes and cleanups.
    
  • v6.4.12-danctnix1

    DanctNIX kernel v6.4.12-danctnix1
    
  • v6.1.47

    802aacbb · Linux 6.1.47 ·
    This is the 6.1.47 stable release
    
  • v6.4.12

    05d8970c · Linux 6.4.12 ·
    This is the 6.4.12 stable release