1. 10 Sep, 2024 6 commits
    • Sean Christopherson's avatar
      KVM: x86: Fold kvm_get_apic_interrupt() into kvm_cpu_get_interrupt() · aa947796
      Sean Christopherson authored
      Fold kvm_get_apic_interrupt() into kvm_cpu_get_interrupt() now that nVMX
      essentially open codes kvm_get_apic_interrupt() in order to correctly
      emulate nested posted interrupts.
      
      Opportunistically stop exporting kvm_cpu_get_interrupt(), as the
      aforementioned nVMX flow was the only user in vendor code.
      
      Link: https://lore.kernel.org/r/20240906043413.1049633-6-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      aa947796
    • Sean Christopherson's avatar
      KVM: nVMX: Detect nested posted interrupt NV at nested VM-Exit injection · 6e0b4565
      Sean Christopherson authored
      When synthensizing a nested VM-Exit due to an external interrupt, pend a
      nested posted interrupt if the external interrupt vector matches L2's PI
      notification vector, i.e. if the interrupt is a PI notification for L2.
      This fixes a bug where KVM will incorrectly inject VM-Exit instead of
      processing nested posted interrupt when IPI virtualization is enabled.
      
      Per the SDM, detection of the notification vector doesn't occur until the
      interrupt is acknowledge and deliver to the CPU core.
      
        If the external-interrupt exiting VM-execution control is 1, any unmasked
        external interrupt causes a VM exit (see Section 26.2). If the "process
        posted interrupts" VM-execution control is also 1, this behavior is
        changed and the processor handles an external interrupt as follows:
      
          1. The local APIC is acknowledged; this provides the processor core
             with an interrupt vector, called here the physical vector.
          2. If the physical vector equals the posted-interrupt notification
             vector, the logical processor continues to the next step. Otherwise,
             a VM exit occurs as it would normally due to an external interrupt;
             the vector is saved in the VM-exit interruption-information field.
      
      For the most part, KVM has avoided problems because a PI NV for L2 that
      arrives will L2 is active will be processed by hardware, and KVM checks
      for a pending notification vector during nested VM-Enter.  Thus, to hit
      the bug, the PI NV interrupt needs to sneak its way into L1's vIRR while
      L2 is active.
      
      Without IPI virtualization, the scenario is practically impossible to hit,
      modulo L1 doing weird things (see below), as the ordering between
      vmx_deliver_posted_interrupt() and nested VM-Enter effectively guarantees
      that either the sender will see the vCPU as being in_guest_mode(), or the
      receiver will see the interrupt in its vIRR.
      
      With IPI virtualization, introduced by commit d588bb9b ("KVM: VMX:
      enable IPI virtualization"), the sending CPU effectively implements a rough
      equivalent of vmx_deliver_posted_interrupt(), sans the nested PI NV check.
      If the target vCPU has a valid PID, the CPU will send a PI NV interrupt
      based on _L1's_ PID, as the sender's because IPIv table points at L1 PIDs.
      
        PIR := 32 bytes at PID_ADDR;
        // under lock
        PIR[V] := 1;
        store PIR at PID_ADDR;
        // release lock
      
        NotifyInfo := 8 bytes at PID_ADDR + 32;
        // under lock
        IF NotifyInfo.ON = 0 AND NotifyInfo.SN = 0; THEN
          NotifyInfo.ON := 1;
          SendNotify := 1;
        ELSE
          SendNotify := 0;
        FI;
        store NotifyInfo at PID_ADDR + 32;
        // release lock
      
        IF SendNotify = 1; THEN
          send an IPI specified by NotifyInfo.NDST and NotifyInfo.NV;
        FI;
      
      As a result, the target vCPU ends up receiving an interrupt on KVM's
      POSTED_INTR_VECTOR while L2 is running, with an interrupt in L1's PIR for
      L2's nested PI NV.  The POSTED_INTR_VECTOR interrupt triggers a VM-Exit
      from L2 to L0, KVM moves the interrupt from L1's PIR to vIRR, triggers a
      KVM_REQ_EVENT prior to re-entry to L2, and calls vmx_check_nested_events(),
      effectively bypassing all of KVM's "early" checks on nested PI NV.
      
      Without IPI virtualization, the bug can likely be hit only if L1 programs
      an assigned device to _post_ an interrupt to L2's notification vector, by
      way of L1's PID.PIR.  Doing so would allow the interrupt to get into L1's
      vIRR without KVM checking vmcs12's NV.  Which is architecturally allowed,
      but unlikely behavior for a hypervisor.
      
      Cc: Zeng Guang <guang.zeng@intel.com>
      Reviewed-by: default avatarChao Gao <chao.gao@intel.com>
      Link: https://lore.kernel.org/r/20240906043413.1049633-5-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      6e0b4565
    • Sean Christopherson's avatar
      KVM: nVMX: Suppress external interrupt VM-Exit injection if there's no IRQ · 8c23670f
      Sean Christopherson authored
      In the should-be-impossible scenario that kvm_cpu_get_interrupt() doesn't
      return a valid vector after checking kvm_cpu_has_interrupt(), skip VM-Exit
      injection to reduce the probability of crashing/confusing L1.  Now that
      KVM gets the IRQ _before_ calling nested_vmx_vmexit(), squashing the
      VM-Exit injection is trivial since there are no actions that need to be
      undone.
      Reviewed-by: default avatarChao Gao <chao.gao@intel.com>
      Link: https://lore.kernel.org/r/20240906043413.1049633-4-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      8c23670f
    • Sean Christopherson's avatar
      KVM: nVMX: Get to-be-acknowledge IRQ for nested VM-Exit at injection site · 363010e1
      Sean Christopherson authored
      Move the logic to get the to-be-acknowledge IRQ for a nested VM-Exit from
      nested_vmx_vmexit() to vmx_check_nested_events(), which is subtly the one
      and only path where KVM invokes nested_vmx_vmexit() with
      EXIT_REASON_EXTERNAL_INTERRUPT.  A future fix will perform a last-minute
      check on L2's nested posted interrupt notification vector, just before
      injecting a nested VM-Exit.  To handle that scenario correctly, KVM needs
      to get the interrupt _before_ injecting VM-Exit, as simply querying the
      highest priority interrupt, via kvm_cpu_has_interrupt(), would result in
      TOCTOU bug, as a new, higher priority interrupt could arrive between
      kvm_cpu_has_interrupt() and kvm_cpu_get_interrupt().
      
      Unfortunately, simply moving the call to kvm_cpu_get_interrupt() doesn't
      suffice, as a VMWRITE to GUEST_INTERRUPT_STATUS.SVI is hiding in
      kvm_get_apic_interrupt(), and acknowledging the interrupt before nested
      VM-Exit would cause the VMWRITE to hit vmcs02 instead of vmcs01.
      
      Open code a rough equivalent to kvm_cpu_get_interrupt() so that the IRQ
      is acknowledged after emulating VM-Exit, taking care to avoid the TOCTOU
      issue described above.
      
      Opportunistically convert the WARN_ON() to a WARN_ON_ONCE().  If KVM has
      a bug that results in a false positive from kvm_cpu_has_interrupt(),
      spamming dmesg won't help the situation.
      
      Note, nested_vmx_reflect_vmexit() can never reflect external interrupts as
      they are always "wanted" by L0.
      
      Link: https://lore.kernel.org/r/20240906043413.1049633-3-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      363010e1
    • Sean Christopherson's avatar
      KVM: x86: Move "ack" phase of local APIC IRQ delivery to separate API · a194a3a1
      Sean Christopherson authored
      Split the "ack" phase, i.e. the movement of an interrupt from IRR=>ISR,
      out of kvm_get_apic_interrupt() and into a separate API so that nested
      VMX can acknowledge a specific interrupt _after_ emulating a VM-Exit from
      L2 to L1.
      
      To correctly emulate nested posted interrupts while APICv is active, KVM
      must:
      
        1. find the highest pending interrupt.
        2. check if that IRQ is L2's notification vector
        3. emulate VM-Exit if the IRQ is NOT the notification vector
        4. ACK the IRQ in L1 _after_ VM-Exit
      
      When APICv is active, the process of moving the IRQ from the IRR to the
      ISR also requires a VMWRITE to update vmcs01.GUEST_INTERRUPT_STATUS.SVI,
      and so acknowledging the interrupt before switching to vmcs01 would result
      in marking the IRQ as in-service in the wrong VMCS.
      
      KVM currently fudges around this issue by doing kvm_get_apic_interrupt()
      smack dab in the middle of emulating VM-Exit, but that hack doesn't play
      nice with nested posted interrupts, as notification vector IRQs don't
      trigger a VM-Exit in the first place.
      
      Cc: Nathan Chancellor <nathan@kernel.org>
      Link: https://lore.kernel.org/r/20240906043413.1049633-2-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      a194a3a1
    • Kai Huang's avatar
      KVM: VMX: Also clear SGX EDECCSSA in KVM CPU caps when SGX is disabled · 7efb4d8a
      Kai Huang authored
      When SGX EDECCSSA support was added to KVM in commit 16a7fe37
      ("KVM/VMX: Allow exposing EDECCSSA user leaf function to KVM guest"), it
      forgot to clear the X86_FEATURE_SGX_EDECCSSA bit in KVM CPU caps when
      KVM SGX is disabled.  Fix it.
      
      Fixes: 16a7fe37 ("KVM/VMX: Allow exposing EDECCSSA user leaf function to KVM guest")
      Signed-off-by: default avatarKai Huang <kai.huang@intel.com>
      Link: https://lore.kernel.org/r/20240905120837.579102-1-kai.huang@intel.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
      7efb4d8a
  2. 22 Aug, 2024 5 commits
  3. 18 Aug, 2024 9 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc4 · 47ac09b9
      Linus Torvalds authored
      47ac09b9
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.11-rc4' of... · ccdbf91f
      Linus Torvalds authored
      Merge tag 'driver-core-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are two driver fixes for regressions from 6.11-rc1 due to the
        driver core change making a structure in a driver core callback const.
      
        These were missed by all testing EXCEPT for what Bart happened to be
        running, so I appreciate the fixes provided here for some
        odd/not-often-used driver subsystems that nothing else happened to
        catch.
      
        Both of these fixes have been in linux-next all week with no reported
        issues"
      
      * tag 'driver-core-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        mips: sgi-ip22: Fix the build
        ARM: riscpc: ecard: Fix the build
      ccdbf91f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e1bc1132
      Linus Torvalds authored
      Pull char / misc fixes from Greg KH:
       "Here are some small char/misc fixes for 6.11-rc4 to resolve reported
        problems. Included in here are:
      
         - fastrpc revert of a change that broke userspace
      
         - xillybus fixes for reported issues
      
        Half of these have been in linux-next this week with no reported
        problems, I don't know if the last bit of xillybus driver changes made
        it in, but they are 'obviously correct' so will be safe :)"
      
      * tag 'char-misc-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        char: xillybus: Check USB endpoints when probing device
        char: xillybus: Refine workqueue handling
        Revert "misc: fastrpc: Restrict untrusted app to attach to privileged PD"
        char: xillybus: Don't destroy workqueue from work item running on it
      e1bc1132
    • Linus Torvalds's avatar
      Merge tag 'tty-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 394f33f9
      Linus Torvalds authored
      Pull tty / serial fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.11-rc4 to
        resolve some reported problems. Included in here are:
      
         - conmakehash.c userspace build issues
      
         - fsl_lpuart driver fix
      
         - 8250_omap revert for reported regression
      
         - atmel_serial rts flag fix
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'tty-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "serial: 8250_omap: Set the console genpd always on if no console suspend"
        tty: atmel_serial: use the correct RTS flag.
        tty: vt: conmakehash: remove non-portable code printing comment header
        tty: serial: fsl_lpuart: mark last busy before uart_add_one_port
      394f33f9
    • Linus Torvalds's avatar
      Merge tag 'usb-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 3d9061d2
      Linus Torvalds authored
      Pull USB / Thunderbolt driver fixes from Greg KH:
       "Here are some small USB and Thunderbolt driver fixes for 6.11-rc4 to
        resolve some reported issues. Included in here are:
      
         - thunderbolt driver fixes for reported problems
      
         - typec driver fixes
      
         - xhci fixes
      
         - new device id for ljca usb driver
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'usb-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration
        usb: misc: ljca: Add Lunar Lake ljca GPIO HID to ljca_gpio_hids[]
        Revert "usb: typec: tcpm: clear pd_event queue in PORT_RESET"
        usb: typec: ucsi: Fix the return value of ucsi_run_command()
        usb: xhci: fix duplicate stall handling in handle_tx_event()
        usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup()
        thunderbolt: Mark XDomain as unplugged when router is removed
        thunderbolt: Fix memory leaks in {port|retimer}_sb_regs_write()
      3d9061d2
    • Linus Torvalds's avatar
      Merge tag 'for-6.11-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 57b14823
      Linus Torvalds authored
      Pull more btrfs fixes from David Sterba:
       "A more fixes. We got reports that shrinker added in 6.10 still causes
        latency spikes and the fixes don't handle all corner cases. Due to
        summer holidays we're taking a shortcut to disable it for release
        builds and will fix it in the near future.
      
         - only enable extent map shrinker for DEBUG builds, temporary quick
           fix to avoid latency spikes for regular builds
      
         - update target inode's ctime on unlink, mandated by POSIX
      
         - properly take lock to read/update block group's zoned variables
      
         - add counted_by() annotations"
      
      * tag 'for-6.11-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: only enable extent map shrinker for DEBUG builds
        btrfs: zoned: properly take lock to read/update block group's zoned variables
        btrfs: tree-checker: add dev extent item checks
        btrfs: update target inode's ctime on unlink
        btrfs: send: annotate struct name_cache_entry with __counted_by()
      57b14823
    • Jann Horn's avatar
      fuse: Initialize beyond-EOF page contents before setting uptodate · 3c0da3d1
      Jann Horn authored
      fuse_notify_store(), unlike fuse_do_readpage(), does not enable page
      zeroing (because it can be used to change partial page contents).
      
      So fuse_notify_store() must be more careful to fully initialize page
      contents (including parts of the page that are beyond end-of-file)
      before marking the page uptodate.
      
      The current code can leave beyond-EOF page contents uninitialized, which
      makes these uninitialized page contents visible to userspace via mmap().
      
      This is an information leak, but only affects systems which do not
      enable init-on-alloc (via CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y or the
      corresponding kernel command line parameter).
      
      Link: https://bugs.chromium.org/p/project-zero/issues/detail?id=2574
      Cc: stable@kernel.org
      Fixes: a1d75f25 ("fuse: add store request")
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c0da3d1
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2024-08-17-19-34' of... · c3f2d783
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2024-08-17-19-34' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "16 hotfixes. All except one are for MM. 10 of these are cc:stable and
        the others pertain to post-6.10 issues.
      
        As usual with these merges, singletons and doubletons all over the
        place, no identifiable-by-me theme. Please see the lovingly curated
        changelogs to get the skinny"
      
      * tag 'mm-hotfixes-stable-2024-08-17-19-34' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        mm/migrate: fix deadlock in migrate_pages_batch() on large folios
        alloc_tag: mark pages reserved during CMA activation as not tagged
        alloc_tag: introduce clear_page_tag_ref() helper function
        crash: fix riscv64 crash memory reserve dead loop
        selftests: memfd_secret: don't build memfd_secret test on unsupported arches
        mm: fix endless reclaim on machines with unaccepted memory
        selftests/mm: compaction_test: fix off by one in check_compaction()
        mm/numa: no task_numa_fault() call if PMD is changed
        mm/numa: no task_numa_fault() call if PTE is changed
        mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0
        mm/memory-failure: use raw_spinlock_t in struct memory_failure_cpu
        mm: don't account memmap per-node
        mm: add system wide stats items category
        mm: don't account memmap on failure
        mm/hugetlb: fix hugetlb vs. core-mm PT locking
        mseal: fix is_madv_discard()
      c3f2d783
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 810996a3
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix crashes on 85xx with some configs since the recent hugepd rework.
      
       - Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL on some
         platforms.
      
       - Don't enable offline cores when changing SMT modes, to match existing
         userspace behaviour.
      
      Thanks to Christophe Leroy, Dr. David Alan Gilbert, Guenter Roeck, Nysal
      Jan K.A, Shrikanth Hegde, Thomas Gleixner, and Tyrel Datwyler.
      
      * tag 'powerpc-6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/topology: Check if a core is online
        cpu/SMT: Enable SMT only if a core is online
        powerpc/mm: Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL
        powerpc/mm: Fix size of allocated PGDIR
        soc: fsl: qbman: remove unused struct 'cgr_comp'
      810996a3
  4. 17 Aug, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'v6.11-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · e0fac5fc
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - fix for clang warning - additional null check
      
       - fix for cached write with posix locks
      
       - flexible structure fix
      
      * tag 'v6.11-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: smb2pdu.h: Use static_assert() to check struct sizes
        smb3: fix lock breakage for cached writes
        smb/client: avoid possible NULL dereference in cifs_free_subrequest()
      e0fac5fc
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 98a1b2d7
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "I2C core fix replacing IS_ENABLED() with IS_REACHABLE()
      
        For host drivers, there are two fixes:
      
         - Tegra I2C Controller: Addresses a potential double-locking issue
           during probe. ACPI devices are not IRQ-safe when invoking runtime
           suspend and resume functions, so the irq_safe flag should not be
           set.
      
         - Qualcomm GENI I2C Controller: Fixes an oversight in the exit path
           of the runtime_resume() function, which was missed in the previous
           release"
      
      * tag 'i2c-for-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: tegra: Do not mark ACPI devices as irq safe
        i2c: Use IS_REACHABLE() for substituting empty ACPI functions
        i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume
      98a1b2d7
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · df6cbc62
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two small fixes to the mpi3mr driver. One to avoid oversize
        allocations in tracing and the other to fix an uninitialized spinlock
        in the user to driver feature request code (used to trigger dumps and
        the like)"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: mpi3mr: Avoid MAX_PAGE_ORDER WARNING for buffer allocations
        scsi: mpi3mr: Add missing spin_lock_init() for mrioc->trigger_lock
      df6cbc62
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d09840f8
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Check for presence of only 'attr' feature before scrubbing an inode's
         attribute fork.
      
       - Restore the behaviour of setting AIL thread to TASK_INTERRUPTIBLE for
         long (i.e. 50ms) sleep durations to prevent high load averages.
      
       - Do not allow users to change the realtime flag of a file unless the
         datadev and rtdev both support fsdax access modes.
      
      * tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set
        xfs: revert AIL TASK_KILLABLE threshold
        xfs: attr forks require attr, not attr2
      d09840f8
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs · b7181758
      Linus Torvalds authored
      Pull bcachefs fixes from Kent OverstreetL
      
       - New on disk format version, bcachefs_metadata_version_disk_accounting_inum
      
         This adds one more disk accounting counter, which counts disk usage
         and number of extents per inode number. This lets us track
         fragmentation, for implementing defragmentation later, and it also
         counts disk usage per inode in all snapshots, which will be a useful
         thing to expose to users.
      
       - One performance issue we've observed is threads spinning when they
         should be waiting for dirty keys in the key cache to be flushed by
         journal reclaim, so we now have hysteresis for the waiting thread, as
         well as improving the tracepoint and a new time_stat, for tracking
         time blocked waiting on key cache flushing.
      
      ... and various assorted smaller fixes.
      
      * tag 'bcachefs-2024-08-16' of git://evilpiepirate.org/bcachefs:
        bcachefs: Fix locking in __bch2_trans_mark_dev_sb()
        bcachefs: fix incorrect i_state usage
        bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru
        bcachefs: Fix forgetting to pass trans to fsck_err()
        bcachefs: Increase size of cuckoo hash table on too many rehashes
        bcachefs: bcachefs_metadata_version_disk_accounting_inum
        bcachefs: Kill __bch2_accounting_mem_mod()
        bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()
        bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in
        bcachefs: Add a time_stat for blocked on key cache flush
        bcachefs: Improve trans_blocked_journal_reclaim tracepoint
        bcachefs: Add hysteresis to waiting on btree key cache flush
        lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
        bcachefs: Convert for_each_btree_node() to lockrestart_do()
        bcachefs: Add missing downgrade table entry
        bcachefs: disk accounting: ignore unknown types
        bcachefs: bch2_accounting_invalid() fixup
        bcachefs: Fix bch2_trigger_alloc when upgrading from old versions
        bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()
      b7181758
    • Kent Overstreet's avatar
      bcachefs: Fix locking in __bch2_trans_mark_dev_sb() · 0e49d3ff
      Kent Overstreet authored
      We run this in full RW mode now, so we have to guard against the
      superblock buffer being reallocated.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      0e49d3ff
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e5fa841a
      Linus Torvalds authored
      Pull memcg-v1 fix from Al Viro:
       "memcg_write_event_control() oops fix"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        memcg_write_event_control(): fix a user-triggerable oops
      e5fa841a
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c2cdb13a
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix the arm64 __get_mem_asm() to use the _ASM_EXTABLE_##type##ACCESS()
         macro instead of the *_ERR() one in order to avoid writing -EFAULT to
         the value register in case of a fault
      
       - Initialise all elements of the acpi_early_node_map[] to NUMA_NO_NODE.
         Prior to this fix, only the first element was initialised
      
       - Move the KASAN random tag seed initialisation after the per-CPU areas
         have been initialised (prng_state is __percpu)
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Fix KASAN random tag seed initialization
        arm64: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE
        arm64: uaccess: correct thinko in __get_mem_asm()
      c2cdb13a
  5. 16 Aug, 2024 12 commits