1. 18 Sep, 2024 1 commit
    • Qiu-ji Chen's avatar
      drbd: Fix atomicity violation in drbd_uuid_set_bm() · 2f02b5af
      Qiu-ji Chen authored
      The violation of atomicity occurs when the drbd_uuid_set_bm function is
      executed simultaneously with modifying the value of
      device->ldev->md.uuid[UI_BITMAP]. Consider a scenario where, while
      device->ldev->md.uuid[UI_BITMAP] passes the validity check when its
      value is not zero, the value of device->ldev->md.uuid[UI_BITMAP] is
      written to zero. In this case, the check in drbd_uuid_set_bm might refer
      to the old value of device->ldev->md.uuid[UI_BITMAP] (before locking),
      which allows an invalid value to pass the validity check, resulting in
      inconsistency.
      
      To address this issue, it is recommended to include the data validity
      check within the locked section of the function. This modification
      ensures that the value of device->ldev->md.uuid[UI_BITMAP] does not
      change during the validation process, thereby maintaining its integrity.
      
      This possible bug is found by an experimental static analysis tool
      developed by our team. This tool analyzes the locking APIs to extract
      function pairs that can be concurrently executed, and then analyzes the
      instructions in the paired functions to identify possible concurrency
      bugs including data races and atomicity violations.
      
      Fixes: 9f2247bb ("drbd: Protect accesses to the uuid set with a spinlock")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarQiu-ji Chen <chenqiuji666@gmail.com>
      Reviewed-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
      Link: https://lore.kernel.org/r/20240913083504.10549-1-chenqiuji666@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2f02b5af
  2. 17 Sep, 2024 4 commits
  3. 15 Sep, 2024 3 commits
    • Linus Torvalds's avatar
      Linux 6.11 · 98f7e32f
      Linus Torvalds authored
      98f7e32f
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.11' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d42f7708
      Linus Torvalds authored
      Pull kvm fix from Paolo Bonzini:
       "Do not always honor guest PAT on CPUs that support self-snoop.
      
        This triggers an issue in the bochsdrm driver, which used ioremap()
        instead of ioremap_wc() to map the video RAM.
      
        The revert lets video RAM use the WB memory type instead of the slower
        UC memory type"
      
      * tag 'for-linus-6.11' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop"
      d42f7708
    • Paolo Bonzini's avatar
      Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop" · 9d70f3fe
      Paolo Bonzini authored
      This reverts commit 377b2f35.
      
      This caused a regression with the bochsdrm driver, which used ioremap()
      instead of ioremap_wc() to map the video RAM.  After the commit, the
      WB memory type is used without the IGNORE_PAT, resulting in the slower
      UC memory type.  In fact, UC is slow enough to basically cause guests
      to not boot... but only on new processors such as Sapphire Rapids and
      Cascade Lake.  Coffee Lake for example works properly, though that might
      also be an effect of being on a larger, more NUMA system.
      
      The driver has been fixed but that does not help older guests.  Until we
      figure out whether Cascade Lake and newer processors are working as
      intended, revert the commit.  Long term we might add a quirk, but the
      details depend on whether the processors are working as intended: for
      example if they are, the quirk might reference bochs-compatible devices,
      e.g. in the name and documentation, so that userspace can disable the
      quirk by default and only leave it enabled if such a device is being
      exposed to the guest.
      
      If instead this is actually a bug in CLX+, then the actions we need to
      take are different and depend on the actual cause of the bug.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9d70f3fe
  4. 14 Sep, 2024 4 commits
  5. 13 Sep, 2024 22 commits
  6. 12 Sep, 2024 6 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 196145c6
      Linus Torvalds authored
      Pull clk fix from Stephen Boyd:
       "One build fix for 32-bit arches using the Qualcomm PLL driver. It's
        cheaper to use a comparison here instead of a division so we just do
        that to fix the build"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()
      196145c6
    • Linus Torvalds's avatar
      Merge tag 'block-6.11-20240912' of git://git.kernel.dk/linux · b8e7cd09
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "Just a single fix for a deadlock issue that can happen if someone
        attempts to change the root disk IO scheduler with a module that
        requires loading from disk.
      
        Changing the scheduler freezes the queue while that operation is
        happening, hence causing a deadlock"
      
      * tag 'block-6.11-20240912' of git://git.kernel.dk/linux:
        block: Prevent deadlocks when switching elevators
      b8e7cd09
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.11-rc8' of... · fdf042df
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fix from Guenter Roeck:
      
       - Fix clearing status register bits for chips supporting older
         PMBus versions
      
      * tag 'hwmon-for-v6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2
      fdf042df
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 5da02886
      Linus Torvalds authored
      Pull workqueue fix from Tejun Heo:
       "A fix for a NULL worker->pool deref bug which can be triggered when a
        worker is created and then destroyed immediately"
      
      * tag 'wq-for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Clear worker->pool in the worker thread context
      5da02886
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 8581ae1e
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - Two fixes for smp_processor_id() calls in preemptible sections: one
         if the perf driver, and one in the fence.i prctl.
      
      * tag 'riscv-for-linus-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF
        drivers: perf: Fix smp_processor_id() use in preemptible code
      8581ae1e
    • Linus Torvalds's avatar
      Merge tag 'net-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 5abfdfd4
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from netfilter.
      
        There is a recently notified BT regression with no fix yet. I do not
        think a fix will land in the next week.
      
        Current release - regressions:
      
         - core: tighten bad gso csum offset check in virtio_net_hdr
      
         - netfilter: move nf flowtable bpf initialization in
           nf_flow_table_module_init()
      
         - eth: ice: stop calling pci_disable_device() as we use pcim
      
         - eth: fou: fix null-ptr-deref in GRO.
      
        Current release - new code bugs:
      
         - hsr: prevent NULL pointer dereference in hsr_proxy_announce()
      
        Previous releases - regressions:
      
         - hsr: remove seqnr_lock
      
         - netfilter: nft_socket: fix sk refcount leaks
      
         - mptcp: pm: fix uaf in __timer_delete_sync
      
         - phy: dp83822: fix NULL pointer dereference on DP83825 devices
      
         - eth: revert "virtio_net: rx enable premapped mode by default"
      
         - eth: octeontx2-af: Modify SMQ flush sequence to drop packets
      
        Previous releases - always broken:
      
         - eth: mlx5: fix bridge mode operations when there are no VFs
      
         - eth: igb: Always call igb_xdp_ring_update_tail() under Tx lock"
      
      * tag 'net-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (36 commits)
        net: netfilter: move nf flowtable bpf initialization in nf_flow_table_module_init()
        net: tighten bad gso csum offset check in virtio_net_hdr
        netlink: specs: mptcp: fix port endianness
        net: dpaa: Pad packets to ETH_ZLEN
        mptcp: pm: Fix uaf in __timer_delete_sync
        net: libwx: fix number of Rx and Tx descriptors
        net: dsa: felix: ignore pending status of TAS module when it's disabled
        net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()
        selftests: mptcp: include net_helper.sh file
        selftests: mptcp: include lib.sh file
        selftests: mptcp: join: restrict fullmesh endp on 1st sf
        netfilter: nft_socket: make cgroupsv2 matching work with namespaces
        netfilter: nft_socket: fix sk refcount leaks
        MAINTAINERS: Add ethtool pse-pd to PSE NETWORK DRIVER
        dt-bindings: net: tja11xx: fix the broken binding
        selftests: net: csum: Fix checksums for packets with non-zero padding
        net: phy: dp83822: Fix NULL pointer dereference on DP83825 devices
        virtio_net: disable premapped mode by default
        Revert "virtio_net: big mode skip the unmap check"
        Revert "virtio_net: rx remove premapped failover code"
        ...
      5abfdfd4