1. 25 Jul, 2024 3 commits
  2. 24 Jul, 2024 1 commit
  3. 22 Jul, 2024 1 commit
  4. 19 Jul, 2024 1 commit
  5. 18 Jul, 2024 5 commits
  6. 16 Jul, 2024 1 commit
  7. 15 Jul, 2024 1 commit
  8. 11 Jul, 2024 1 commit
    • Qiuxu Zhuo's avatar
      drm/fb-helper: Don't schedule_work() to flush frame buffer during panic() · 833cd3e9
      Qiuxu Zhuo authored
      Sometimes the system [1] hangs on x86 I/O machine checks. However, the
      expected behavior is to reboot the system, as the machine check handler
      ultimately triggers a panic(), initiating a reboot in the last step.
      
      The root cause is that sometimes the panic() is blocked when
      drm_fb_helper_damage() invoking schedule_work() to flush the frame buffer.
      This occurs during the process of flushing all messages to the frame
      buffer driver as shown in the following call trace:
      
        Machine check occurs [2]:
          panic()
            console_flush_on_panic()
              console_flush_all()
                console_emit_next_record()
                  con->write()
                    vt_console_print()
                      hide_cursor()
                        vc->vc_sw->con_cursor()
                          fbcon_cursor()
                            ops->cursor()
                              bit_cursor()
                                soft_cursor()
                                  info->fbops->fb_imageblit()
                                    drm_fbdev_generic_defio_imageblit()
                                      drm_fb_helper_damage_area()
                                        drm_fb_helper_damage()
                                          schedule_work() // <--- blocked here
          ...
          emergency_restart()  // wasn't invoked, so no reboot.
      
      During panic(), except the panic CPU, all the other CPUs are stopped.
      In schedule_work(), the panic CPU requires the lock of worker_pool to
      queue the work on that pool, while the lock may have been token by some
      other stopped CPU. So schedule_work() is blocked.
      
      Additionally, during a panic(), since there is no opportunity to execute
      any scheduled work, it's safe to fix this issue by skipping schedule_work()
      on 'oops_in_progress' in drm_fb_helper_damage().
      
      [1] Enable the kernel option CONFIG_FRAMEBUFFER_CONSOLE,
          CONFIG_DRM_FBDEV_EMULATION, and boot with the 'console=tty0'
          kernel command line parameter.
      
      [2] Set 'panic_timeout' to a non-zero value before calling panic().
      Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Reported-by: default avatarYudong Wang <yudong.wang@intel.com>
      Tested-by: default avatarYudong Wang <yudong.wang@intel.com>
      Signed-off-by: default avatarQiuxu Zhuo <qiuxu.zhuo@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240703141737.75378-1-qiuxu.zhuo@intel.comSigned-off-by: default avatarMaarten Lankhorst,,, <maarten.lankhorst@linux.intel.com>
      833cd3e9
  9. 09 Jul, 2024 3 commits
  10. 08 Jul, 2024 1 commit
  11. 07 Jul, 2024 3 commits
    • Linus Torvalds's avatar
      Linux 6.10-rc7 · 256abd8e
      Linus Torvalds authored
      256abd8e
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 5a4bd506
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "A set of clk fixes for the Qualcomm, Mediatek, and Allwinner drivers:
      
         - Fix the Qualcomm Stromer Plus PLL set_rate() clk_op to explicitly
           set the alpha enable bit and not set bits that don't exist
      
         - Mark Qualcomm IPQ9574 crypto clks as voted to avoid stuck clk
           warnings
      
         - Fix the parent of some PLLs on Qualcomm sm6530 so their rate is
           correct
      
         - Fix the min/max rate clamping logic in the Allwinner driver that
           got broken in v6.9
      
         - Limit runtime PM enabling in the Mediatek driver to only
           mt8183-mfgcfg so that system wide resume doesn't break on other
           Mediatek SoCs"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg
        clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common
        clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag
        clk: qcom: apss-ipq-pll: remove 'config_ctl_hi_val' from Stromer pll configs
        clk: qcom: clk-alpha-pll: set ALPHA_EN bit for Stromer Plus PLLs
        clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents
      5a4bd506
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c6653f49
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix unnecessary copy to 0 when kernel is booted at address 0
      
       - Fix usercopy crash when dumping dtl via debugfs
      
       - Avoid possible crash when PCI hotplug races with error handling
      
       - Fix kexec crash caused by scv being disabled before other CPUs
         call-in
      
       - Fix powerpc selftests build with USERCFLAGS set
      
      Thanks to Anjali K, Ganesh Goudar, Gautam Menghani, Jinglin Wen,
      Nicholas Piggin, Sourabh Jain, Srikar Dronamraju, and Vishal Chourasia.
      
      * tag 'powerpc-6.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        selftests/powerpc: Fix build with USERCFLAGS set
        powerpc/pseries: Fix scv instruction crash with kexec
        powerpc/eeh: avoid possible crash when edev->pdev changes
        powerpc/pseries: Whitelist dtl slub object for copying to userspace
        powerpc/64s: Fix unnecessary copy to 0 when kernel is booted at address 0
      c6653f49
  12. 06 Jul, 2024 3 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6 · 256fdd4b
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "Fix for smb3 readahead performance regression"
      
      * tag '6.10-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Fix read-performance regression by dropping readahead expansion
      256fdd4b
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 22f902df
      Linus Torvalds authored
      Pull i2c fix from Wolfram Sang:
       "An i2c driver fix"
      
      * tag 'i2c-for-6.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
      22f902df
    • Michael Ellerman's avatar
      selftests/powerpc: Fix build with USERCFLAGS set · 8b7f59de
      Michael Ellerman authored
      Currently building the powerpc selftests with USERCFLAGS set to anything
      causes the build to break:
      
        $ make -C tools/testing/selftests/powerpc V=1 USERCFLAGS=-Wno-error
        ...
        gcc -Wno-error    cache_shape.c ...
        cache_shape.c:18:10: fatal error: utils.h: No such file or directory
           18 | #include "utils.h"
              |          ^~~~~~~~~
        compilation terminated.
      
      This happens because the USERCFLAGS are added to CFLAGS in lib.mk, which
      causes the check of CFLAGS in powerpc/flags.mk to skip setting CFLAGS at
      all, resulting in none of the usual CFLAGS being passed. That can
      be seen in the output above, the only flag passed to the compiler is
      -Wno-error.
      
      Fix it by dropping the conditional setting of CFLAGS in flags.mk.
      Instead always set CFLAGS, but also append USERCFLAGS if they are set.
      
      Note that appending to CFLAGS (with +=) wouldn't work, because flags.mk
      is included by multiple Makefiles (to support partial builds), causing
      CFLAGS to be appended to multiple times. Additionally that would place
      the USERCFLAGS prior to the standard CFLAGS, meaning the USERCFLAGS
      couldn't override the standard flags. Being able to override the
      standard flags is desirable, for example for adding -Wno-error.
      
      With the fix in place, the CFLAGS are set correctly, including the
      USERCFLAGS:
      
        $ make -C tools/testing/selftests/powerpc V=1 USERCFLAGS=-Wno-error
        ...
        gcc -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"v6.10-rc2-7-gdea17e7e56c3"'
        -I/home/michael/linux/tools/testing/selftests/powerpc/include -Wno-error
        cache_shape.c ...
      
      Fixes: 5553a793 ("selftests/powerpc: Add flags.mk to support pmu buildable")
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240706120833.909853-1-mpe@ellerman.id.au
      8b7f59de
  13. 05 Jul, 2024 11 commits
  14. 04 Jul, 2024 5 commits
    • Jarkko Sakkinen's avatar
      tpm: Address !chip->auth in tpm_buf_append_hmac_session*() · 7ca110f2
      Jarkko Sakkinen authored
      Unless tpm_chip_bootstrap() was called by the driver, !chip->auth can
      cause a null derefence in tpm_buf_hmac_session*().  Thus, address
      !chip->auth in tpm_buf_hmac_session*() and remove the fallback
      implementation for !TCG_TPM2_HMAC.
      
      Cc: stable@vger.kernel.org # v6.9+
      Reported-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Closes: https://lore.kernel.org/linux-integrity/20240617193408.1234365-1-stefanb@linux.ibm.com/
      Fixes: 1085b827 ("tpm: Add the rest of the session HMAC API")
      Tested-by: Michael Ellerman <mpe@ellerman.id.au> # ppc
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      7ca110f2
    • Jarkko Sakkinen's avatar
      tpm: Address !chip->auth in tpm_buf_append_name() · a61809a3
      Jarkko Sakkinen authored
      Unless tpm_chip_bootstrap() was called by the driver, !chip->auth can
      cause a null derefence in tpm_buf_append_name().  Thus, address
      !chip->auth in tpm_buf_append_name() and remove the fallback
      implementation for !TCG_TPM2_HMAC.
      
      Cc: stable@vger.kernel.org # v6.10+
      Reported-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Closes: https://lore.kernel.org/linux-integrity/20240617193408.1234365-1-stefanb@linux.ibm.com/
      Fixes: d0a25bb9 ("tpm: Add HMAC session name/handle append")
      Tested-by: Michael Ellerman <mpe@ellerman.id.au> # ppc
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      a61809a3
    • Jarkko Sakkinen's avatar
      tpm: Address !chip->auth in tpm2_*_auth_session() · 25ee48a5
      Jarkko Sakkinen authored
      Unless tpm_chip_bootstrap() was called by the driver, !chip->auth can cause
      a null derefence in tpm2_*_auth_session(). Thus, address !chip->auth in
      tpm2_*_auth_session().
      
      Cc: stable@vger.kernel.org # v6.9+
      Reported-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Closes: https://lore.kernel.org/linux-integrity/20240617193408.1234365-1-stefanb@linux.ibm.com/
      Fixes: 699e3efd ("tpm: Add HMAC session start and end functions")
      Tested-by: Michael Ellerman <mpe@ellerman.id.au> # ppc
      Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      25ee48a5
    • Linus Torvalds's avatar
      Merge tag 'for-6.10-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 661e504d
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix folio refcounting when releasing them (encoded write, dummy
         extent buffer)
      
       - fix out of bounds read when checking qgroup inherit data
      
       - fix how configurable chunk size is handled in zoned mode
      
       - in the ref-verify tool, fix uninitialized return value when checking
         extent owner ref and simple quota are not enabled
      
      * tag 'for-6.10-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix folio refcount in __alloc_dummy_extent_buffer()
        btrfs: fix folio refcount in btrfs_do_encoded_write()
        btrfs: fix uninitialized return value in the ref-verify tool
        btrfs: always do the basic checks for btrfs_qgroup_inherit structure
        btrfs: zoned: fix calc_available_free_space() for zoned mode
      661e504d
    • Linus Torvalds's avatar
      Merge tag 'net-6.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 033771c0
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bluetooth, wireless and netfilter.
      
        There's one fix for power management with Intel's e1000e here,
        Thorsten tells us there's another problem that started in v6.9. We're
        trying to wrap that up but I don't think it's blocking.
      
        Current release - new code bugs:
      
         - wifi: mac80211: disable softirqs for queued frame handling
      
         - af_unix: fix uninit-value in __unix_walk_scc(), with the new
           garbage collection algo
      
        Previous releases - regressions:
      
         - Bluetooth:
            - qca: fix BT enable failure for QCA6390 after warm reboot
            - add quirk to ignore reserved PHY bits in LE Extended Adv Report,
              abused by some Broadcom controllers found on Apple machines
      
         - wifi: wilc1000: fix ies_len type in connect path
      
        Previous releases - always broken:
      
         - tcp: fix DSACK undo in fast recovery to call tcp_try_to_open(),
           avoid premature timeouts
      
         - net: make sure skb_datagram_iter maps fragments page by page, in
           case we somehow get compound highmem mixed in
      
         - eth: bnx2x: fix multiple UBSAN array-index-out-of-bounds when more
           queues are used
      
        Misc:
      
         - MAINTAINERS: Remembering Larry Finger"
      
      * tag 'net-6.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (62 commits)
        bnxt_en: Fix the resource check condition for RSS contexts
        mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
        inet_diag: Initialize pad field in struct inet_diag_req_v2
        tcp: Don't flag tcp_sk(sk)->rx_opt.saw_unknown for TCP AO.
        selftests: make order checking verbose in msg_zerocopy selftest
        selftests: fix OOM in msg_zerocopy selftest
        ice: use proper macro for testing bit
        ice: Reject pin requests with unsupported flags
        ice: Don't process extts if PTP is disabled
        ice: Fix improper extts handling
        selftest: af_unix: Add test case for backtrack after finalising SCC.
        af_unix: Fix uninit-value in __unix_walk_scc()
        bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
        net: rswitch: Avoid use-after-free in rswitch_poll()
        netfilter: nf_tables: unconditionally flush pending work before notifier
        wifi: iwlwifi: mvm: check vif for NULL/ERR_PTR before dereference
        wifi: iwlwifi: mvm: avoid link lookup in statistics
        wifi: iwlwifi: mvm: don't wake up rx_sync_waitq upon RFKILL
        wifi: iwlwifi: properly set WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK
        wifi: wilc1000: fix ies_len type in connect path
        ...
      033771c0