1. 15 Jul, 2024 4 commits
    • Linus Torvalds's avatar
      Merge branch 'link_path_walk' · 5e049755
      Linus Torvalds authored
      This is the last - for now - of the "look, we generated some
      questionable code for basic pathname lookup operations" set of
      branches.
      
      This is mainly just re-organizing the name hashing code in
      link_path_walk(), mostly by improving the calling conventions to
      the inlined helper functions and moving some of the code around
      to allow for more straightforward code generation.
      
      The profiles - and the generated code - look much more palatable
      to me now.
      
      * link_path_walk:
        vfs: link_path_walk: move more of the name hashing into hash_name()
        vfs: link_path_walk: improve may_lookup() code generation
        vfs: link_path_walk: do '.' and '..' detection while hashing
        vfs: link_path_walk: clarify and improve name hashing interface
        vfs: link_path_walk: simplify name hash flow
      5e049755
    • Linus Torvalds's avatar
      Merge branch 'arm64-uaccess' (early part) · 1654c37d
      Linus Torvalds authored
      Merge arm64 support for proper 'unsafe' user accessor functionality,
      with 'asm goto' for handling exceptions.
      
      The arm64 user access code used the slow fallback code for the user
      access code, which generates horrendous code for things like
      strncpy_from_user(), because it causes us to generate code for SW PAN
      and for range checking for every individual word.
      
      Teach arm64 about 'user_access_begin()' and the so-called 'unsafe' user
      access functions that take an error label and use 'asm goto' to make all
      the exception handling be entirely out of line.
      
      [ These user access functions are called 'unsafe' not because the
        concept is unsafe, but because the low-level accessor functions
        absolutely have to be protected by the 'user_access_begin()' code,
        because that's what does the range checking.
      
        So the accessor functions have that scary name to make sure people
        don't think they are usable on their own, and cannot be mis-used the
        way our old "double underscore" versions of __get_user() and friends
        were ]
      
      The "(early part)" of the branch is because the full branch also
      improved on the "access_ok()" function, but the exact semantics of TBI
      (top byte ignore) have to be discussed before doing that part.  So this
      just does the low-level accessor update to use "asm goto".
      
      * 'arm64-uaccess' (early part):
        arm64: start using 'asm goto' for put_user()
        arm64: start using 'asm goto' for get_user() when available
      1654c37d
    • Linus Torvalds's avatar
      Merge branch 'word-at-a-time' · 6a31ffdf
      Linus Torvalds authored
      Merge minor word-at-a-time instruction choice improvements for x86 and
      arm64.
      
      This is the second of four branches that came out of me looking at the
      code generation for path lookup on arm64.
      
      The word-at-a-time infrastructure is used to do string operations in
      chunks of one word both when copying the pathname from user space (in
      strncpy_from_user()), and when parsing and hashing the individual path
      components (in link_path_walk()).
      
      In particular, the "find the first zero byte" uses various bit tricks to
      figure out the end of the string or path component, and get the length
      without having to do things one byte at a time.  Both x86-64 and arm64
      had less than optimal code choices for that.
      
      The commit message for the arm64 change in particular tries to explain
      the exact code flow for the zero byte finding for people who care.  It's
      made a bit more complicated by the fact that we support big-endian
      hardware too, and so we have some extra abstraction layers to allow
      different models for finding the zero byte, quite apart from the issue
      of picking specialized instructions.
      
      * word-at-a-time:
        arm64: word-at-a-time: improve byte count calculations for LE
        x86-64: word-at-a-time: improve byte count calculations
      6a31ffdf
    • Linus Torvalds's avatar
      Merge branch 'runtime-constants' · a5819099
      Linus Torvalds authored
      Merge runtime constants infrastructure with implementations for x86 and
      arm64.
      
      This is one of four branches that came out of me looking at profiles of
      my kernel build filesystem load on my 128-core Altra arm64 system, where
      pathname walking and the user copies (particularly strncpy_from_user()
      for fetching the pathname from user space) is very hot.
      
      This is a very specialized "instruction alternatives" model where the
      dentry hash pointer and hash count will be constants for the lifetime of
      the kernel, but the allocation are not static but done early during the
      kernel boot.  In order to avoid the pointer load and dynamic shift, we
      just rewrite the constants in the instructions in place.
      
      We can't use the "generic" alternative instructions infrastructure,
      because different architectures do it very differently, and it's
      actually simpler to just have very specific helpers, with a fallback to
      the generic ("old") model of just using variables for architectures that
      do not implement the runtime constant patching infrastructure.
      
      Link: https://lore.kernel.org/all/CAHk-=widPe38fUNjUOmX11ByDckaeEo9tN4Eiyke9u1SAtu9sA@mail.gmail.com/
      
      * runtime-constants:
        arm64: add 'runtime constant' support
        runtime constants: add x86 architecture support
        runtime constants: add default dummy infrastructure
        vfs: dcache: move hashlen_hash() from callers into d_hash()
      a5819099
  2. 14 Jul, 2024 7 commits
  3. 13 Jul, 2024 6 commits
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 4d145e3f
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Fixes for the I2C testunit, the Renesas R-Car driver and some
        MAINTAINERS corrections"
      
      * tag 'i2c-for-6.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: testunit: avoid re-issued work after read message
        i2c: rcar: ensure Gen3+ reset does not disturb local targets
        i2c: mark HostNotify target address as used
        i2c: testunit: correct Kconfig description
        MAINTAINERS: VIRTIO I2C loses a maintainer, gains a reviewer
        MAINTAINERS: delete entries for Thor Thayer
        i2c: rcar: clear NO_RXDMA flag after resetting
        i2c: rcar: bring hardware to known state when probing
      4d145e3f
    • Linus Torvalds's avatar
      Merge tag '6.10-rc7-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6 · d0d0cd38
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "Small fix, also for stable"
      
      * tag '6.10-rc7-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix setting SecurityFlags to true
      d0d0cd38
    • Steve French's avatar
      cifs: fix setting SecurityFlags to true · d2346e28
      Steve French authored
      If you try to set /proc/fs/cifs/SecurityFlags to 1 it
      will set them to CIFSSEC_MUST_NTLMV2 which no longer is
      relevant (the less secure ones like lanman have been removed
      from cifs.ko) and is also missing some flags (like for
      signing and encryption) and can even cause mount to fail,
      so change this to set it to Kerberos in this case.
      
      Also change the description of the SecurityFlags to remove mention
      of flags which are no longer supported.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      d2346e28
    • Wolfram Sang's avatar
      Merge tag 'i2c-host-fixes-6.10-rc8' of... · 3fdd2d21
      Wolfram Sang authored
      Merge tag 'i2c-host-fixes-6.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
      
      This tag includes three fixes for the Renesas R-Car driver:
      
       1. Ensures the device is in a known state after probing.
       2. Allows clearing the NO_RXDMA flag after a reset.
       3. Forces a reset before any transfer on Gen3+ platforms to
          prevent disruption of the configuration during parallel
          transfers.
      3fdd2d21
    • Linus Torvalds's avatar
      Merge tag 'net-6.10-rc8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 528dd46d
      Linus Torvalds authored
      Pull more networking fixes from Jakub Kicinski:
       "A quick follow up to yesterday's pull. We got a regressions report for
        the bnxt patch as soon as it got to your tree. The ethtool fix is also
        good to have, although it's an older regression.
      
        Current release - regressions:
      
         - eth: bnxt_en: fix crash in bnxt_get_max_rss_ctx_ring() on older HW
           when user tries to decrease the ring count
      
        Previous releases - regressions:
      
         - ethtool: fix RSS setting, accept "no change" setting if the driver
           doesn't support the new features
      
         - eth: i40e: remove needless retries of NVM update, don't wait 20min
           when we know the firmware update won't succeed"
      
      * tag 'net-6.10-rc8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net:
        bnxt_en: Fix crash in bnxt_get_max_rss_ctx_ring()
        octeontx2-af: fix issue with IPv4 match for RSS
        octeontx2-af: fix issue with IPv6 ext match for RSS
        octeontx2-af: fix detection of IP layer
        octeontx2-af: fix a issue with cpt_lf_alloc mailbox
        octeontx2-af: replace cpt slot with lf id on reg write
        i40e: fix: remove needless retries of NVM update
        net: ethtool: Fix RSS setting
      528dd46d
    • Michael Chan's avatar
      bnxt_en: Fix crash in bnxt_get_max_rss_ctx_ring() · f7ce5eb2
      Michael Chan authored
      On older chips not supporting multiple RSS contexts, reducing
      ethtool channels will crash:
      
      BUG: kernel NULL pointer dereference, address: 00000000000000b8
      PGD 0 P4D 0
      Oops: Oops: 0000 [#1] PREEMPT SMP PTI
      CPU: 1 PID: 7032 Comm: ethtool Tainted: G S                 6.10.0-rc4 #1
      Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.4.3 01/17/2017
      RIP: 0010:bnxt_get_max_rss_ctx_ring+0x4c/0x90 [bnxt_en]
      Code: c3 d3 eb 4c 8b 83 38 01 00 00 48 8d bb 38 01 00 00 4c 39 c7 74 42 41 8d 54 24 ff 31 c0 0f b7 d2 4c 8d 4c 12 02 66 85 ed 74 1d <49> 8b 90 b8 00 00 00 49 8d 34 11 0f b7 0a 66 39 c8 0f 42 c1 48 83
      RSP: 0018:ffffaaa501d23ba8 EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff8efdf600c940 RCX: 0000000000000000
      RDX: 000000000000007f RSI: ffffffffacf429c4 RDI: ffff8efdf600ca78
      RBP: 0000000000000080 R08: 0000000000000000 R09: 0000000000000100
      R10: 0000000000000001 R11: ffffaaa501d238c0 R12: 0000000000000080
      R13: 0000000000000000 R14: ffff8efdf600c000 R15: 0000000000000006
      FS:  00007f977a7d2740(0000) GS:ffff8f041f840000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000000b8 CR3: 00000002320aa004 CR4: 00000000003706f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
      <TASK>
      ? __die_body+0x15/0x60
      ? page_fault_oops+0x157/0x440
      ? do_user_addr_fault+0x60/0x770
      ? _raw_spin_lock_irqsave+0x12/0x40
      ? exc_page_fault+0x61/0x120
      ? asm_exc_page_fault+0x22/0x30
      ? bnxt_get_max_rss_ctx_ring+0x4c/0x90 [bnxt_en]
      ? bnxt_get_max_rss_ctx_ring+0x25/0x90 [bnxt_en]
      bnxt_set_channels+0x9d/0x340 [bnxt_en]
      ethtool_set_channels+0x14b/0x210
      __dev_ethtool+0xdf8/0x2890
      ? preempt_count_add+0x6a/0xa0
      ? percpu_counter_add_batch+0x23/0x90
      ? filemap_map_pages+0x417/0x4a0
      ? avc_has_extended_perms+0x185/0x420
      ? __pfx_udp_ioctl+0x10/0x10
      ? sk_ioctl+0x55/0xf0
      ? kmalloc_trace_noprof+0xe0/0x210
      ? dev_ethtool+0x54/0x170
      dev_ethtool+0xa2/0x170
      dev_ioctl+0xbe/0x530
      sock_do_ioctl+0xa3/0xf0
      sock_ioctl+0x20d/0x2e0
      
      bp->rss_ctx_list is not initialized if the chip or firmware does not
      support multiple RSS contexts.  Fix it by adding a check in
      bnxt_get_max_rss_ctx_ring() before proceeding to reference
      bp->rss_ctx_list.
      
      Fixes: 0d1b7d6c ("bnxt: fix crashes when reducing ring count with active RSS contexts")
      Reported-by: default avatarBreno Leitao <leitao@debian.org>
      Link: https://lore.kernel.org/netdev/ZpFEJeNpwxW1aW9k@gmail.com/Reviewed-by: default avatarAndy Gospodarek <andrew.gospodarek@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Link: https://patch.msgid.link/20240712175318.166811-1-michael.chan@broadcom.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f7ce5eb2
  4. 12 Jul, 2024 23 commits
    • Linus Torvalds's avatar
      Merge tag 'for-6.10-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 975f3b6d
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Fix a regression in extent map shrinker behaviour.
      
        In the past weeks we got reports from users that there are huge
        latency spikes or freezes. This was bisected to newly added shrinker
        of extent maps (it was added to fix a build up of the structures in
        memory).
      
        I'm assuming that the freezes would happen to many users after release
        so I'd like to get it merged now so it's in 6.10. Although the diff
        size is not small the changes are relatively straightforward, the
        reporters verified the fixes and we did testing on our side.
      
        The fixes:
      
         - adjust behaviour under memory pressure and check lock or scheduling
           conditions, bail out if needed
      
         - synchronize tracking of the scanning progress so inode ranges are
           not skipped or work duplicated
      
         - do a delayed iput when scanning a root so evicting an inode does
           not slow things down in case of lots of dirty data, also fix
           lockdep warning, a deadlock could happen when writing the dirty
           data would need to start a transaction"
      
      * tag 'for-6.10-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: avoid races when tracking progress for extent map shrinking
        btrfs: stop extent map shrinker if reschedule is needed
        btrfs: use delayed iput during extent map shrinking
      975f3b6d
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.10-rc8' of https://github.com/ceph/ceph-client · a52ff901
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "A fix for a possible use-after-free following "rbd unmap" or "umount"
        marked for stable and two kernel-doc fixups"
      
      * tag 'ceph-for-6.10-rc8' of https://github.com/ceph/ceph-client:
        libceph: fix crush_choose_firstn() kernel-doc warnings
        libceph: suppress crush_choose_indep() kernel-doc warnings
        libceph: fix race between delayed_work() and ceph_monc_stop()
      a52ff901
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · ac6a9e07
      Linus Torvalds authored
      Pull pmdomain fix from Ulf Hansson:
      
       - qcom: Skip retention level for rpmhpd's
      
      * tag 'pmdomain-v6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
        pmdomain: qcom: rpmhpd: Skip retention level for Power Domains
      ac6a9e07
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.10-rc4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 01ec3bb6
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - davinci_mmc: Prevent transmitted data size from exceeding sgm's
         length
      
       - sdhci: Fix max_seg_size for 64KiB PAGE_SIZE
      
      * tag 'mmc-v6.10-rc4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: davinci_mmc: Prevent transmitted data size from exceeding sgm's length
        mmc: sdhci: Fix max_seg_size for 64KiB PAGE_SIZE
      01ec3bb6
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-6.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e091caf9
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Most of these changes are Qualcomm SoC specific and came in just after
        I sent out the last set of fixes. This includes two regression fixes
        for SoC drivers, a defconfig change to ensure the Lenovo X13s is
        usable and 11 changes to DT files to fix regressions and minor
        platform specific issues.
      
        Tony and Chunyan step back from their respective maintainership roles
        on the omap and unisoc platforms, and Christophe in turn takes over
        maintaining some of the Freescale SoC drivers that he has been taking
        care of in practice already.
      
        Lastly, there are two trivial fixes for the davinci and sunxi
        platforms"
      
      * tag 'arm-fixes-6.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        MAINTAINERS: Update FREESCALE SOC DRIVERS and QUICC ENGINE LIBRARY
        MAINTAINERS: Add more maintainers for omaps
        ARM: davinci: Convert comma to semicolon
        MAINTAINERS: Move myself from SPRD Maintainer to Reviewer
        Revert "dt-bindings: cache: qcom,llcc: correct QDU1000 reg entries"
        arm64: dts: qcom: qdu1000: Fix LLCC reg property
        arm64: dts: qcom: sm6115: add iommu for sdhc_1
        arm64: dts: qcom: x1e80100-crd: fix DAI used for headset recording
        arm64: dts: qcom: x1e80100-crd: fix WCD audio codec TX port mapping
        soc: qcom: pmic_glink: disable UCSI on sc8280xp
        arm64: defconfig: enable Elan i2c-hid driver
        arm64: dts: qcom: sc8280xp-crd: use external pull up for touch reset
        arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on
        arm64: dts: qcom: x1e80100: Fix PCIe 6a reg offsets and add MHI
        arm64: dts: qcom: sa8775p: Correct IRQ number of EL2 non-secure physical timer
        arm64: dts: allwinner: Fix PMIC interrupt number
        arm64: dts: qcom: sc8280xp: Set status = "reserved" on PSHOLD
        arm64: dts: qcom: x1e80100-*: Allocate some CMA buffers
        arm64: dts: qcom: sc8180x: Fix LLCC reg property again
      e091caf9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f469cf96
      Linus Torvalds authored
      Pull char / misc driver fixes from Greg KH:
       "Here are some small remaining driver fixes for 6.10-final that have
        all been in linux-next for a while and resolve reported issues.
        Included in here are:
      
         - mei driver fixes (and a spelling fix at the end just to be clean)
      
         - iio driver fixes for reported problems
      
         - fastrpc bugfixes
      
         - nvmem small fixes"
      
      * tag 'char-misc-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: vsc: Fix spelling error
        mei: vsc: Enhance SPI transfer of IVSC ROM
        mei: vsc: Utilize the appropriate byte order swap function
        mei: vsc: Prevent timeout error with added delay post-firmware download
        mei: vsc: Enhance IVSC chipset stability during warm reboot
        nvmem: core: limit cell sysfs permissions to main attribute ones
        nvmem: core: only change name to fram for current attribute
        nvmem: meson-efuse: Fix return value of nvmem callbacks
        nvmem: rmem: Fix return value of rmem_read()
        misc: microchip: pci1xxxx: Fix return value of nvmem callbacks
        hpet: Support 32-bit userspace
        misc: fastrpc: Restrict untrusted app to attach to privileged PD
        misc: fastrpc: Fix ownership reassignment of remote heap
        misc: fastrpc: Fix memory leak in audio daemon attach operation
        misc: fastrpc: Avoid updating PD type for capability request
        misc: fastrpc: Copy the complete capability structure to user
        misc: fastrpc: Fix DSP capabilities request
        iio: light: apds9306: Fix error handing
        iio: trigger: Fix condition for own trigger
      f469cf96
    • Linus Torvalds's avatar
      Merge tag 'tty-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 1cb67bcc
      Linus Torvalds authored
      Pull tty / serial fixes from Greg KH:
       "Here are some small serial driver fixes for 6.10-final. Included in
        here are:
      
         - qcom-geni fixes for a much much much discussed issue and everyone
           now seems to be agreed that this is the proper way forward to
           resolve the reported lockups
      
         - imx serial driver bugfixes
      
         - 8250_omap errata fix
      
         - ma35d1 serial driver bugfix
      
        All of these have been in linux-next for over a week with no reported
        issues"
      
      * tag 'tty-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: qcom-geni: do not kill the machine on fifo underrun
        serial: qcom-geni: fix hard lockup on buffer flush
        serial: qcom-geni: fix soft lockup on sw flow control and suspend
        serial: imx: ensure RTS signal is not left active after shutdown
        tty: serial: ma35d1: Add a NULL check for of_node
        serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
        serial: imx: only set receiver level if it is zero
      1cb67bcc
    • Linus Torvalds's avatar
      Merge tag 'usb-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 1293147a
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes and new device ids for
        6.10-final. Included in here are:
      
         - new usb-serial device ids for reported devices
      
         - syzbot-triggered duplicate endpoint bugfix
      
         - gadget bugfix for configfs memory overwrite
      
         - xhci resume bugfix
      
         - new device quirk added
      
         - usb core error path bugfix
      
        All of these have been in linux-next (most for a while) with no
        reported issues"
      
      * tag 'usb-6.10-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: serial: mos7840: fix crash on resume
        USB: serial: option: add Rolling RW350-GL variants
        USB: serial: option: add support for Foxconn T99W651
        USB: serial: option: add Netprisma LCUK54 series modules
        usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
        usb: dwc3: pci: add support for the Intel Panther Lake
        usb: core: add missing of_node_put() in usb_of_has_devices_or_graph
        USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
        USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
        xhci: always resume roothubs if xHC was reset during resume
        USB: serial: option: add Telit generic core-dump composition
        USB: serial: option: add Fibocom FM350-GL
        USB: serial: option: add Telit FN912 rmnet compositions
      1293147a
    • Linus Torvalds's avatar
      Merge tag 'sound-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9b48104b
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The majority of changes here are small device-specific fixes for ASoC
        SOF / Intel and usual HD-audio quirks.
      
        The only significant high LOC is found in the Cirrus firmware driver,
        but all those are for hardening against malicious firmware blobs, and
        they look fine for taking as a last minute fix, too"
      
      * tag 'sound-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Enable Mute LED on HP 250 G7
        firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files
        ALSA: hda/realtek: Limit mic boost on VAIO PRO PX
        ALSA: hda: cs35l41: Fix swapped l/r audio channels for Lenovo ThinBook 13x Gen4
        ASoC: SOF: Intel: hda-pcm: Limit the maximum number of periods by MAX_BDL_ENTRIES
        ASoC: rt711-sdw: add missing readable registers
        ASoC: SOF: Intel: hda: fix null deref on system suspend entry
        ALSA: hda/realtek: add quirk for Clevo V5[46]0TU
        firmware: cs_dsp: Prevent buffer overrun when processing V2 alg headers
        firmware: cs_dsp: Validate payload length before processing block
        firmware: cs_dsp: Return error if block header overflows file
        firmware: cs_dsp: Fix overflow checking of wmfw header
      9b48104b
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-07-12' of https://evilpiepirate.org/git/bcachefs · 5d4c8513
      Linus Torvalds authored
      Pull more bcachefs fixes from Kent Overstreet:
      
       - revert the SLAB_ACCOUNT patch, something crazy is going on in memcg
         and someone forgot to test
      
       - minor fixes: missing rcu_read_lock(), scheduling while atomic (in an
         emergency shutdown path)
      
       - two lockdep fixes; these could have gone earlier, but were left to
         bake awhile
      
      * tag 'bcachefs-2024-07-12' of https://evilpiepirate.org/git/bcachefs:
        bcachefs: bch2_gc_btree() should not use btree_root_lock
        bcachefs: Set PF_MEMALLOC_NOFS when trans->locked
        bcachefs; Use trans_unlock_long() when waiting on allocator
        Revert "bcachefs: Mark bch_inode_info as SLAB_ACCOUNT"
        bcachefs: fix scheduling while atomic in break_cycle()
        bcachefs: Fix RCU splat
      5d4c8513
    • David S. Miller's avatar
      Merge branch 'octeontx2-cpt-rss-cfg-fixes' into main · 425652d4
      David S. Miller authored
      Srujana Challa says:
      
      ====================
      Fixes for CPT and RSS configuration
      
      This series of patches fixes various issues related to CPT
      configuration and RSS configuration.
      
      v1->v2:
      - Excluded the patch "octeontx2-af: reduce cpt flt interrupt vectors for
        cn10kb" to submit it to net-next.
      - Addressed the review comments.
      
      Kiran Kumar K (1):
        octeontx2-af: Fix issue with IPv6 ext match for RSS
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      425652d4
    • Satheesh Paul's avatar
      octeontx2-af: fix issue with IPv4 match for RSS · 60795bbf
      Satheesh Paul authored
      While performing RSS based on IPv4, packets with
      IPv4 options are not being considered. Adding changes
      to match both plain IPv4 and IPv4 with option header.
      
      Fixes: 41a7aa7b ("octeontx2-af: NIX Rx flowkey configuration for RSS")
      Signed-off-by: default avatarSatheesh Paul <psatheesh@marvell.com>
      Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      60795bbf
    • Kiran Kumar K's avatar
      octeontx2-af: fix issue with IPv6 ext match for RSS · e23ac109
      Kiran Kumar K authored
      While performing RSS based on IPv6, extension ltype
      is not being considered. This will be problem for
      fragmented packets or packets with extension header.
      Adding changes to match IPv6 ext header along with IPv6
      ltype.
      
      Fixes: 41a7aa7b ("octeontx2-af: NIX Rx flowkey configuration for RSS")
      Signed-off-by: default avatarKiran Kumar K <kirankumark@marvell.com>
      Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e23ac109
    • Michal Mazur's avatar
      octeontx2-af: fix detection of IP layer · 404dc0fd
      Michal Mazur authored
      Checksum and length checks are not enabled for IPv4 header with
      options and IPv6 with extension headers.
      To fix this a change in enum npc_kpu_lc_ltype is required which will
      allow adjustment of LTYPE_MASK to detect all types of IP headers.
      
      Fixes: 21e6699e ("octeontx2-af: Add NPC KPU profile")
      Signed-off-by: default avatarMichal Mazur <mmazur2@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      404dc0fd
    • Srujana Challa's avatar
      octeontx2-af: fix a issue with cpt_lf_alloc mailbox · 845fe191
      Srujana Challa authored
      This patch fixes CPT_LF_ALLOC mailbox error due to
      incompatible mailbox message format. Specifically, it
      corrects the `blkaddr` field type from `int` to `u8`.
      
      Fixes: de2854c8 ("octeontx2-af: Mailbox changes for 98xx CPT block")
      Signed-off-by: default avatarSrujana Challa <schalla@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      845fe191
    • Nithin Dabilpuram's avatar
      octeontx2-af: replace cpt slot with lf id on reg write · bc35e28a
      Nithin Dabilpuram authored
      Replace slot id with global CPT lf id on reg read/write as
      CPTPF/VF driver would send slot number instead of global
      lf id in the reg offset. And also update the mailbox response
      with the global lf's register offset.
      
      Fixes: ae454086 ("octeontx2-af: add mailbox interface for CPT")
      Signed-off-by: default avatarNithin Dabilpuram <ndabilpuram@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc35e28a
    • Christophe Leroy's avatar
      MAINTAINERS: Update FREESCALE SOC DRIVERS and QUICC ENGINE LIBRARY · 6fba5cbd
      Christophe Leroy authored
      FREESCALE SOC DRIVERS has been orphaned since
      commit eaac25d0 ("MAINTAINERS: Drop Li Yang as their email address
      stopped working")
      QUICC ENGINE LIBRARY has Qiang Zhao as maintainer but he hasn't
      responded for years and when Li Yang was still maintaining FREESCALE
      SOC DRIVERS he was also handling QUICC ENGINE LIBRARY directly.
      
      As a maintainer of LINUX FOR POWERPC EMBEDDED PPC8XX AND PPC83XX, I
      also need FREESCALE SOC DRIVERS to be actively maintained, so add
      myself as maintainer of FREESCALE SOC DRIVERS and QUICC ENGINE LIBRARY.
      
      See below link for more context.
      
      Link: https://lore.kernel.org/linuxppc-dev/20240219153016.ntltc76bphwrv6hn@skbuf/T/#mf6d4a5eef79e8eae7ae0456a2794c01e630a6756Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      6fba5cbd
    • Tony Lindgren's avatar
      MAINTAINERS: Add more maintainers for omaps · dfd168e7
      Tony Lindgren authored
      There are many generations of omaps to maintain, and I will be only active
      as a hobbyist with time permitting. Let's add more maintainers to ensure
      continued Linux support.
      
      TI is interested in maintaining the active SoCs such as am3, am4 and
      dra7. And the hobbyists are interested in maintaining some of the older
      devices, mainly based on omap3 and 4 SoCs.
      
      Kevin and Roger have agreed to maintain the active TI parts. Both Kevin
      and Roger have been working on the omap variants for a long time, and
      have a good understanding of the hardware.
      
      Aaro and Andreas have agreed to maintain the community devices. Both Aaro
      and Andreas have long experience on working with the earlier TI SoCs.
      
      While at it, let's also change me to be a reviewer for the omap1, and
      drop the link to my old omap web page.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Acked-by: default avatarKevin Hilman <khilman@baylibre.com>
      Acked-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Acked-by: default avatarRoger Quadros <rogerq@kernel.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      dfd168e7
    • Wolfram Sang's avatar
      i2c: testunit: avoid re-issued work after read message · 119736c7
      Wolfram Sang authored
      The to-be-fixed commit rightfully prevented that the registers will be
      cleared. However, the index must be cleared. Otherwise a read message
      will re-issue the last work. Fix it and add a comment describing the
      situation.
      
      Fixes: c422b6a6 ("i2c: testunit: don't erase registers after STOP")
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@kernel.org>
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      119736c7
    • Aleksandr Loktionov's avatar
      i40e: fix: remove needless retries of NVM update · 8b9b59e2
      Aleksandr Loktionov authored
      Remove wrong EIO to EGAIN conversion and pass all errors as is.
      
      After commit 230f3d53 ("i40e: remove i40e_status"), which should only
      replace F/W specific error codes with Linux kernel generic, all EIO errors
      suddenly started to be converted into EAGAIN which leads nvmupdate to retry
      until it timeouts and sometimes fails after more than 20 minutes in the
      middle of NVM update, so NVM becomes corrupted.
      
      The bug affects users only at the time when they try to update NVM, and
      only F/W versions that generate errors while nvmupdate. For example, X710DA2
      with 0x8000ECB7 F/W is affected, but there are probably more...
      
      Command for reproduction is just NVM update:
       ./nvmupdate64
      
      In the log instead of:
       i40e_nvmupd_exec_aq err I40E_ERR_ADMIN_QUEUE_ERROR aq_err I40E_AQ_RC_ENOMEM)
      appears:
       i40e_nvmupd_exec_aq err -EIO aq_err I40E_AQ_RC_ENOMEM
       i40e: eeprom check failed (-5), Tx/Rx traffic disabled
      
      The problematic code did silently convert EIO into EAGAIN which forced
      nvmupdate to ignore EAGAIN error and retry the same operation until timeout.
      That's why NVM update takes 20+ minutes to finish with the fail in the end.
      
      Fixes: 230f3d53 ("i40e: remove i40e_status")
      Co-developed-by: default avatarKelvin Kang <kelvin.kang@intel.com>
      Signed-off-by: default avatarKelvin Kang <kelvin.kang@intel.com>
      Reviewed-by: default avatarArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Signed-off-by: default avatarAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
      Tested-by: default avatarTony Brelinski <tony.brelinski@intel.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Link: https://patch.msgid.link/20240710224455.188502-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8b9b59e2
    • Saeed Mahameed's avatar
      net: ethtool: Fix RSS setting · 503757c8
      Saeed Mahameed authored
      When user submits a rxfh set command without touching XFRM_SYM_XOR,
      rxfh.input_xfrm is set to RXH_XFRM_NO_CHANGE, which is equal to 0xff.
      
      Testing if (rxfh.input_xfrm & RXH_XFRM_SYM_XOR &&
      	    !ops->cap_rss_sym_xor_supported)
      		return -EOPNOTSUPP;
      
      Will always be true on devices that don't set cap_rss_sym_xor_supported,
      since rxfh.input_xfrm & RXH_XFRM_SYM_XOR is always true, if input_xfrm
      was not set, i.e RXH_XFRM_NO_CHANGE=0xff, which will result in failure
      of any command that doesn't require any change of XFRM, e.g RSS context
      or hash function changes.
      
      To avoid this breakage, test if rxfh.input_xfrm != RXH_XFRM_NO_CHANGE
      before testing other conditions. Note that the problem will only trigger
      with XFRM-aware userspace, old ethtool CLI would continue to work.
      
      Fixes: 0dd415d1 ("net: ethtool: add a NO_CHANGE uAPI for new RXFH's input_xfrm")
      Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
      Reviewed-by: default avatarAhmed Zaki <ahmed.zaki@intel.com>
      Link: https://patch.msgid.link/20240710225538.43368-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      503757c8
    • Kent Overstreet's avatar
      bcachefs: bch2_gc_btree() should not use btree_root_lock · 1841027c
      Kent Overstreet authored
      btree_root_lock is for the root keys in btree_root, not the pointers to
      the nodes themselves; this fixes a lock ordering issue between
      btree_root_lock and btree node locks.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      1841027c
    • Kent Overstreet's avatar
      bcachefs: Set PF_MEMALLOC_NOFS when trans->locked · f236ea4b
      Kent Overstreet authored
      proper lock ordering is: fs_reclaim -> btree node locks
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      f236ea4b