Tags

Tags give the ability to mark specific points in history as being important
  • v6.11-rc2

    de9c2c66 · Linux 6.11-rc2 ·
    Linux 6.11-rc2
    
  • x86-urgent-2024-08-04

    X86 fixes:
    
        - Prevent a deadlock on cpu_hotplug_lock in the aperf/mperf driver.
    
          A recent change in the ACPI code which consolidated code pathes moved
          the invocation of init_freq_invariance_cppc() to be moved to a CPU
          hotplug handler. The first invocation on AMD CPUs ends up enabling a
          static branch which dead locks because the static branch enable tries to
          acquire cpu_hotplug_lock but that lock is already held write by the
          hotplug machinery.
    
          Use static_branch_enable_cpuslocked() instead and take the hotplug
          lock read for the Intel code path which is invoked from the
          architecture code outside of the CPU hotplug operations.
    
        - Fix the number of reserved bits in the sev_config structure bit field
          so that the bitfield does not exceed 64 bit.
    
        - Add missing Zen5 model numbers
    
        - Fix the alignment assumptions of pti_clone_pgtable() and
          clone_entry_text() on 32-bit:
    
          The code assumes PMD aligned code sections, but on 32-bit the kernel
          entry text is not PMD aligned. So depending on the code size and
          location, which is configuration and compiler dependent, entry text
          can cross a PMD boundary. As the start is not PMD aligned adding PMD
          size to the start address is larger than the end address which
          results in partially mapped entry code for user space. That causes
          endless recursion on the first entry from userspace (usually #PF).
    
          Cure this by aligning the start address in the addition so it ends up
          at the next PMD start address.
    
          clone_entry_text() enforces PMD mapping, but on 32-bit the tail might
          eventually be PTE mapped, which causes a map fail because the PMD for
          the tail is not a large page mapping. Use PTI_LEVEL_KERNEL_IMAGE for
          the clone() invocation which resolves to PTE on 32-bit and PMD on
          64-bit.
    
        - Zero the 8-byte case for get_user() on range check failure on 32-bit
    
          The recend consolidation of the 8-byte get_user() case broke the
          zeroing in the failure case again. Establish it by clearing ECX
          before the range check and not afterwards as that obvioulsy can't be
          reached when the range check fails
    
  • timers-urgent-2024-08-04

    Two fixes for the timer/clocksource code:
    
        - The recent fix for making the take over of the broadcast timer more
          reliable retrieves a per CPU pointer in preemptible context.
          This went unnoticed in testing as some compilers hoist the access into
          the non-preemotible section where the pointer is actually used, but
          obviously compilers can rightfully invoke it where the code put it.
    
          Move it into the non-preemptible section right to the actual usage
          side to cure it.
    
        - The clocksource watchdog is supposed to emit a warning when the retry
          count is greater than one and the number of retries reaches the
          limit. The condition is backwards and warns always when the count is
          greater than one. Fixup the condition to prevent spamming dmesg.
    
  • sched-urgent-2024-08-04

    Scheduler fixes:
    
       - When stime is larger than rtime due to accounting imprecision, then
         utime = rtime - stime becomes negative. As this is unsigned math, the
         result becomes a huge positive number. Cure it by resetting stime to
         rtime in that case, so utime becomes 0.
    
       - Restore consistent state when sched_cpu_deactivate() fails.
    
         When offlining a CPU fails in sched_cpu_deactivate() after the SMT
         present counter has been decremented, then the function aborts but
         fails to increment the SMT present counter and leaves it imbalanced.
         Consecutive operations cause it to underflow. Add the missing fixup
         for the error path.
    
         As SMT accounting the runqueue needs to marked online again in the
         error exit path to restore consistent state.
    
  • perf-urgent-2024-08-04

    perf/x86 subsystem fixes:
    
         - Move the smp_processor_id() invocation back into the non-preemtible
           region, so that the result is valid to use.
    
         - Add the missing package C2 residency counters for Sierra Forest CPUs
           to make the newly added support actually useful
    
  • locking-urgent-2024-08-04

    Two fixes for locking and jump labels:
    
       - Ensure that the atomic_cmpxchg() conditions are correct and evaluating
         to true on any non-zero value except 1. The missing check of the
         return value leads to inconsisted state of the jump label counter.
    
       - Add a missing type conversion in the paravirt spinlock code which
         makes loongson build again.
    
  • irq-urgent-2024-08-04

    A couple of fixes for interrupt chip drivers:
    
      - Ensure to skip the clear register space in the MBIGEN driver when
        calculating the node register index. Otherwise the clear register is
        clobbered and the wrong node registers are accessed.
    
      - Fix a signed/unsigned confusion in the loongarch CPU driver which
        converts an error code to a huge "valid" interrupt number.
    
      - Convert the mesion GPIO interrupt controller lock to a raw spinlock so
        it works on RT.
    
      - Add a missing static to a internal function in the pic32 EVIC driver.
    
  • v6.10.3

    d29de02e · Linux 6.10.3 ·
    This is the 6.10.3 stable release
    
  • v6.6.44

    72139106 · Linux 6.6.44 ·
    This is the 6.6.44 stable release
    
  • v6.1.103

    48d525b0 · Linux 6.1.103 ·
    This is the 6.1.103 stable release
    
  • smp-for-loongson

    Tag the CPU hotplug commits so loongson can consume them
    
  • v6.11-rc1

    8400291e · Linux 6.11-rc1 ·
    Linux 6.11-rc1
    
  • v6.10.2

    2d002356 · Linux 6.10.2 ·
    This is the 6.10.2 stable release
    
  • v6.9.12

    bb67b270 · Linux 6.9.12 ·
    This is the 6.9.12 stable release
    
  • v6.6.43

    58b0425f · Linux 6.6.43 ·
    This is the 6.6.43 stable release
    
  • v6.1.102

    c1cec4da · Linux 6.1.102 ·
    This is the 6.1.102 stable release
    
  • v5.15.164

    7e89efd3 · Linux 5.15.164 ·
    This is the 5.15.164 stable release
    
  • v5.10.223

    b15dc417 · Linux 5.10.223 ·
    This is the 5.10.223 stable release