1. 10 Nov, 2023 18 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · e1d809b3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes for rc1.
      
        The majority of changes are various ASoC driver-specific small fixes
        and usual HD-audio quirks, while there are a couple of core changes: a
        fix in ALSA core procfs code to avoid deadlocks at disconnection and
        an ASoC core fix for DAPM clock widgets"
      
      * tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        OSS: dmasound/paula: Convert to platform remove callback returning void
        ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus
        ALSA: info: Fix potential deadlock at disconnection
        ASoC: nau8540: Add self recovery to improve capture quility
        ALSA: hda/realtek: Add support dual speaker for Dell
        ALSA: hda: Add ASRock X670E Taichi to denylist
        ALSA: hda/realtek: Add quirk for ASUS UX7602ZM
        ASoC: SOF: sof-client: trivial: fix comment typo
        ASoC: dapm: fix clock get name
        ASoC: hdmi-codec: register hpd callback on component probe
        ASoC: mediatek: mt8186_mt6366_rt1019_rt5682s: trivial: fix error messages
        ASoC: da7219: Improve system suspend and resume handling
        ASoC: codecs: Modify macro value error
        ASoC: codecs: Modify the wrong judgment of re value
        ASoC: codecs: Modify the maximum value of calib
        ASoC: amd: acp: fix for i2s mode register field update
        ASoC: codecs: aw88399: Fix -Wuninitialized in aw_dev_set_vcalb()
        ASoC: rt712-sdca: fix speaker route missing issue
        ASoC: rockchip: Fix unused rockchip_i2s_tdm_match warning for !CONFIG_OF
        ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
      e1d809b3
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ae4f52a7
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fixes that came in during the merge window: one Kconfig
        dependency fix and another fix for a long standing issue where a sync
        transfer races with system suspend"
      
      * tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: Fix null dereference on suspend
        spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
      ae4f52a7
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b456259e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - Fix broken cache-flush support for Micron eMMCs
         - Revert 'mmc: core: Capture correct oemid-bits for eMMC cards'
      
        MMC host:
         - sdhci_am654: Fix TAP value parsing for legacy speed mode
         - sdhci-pci-gli: Fix support for ASPM mode for GL9755/GL9750
         - vub300: Fix an error path in probe"
      
      * tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER
        mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER
        Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
        mmc: vub300: fix an error code
        mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A
        mmc: sdhci_am654: fix start loop index for TAP value parsing
      b456259e
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.7-rc1-fixes' of... · b077b7ee
      Linus Torvalds authored
      Merge tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "This contains two very small fixes that I failed to include in the
        main pull request"
      
      * tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Fix double shift bug
        pwm: samsung: Fix a bit test in pwm_samsung_resume()
      b077b7ee
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux · b712075e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Mostly just a few fixes and cleanups caused by the read multishot
        support.
      
        Outside of that, a stable fix for how a connect retry is done"
      
      * tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux:
        io_uring: do not clamp read length for multishot read
        io_uring: do not allow multishot read to set addr or len
        io_uring: indicate if io_kbuf_recycle did recycle anything
        io_uring/rw: add separate prep handler for fixed read/write
        io_uring/rw: add separate prep handler for readv/writev
        io_uring/net: ensure socket is marked connected on connect retry
        io_uring/rw: don't attempt to allocate async data if opcode doesn't need it
      b712075e
    • Linus Torvalds's avatar
      Merge tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux · 4b803784
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - nvme keyring config compile fixes (Hannes and Arnd)
            - fabrics keep alive fixes (Hannes)
            - tcp authentication fixes (Mark)
            - io_uring_cmd error handling fix (Anuj)
            - stale firmware attribute fix (Daniel)
            - tcp memory leak (Christophe)
            - crypto library usage simplification (Eric)
      
       - nbd use-after-free fix. May need a followup, but at least it's better
         than what it was before (Li)
      
       - Rate limit write on read-only device warnings (Yu)
      
      * tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux:
        nvme: keyring: fix conditional compilation
        nvme: common: make keyring and auth separate modules
        blk-core: use pr_warn_ratelimited() in bio_check_ro()
        nbd: fix uaf in nbd_open
        nvme: start keep-alive after admin queue setup
        nvme-loop: always quiesce and cancel commands before destroying admin q
        nvme-tcp: avoid open-coding nvme_tcp_teardown_admin_queue()
        nvme-auth: always set valid seq_num in dhchap reply
        nvme-auth: add flag for bi-directional auth
        nvme-auth: auth success1 msg always includes resp
        nvme: fix error-handling for io_uring nvme-passthrough
        nvme: update firmware version after commit
        nvme-tcp: Fix a memory leak
        nvme-auth: use crypto_shash_tfm_digest()
      4b803784
    • Linus Torvalds's avatar
      Merge tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · d035e4eb
      Linus Torvalds authored
      Pull ata fixes from Damien Le Moal:
      
       - Revert a change in ata_pci_shutdown_one() to suspend disks on
         shutdown as this is now done using the manage_shutdown scsi device
         flag (me)
      
       - Change the pata_falcon and pata_gayle drivers to stop using
         module_platform_driver_probe(). This makes these drivers more inline
         with all other drivers (allowing bind/unbind) and suppress a
         compilation warning (Uwe)
      
       - Convert the pata_falcon and pata_gayle drivers to the new
         .remove_new() void-return callback. These 2 drivers are the last ones
         needing this change (Uwe)
      
      * tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_gayle: Convert to platform remove callback returning void
        ata: pata_falcon: Convert to platform remove callback returning void
        ata: pata_gayle: Stop using module_platform_driver_probe()
        ata: pata_falcon: Stop using module_platform_driver_probe()
        ata: libata-core: Fix ata_pci_shutdown_one()
      d035e4eb
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping · 391ce5b9
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - don't leave pages decrypted for DMA in encrypted memory setups linger
         around on failure (Petr Tesarik)
      
       - fix an out of bounds access in the new dynamic swiotlb code (Petr
         Tesarik)
      
       - fix dma_addressing_limited for systems with weird physical memory
         layouts (Jia He)
      
      * tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
        dma-mapping: fix dma_addressing_limited() if dma_range_map can't cover all system RAM
        dma-mapping: move dma_addressing_limited() out of line
        swiotlb: do not free decrypted pages if dynamic
      391ce5b9
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · ead3b62a
      Linus Torvalds authored
      Pull lsm updates from Paul Moore:
       "We've got two small patches to correct the default return
        value of two LSM hooks: security_vm_enough_memory_mm() and
        security_inode_getsecctx()"
      
      * tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: fix default return value for inode_getsecctx
        lsm: fix default return value for vm_enough_memory
      ead3b62a
    • Linus Torvalds's avatar
      Merge tag '6.7-rc-smb3-server-part2' of git://git.samba.org/ksmbd · 826c4841
      Linus Torvalds authored
      Pull smb server fixes from Steve French:
      
       - slab out of bounds fix in ACL handling
      
       - fix malformed request oops
      
       - minor doc fix
      
      * tag '6.7-rc-smb3-server-part2' of git://git.samba.org/ksmbd:
        ksmbd: handle malformed smb1 message
        ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked()
        ksmbd: fix slab out of bounds write in smb_inherit_dacl()
      826c4841
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.7-rc1' of https://github.com/ceph/ceph-client · e21165bf
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
      
       - support for idmapped mounts in CephFS (Christian Brauner, Alexander
         Mikhalitsyn).
      
         The series was originally developed by Christian and later picked up
         and brought over the finish line by Alexander, who also contributed
         an enabler on the MDS side (separate owner_{u,g}id fields on the
         wire).
      
         The required exports for mnt_idmap_{get,put}() in VFS have been acked
         by Christian and received no objection from Christoph.
      
       - a churny change in CephFS logging to include cluster and client
         identifiers in log and debug messages (Xiubo Li).
      
         This would help in scenarios with dozens of CephFS mounts on the same
         node which are getting increasingly common, especially in the
         Kubernetes world.
      
      * tag 'ceph-for-6.7-rc1' of https://github.com/ceph/ceph-client:
        ceph: allow idmapped mounts
        ceph: allow idmapped atomic_open inode op
        ceph: allow idmapped set_acl inode op
        ceph: allow idmapped setattr inode op
        ceph: pass idmap to __ceph_setattr
        ceph: allow idmapped permission inode op
        ceph: allow idmapped getattr inode op
        ceph: pass an idmapping to mknod/symlink/mkdir
        ceph: add enable_unsafe_idmap module parameter
        ceph: handle idmapped mounts in create_request_message()
        ceph: stash idmapping in mdsc request
        fs: export mnt_idmap_get/mnt_idmap_put
        libceph, ceph: move mdsmap.h to fs/ceph
        ceph: print cluster fsid and client global_id in all debug logs
        ceph: rename _to_client() to _to_fs_client()
        ceph: pass the mdsc to several helpers
        libceph: add doutc and *_client debug macros support
      e21165bf
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 56d428ae
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for handling misaligned accesses in S-mode
      
       - Probing for misaligned access support is now properly cached and
         handled in parallel
      
       - PTDUMP now reflects the SW reserved bits, as well as the PBMT and
         NAPOT extensions
      
       - Performance improvements for TLB flushing
      
       - Support for many new relocations in the module loader
      
       - Various bug fixes and cleanups
      
      * tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (51 commits)
        riscv: Optimize bitops with Zbb extension
        riscv: Rearrange hwcap.h and cpufeature.h
        drivers: perf: Do not broadcast to other cpus when starting a counter
        drivers: perf: Check find_first_bit() return value
        of: property: Add fw_devlink support for msi-parent
        RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs
        riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings
        riscv: Don't use PGD entries for the linear mapping
        RISC-V: Probe misaligned access speed in parallel
        RISC-V: Remove __init on unaligned_emulation_finish()
        RISC-V: Show accurate per-hart isa in /proc/cpuinfo
        RISC-V: Don't rely on positional structure initialization
        riscv: Add tests for riscv module loading
        riscv: Add remaining module relocations
        riscv: Avoid unaligned access when relocating modules
        riscv: split cache ops out of dma-noncoherent.c
        riscv: Improve flush_tlb_kernel_range()
        riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb
        riscv: Improve flush_tlb_range() for hugetlb pages
        riscv: Improve tlb_flush()
        ...
      56d428ae
    • Linus Torvalds's avatar
      Merge tag 'mips_6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 656d88c3
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - removed AR7 platform support
      
       - cleanups and fixes
      
      * tag 'mips_6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: AR7: remove platform
        watchdog: ar7_wdt: remove driver to prepare for platform removal
        vlynq: remove bus driver
        mtd: parsers: ar7: remove support
        serial: 8250: remove AR7 support
        arch: mips: remove ReiserFS from defconfig
        MIPS: lantiq: Remove unnecessary include of <linux/of_irq.h>
        MIPS: lantiq: Fix pcibios_plat_dev_init() "no previous prototype" warning
        MIPS: KVM: Fix a build warning about variable set but not used
        MIPS: Remove dead code in relocate_new_kernel
        mips: dts: ralink: mt7621: rename to GnuBee GB-PC1 and GnuBee GB-PC2
        mips: dts: ralink: mt7621: define each reset as an item
        mips: dts: ingenic: Remove unneeded probe-type properties
        MIPS: loongson32: Remove dma.h and nand.h
      656d88c3
    • Mark Hasemeyer's avatar
      spi: Fix null dereference on suspend · bef4a48f
      Mark Hasemeyer authored
      A race condition exists where a synchronous (noqueue) transfer can be
      active during a system suspend. This can cause a null pointer
      dereference exception to occur when the system resumes.
      
      Example order of events leading to the exception:
      1. spi_sync() calls __spi_transfer_message_noqueue() which sets
         ctlr->cur_msg
      2. Spi transfer begins via spi_transfer_one_message()
      3. System is suspended interrupting the transfer context
      4. System is resumed
      6. spi_controller_resume() calls spi_start_queue() which resets cur_msg
         to NULL
      7. Spi transfer context resumes and spi_finalize_current_message() is
         called which dereferences cur_msg (which is now NULL)
      
      Wait for synchronous transfers to complete before suspending by
      acquiring the bus mutex and setting/checking a suspend flag.
      Signed-off-by: default avatarMark Hasemeyer <markhas@chromium.org>
      Link: https://lore.kernel.org/r/20231107144743.v1.1.I7987f05f61901f567f7661763646cb7d7919b528@changeidSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@kernel.org
      bef4a48f
    • Dan Carpenter's avatar
      pwm: Fix double shift bug · d27abbfd
      Dan Carpenter authored
      These enums are passed to set/test_bit().  The set/test_bit() functions
      take a bit number instead of a shifted value.  Passing a shifted value
      is a double shift bug like doing BIT(BIT(1)).  The double shift bug
      doesn't cause a problem here because we are only checking 0 and 1 but
      if the value was 5 or above then it can lead to a buffer overflow.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Reviewed-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Reviewed-by: default avatarSam Protsenko <semen.protsenko@linaro.org>
      Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
      d27abbfd
    • Dan Carpenter's avatar
      pwm: samsung: Fix a bit test in pwm_samsung_resume() · a2da597f
      Dan Carpenter authored
      The PWMF_REQUESTED enum is supposed to be used with test_bit() and not
      used as in a bitwise AND.  In this specific code the flag will never be
      set so the function is effectively a no-op.
      
      Fixes: e3fe982b ("pwm: samsung: Put per-channel data into driver data")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Reviewed-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Reviewed-by: default avatarSam Protsenko <semen.protsenko@linaro.org>
      Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
      a2da597f
    • Linus Torvalds's avatar
      Merge tag 'net-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 89cdf9d5
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter and bpf.
      
        Current release - regressions:
      
         - sched: fix SKB_NOT_DROPPED_YET splat under debug config
      
        Current release - new code bugs:
      
         - tcp:
             - fix usec timestamps with TCP fastopen
             - fix possible out-of-bounds reads in tcp_hash_fail()
             - fix SYN option room calculation for TCP-AO
      
         - tcp_sigpool: fix some off by one bugs
      
         - bpf: fix compilation error without CGROUPS
      
         - ptp:
             - ptp_read() should not release queue
             - fix tsevqs corruption
      
        Previous releases - regressions:
      
         - llc: verify mac len before reading mac header
      
        Previous releases - always broken:
      
         - bpf:
             - fix check_stack_write_fixed_off() to correctly spill imm
             - fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
             - check map->usercnt after timer->timer is assigned
      
         - dsa: lan9303: consequently nested-lock physical MDIO
      
         - dccp/tcp: call security_inet_conn_request() after setting IP addr
      
         - tg3: fix the TX ring stall due to incorrect full ring handling
      
         - phylink: initialize carrier state at creation
      
         - ice: fix direction of VF rules in switchdev mode
      
        Misc:
      
         - fill in a bunch of missing MODULE_DESCRIPTION()s, more to come"
      
      * tag 'net-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (84 commits)
        net: ti: icss-iep: fix setting counter value
        ptp: fix corrupted list in ptp_open
        ptp: ptp_read should not release queue
        net_sched: sch_fq: better validate TCA_FQ_WEIGHTS and TCA_FQ_PRIOMAP
        net: kcm: fill in MODULE_DESCRIPTION()
        net/sched: act_ct: Always fill offloading tuple iifidx
        netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses
        netfilter: xt_recent: fix (increase) ipv6 literal buffer length
        ipvs: add missing module descriptions
        netfilter: nf_tables: remove catchall element in GC sync path
        netfilter: add missing module descriptions
        drivers/net/ppp: use standard array-copy-function
        net: enetc: shorten enetc_setup_xdp_prog() error message to fit NETLINK_MAX_FMTMSG_LEN
        virtio/vsock: Fix uninit-value in virtio_transport_recv_pkt()
        r8169: respect userspace disabling IFF_MULTICAST
        selftests/bpf: get trusted cgrp from bpf_iter__cgroup directly
        bpf: Let verifier consider {task,cgroup} is trusted in bpf_iter_reg
        net: phylink: initialize carrier state at creation
        test/vsock: add dobule bind connect test
        test/vsock: refactor vsock_accept
        ...
      89cdf9d5
    • Linus Torvalds's avatar
      Merge tag 'v6.7-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 3b220413
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a regression in ahash and hides the Kconfig sub-options for
        the jitter RNG"
      
      * tag 'v6.7-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: ahash - Set using_shash for cloned ahash wrapper over shash
        crypto: jitterentropy - Hide esoteric Kconfig options under FIPS and EXPERT
      3b220413
  2. 09 Nov, 2023 22 commits
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.7-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a12deb44
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a number of input drivers has been converted to use facilities
         provided by the device core to instantiate driver-specific attributes
         instead of using devm_device_add_group() and similar APIs
      
       - platform input devices have been converted to use remove() callback
         returning void
      
       - a fix for use-after-free when tearing down a Synaptics RMI device
      
       - a few flexible arrays in input structures have been annotated with
         __counted_by to help hardening efforts
      
       - handling of vddio supply in cyttsp5 driver
      
       - other miscellaneous fixups
      
      * tag 'input-for-v6.7-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (86 commits)
        Input: walkera0701 - use module_parport_driver macro to simplify the code
        Input: synaptics-rmi4 - fix use after free in rmi_unregister_function()
        dt-bindings: input: fsl,scu-key: Document wakeup-source
        Input: cyttsp5 - add handling for vddio regulator
        dt-bindings: input: cyttsp5: document vddio-supply
        Input: tegra-kbc - use device_get_match_data()
        Input: Annotate struct ff_device with __counted_by
        Input: axp20x-pek - avoid needless newline removal
        Input: mt - annotate struct input_mt with __counted_by
        Input: leds - annotate struct input_leds with __counted_by
        Input: evdev - annotate struct evdev_client with __counted_by
        Input: synaptics-rmi4 - replace deprecated strncpy
        Input: wm97xx-core - convert to platform remove callback returning void
        Input: wm831x-ts - convert to platform remove callback returning void
        Input: ti_am335x_tsc - convert to platform remove callback returning void
        Input: sun4i-ts - convert to platform remove callback returning void
        Input: stmpe-ts - convert to platform remove callback returning void
        Input: pcap_ts - convert to platform remove callback returning void
        Input: mc13783_ts - convert to platform remove callback returning void
        Input: mainstone-wm97xx - convert to platform remove callback returning void
        ...
      a12deb44
    • Linus Torvalds's avatar
      Merge tag 'for-6.7-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ace92fd9
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
       "This contains one patch which slipped through the cracks (iproc), a
        core sanitizing improvement as the new memdup_array_user() helper went
        upstream (i2c-dev), and two driver bugfixes (designware, cp2615)"
      
      * tag 'for-6.7-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: cp2615: Fix 'assignment to __be16' warning
        i2c: dev: copy userspace array safely
        i2c: designware: Disable TX_EMPTY irq while waiting for block length byte
        i2c: iproc: handle invalid slave state
      ace92fd9
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-6.7-rc1' of git://www.linux-watchdog.org/linux-watchdog · 12418ece
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add support for Amlogic C3 and S4 SoCs
      
       - add IT8613 ID
      
       - add MSM8226 and MSM8974 compatibles
      
       - other small fixes and improvements
      
      * tag 'linux-watchdog-6.7-rc1' of git://www.linux-watchdog.org/linux-watchdog: (24 commits)
        dt-bindings: watchdog: Add support for Amlogic C3 and S4 SoCs
        watchdog: mlx-wdt: Parameter desctiption warning fix
        watchdog: aspeed: Add support for aspeed,reset-mask DT property
        dt-bindings: watchdog: aspeed-wdt: Add aspeed,reset-mask property
        watchdog: apple: Deactivate on suspend
        dt-bindings: watchdog: qcom-wdt: Add MSM8226 and MSM8974 compatibles
        dt-bindings: watchdog: fsl-imx7ulp-wdt: Add 'fsl,ext-reset-output'
        wdog: imx7ulp: Enable wdog int_en bit for watchdog any reset
        drivers: watchdog: marvell_gti: Program the max_hw_heartbeat_ms
        drivers: watchdog: marvell_gti: fix zero pretimeout handling
        watchdog: marvell_gti: Replace of_platform.h with explicit includes
        watchdog: imx_sc_wdt: continue if the wdog already enabled
        watchdog: st_lpc: Use device_get_match_data()
        watchdog: wdat_wdt: Add timeout value as a param in ping method
        watchdog: gpio_wdt: Make use of device properties
        sbsa_gwdt: Calculate timeout with 64-bit math
        watchdog: ixp4xx: Make sure restart always works
        watchdog: it87_wdt: add IT8613 ID
        watchdog: marvell_gti_wdt: Fix error code in probe()
        Watchdog: marvell_gti_wdt: Remove redundant dev_err_probe() for platform_get_irq()
        ...
      12418ece
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.7-rc1' of... · f3bfe643
      Linus Torvalds authored
      Merge tag 'pwm/for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "This contains a few fixes and a bunch of cleanups, a lot of which is
        in preparation for Uwe's character device support that may be ready in
        time for the next merge window"
      
      * tag 'pwm/for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (37 commits)
        pwm: samsung: Document new member .channel in struct samsung_pwm_chip
        pwm: bcm2835: Add support for suspend/resume
        pwm: brcmstb: Checked clk_prepare_enable() return value
        pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
        pwm: pxa: Explicitly include correct DT includes
        pwm: cros-ec: Simplify using devm_pwmchip_add() and dev_err_probe()
        pwm: samsung: Consistently use the same name for driver data
        pwm: vt8500: Simplify using devm functions
        pwm: sprd: Simplify using devm_pwmchip_add() and dev_err_probe()
        pwm: sprd: Provide a helper to cast a chip to driver data
        pwm: spear: Simplify using devm functions
        pwm: mtk-disp: Simplify using devm_pwmchip_add()
        pwm: imx-tpm: Simplify using devm functions
        pwm: brcmstb: Simplify using devm functions
        pwm: bcm2835: Simplify using devm functions
        pwm: bcm-iproc: Simplify using devm functions
        pwm: Adapt sysfs API documentation to reality
        pwm: dwc: add PWM bit unset in get_state call
        pwm: dwc: make timer clock configurable
        pwm: dwc: split pci out of core driver
        ...
      f3bfe643
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4bbdb725
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core changes:
         - Make default-domains mandatory for all IOMMU drivers
         - Remove group refcounting
         - Add generic_single_device_group() helper and consolidate drivers
         - Cleanup map/unmap ops
         - Scaling improvements for the IOVA rcache depot
         - Convert dart & iommufd to the new domain_alloc_paging()
      
        ARM-SMMU:
         - Device-tree binding update:
             - Add qcom,sm7150-smmu-v2 for Adreno on SM7150 SoC
         - SMMUv2:
             - Support for Qualcomm SDM670 (MDSS) and SM7150 SoCs
         - SMMUv3:
             - Large refactoring of the context descriptor code to move the CD
               table into the master, paving the way for '->set_dev_pasid()'
               support on non-SVA domains
         - Minor cleanups to the SVA code
      
        Intel VT-d:
         - Enable debugfs to dump domain attached to a pasid
         - Remove an unnecessary inline function
      
        AMD IOMMU:
         - Initial patches for SVA support (not complete yet)
      
        S390 IOMMU:
         - DMA-API conversion and optimized IOTLB flushing
      
        And some smaller fixes and improvements"
      
      * tag 'iommu-updates-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (102 commits)
        iommu/dart: Remove the force_bypass variable
        iommu/dart: Call apple_dart_finalize_domain() as part of alloc_paging()
        iommu/dart: Convert to domain_alloc_paging()
        iommu/dart: Move the blocked domain support to a global static
        iommu/dart: Use static global identity domains
        iommufd: Convert to alloc_domain_paging()
        iommu/vt-d: Use ops->blocked_domain
        iommu/vt-d: Update the definition of the blocking domain
        iommu: Move IOMMU_DOMAIN_BLOCKED global statics to ops->blocked_domain
        Revert "iommu/vt-d: Remove unused function"
        iommu/amd: Remove DMA_FQ type from domain allocation path
        iommu: change iommu_map_sgtable to return signed values
        iommu/virtio: Add __counted_by for struct viommu_request and use struct_size()
        iommu/vt-d: debugfs: Support dumping a specified page table
        iommu/vt-d: debugfs: Create/remove debugfs file per {device, pasid}
        iommu/vt-d: debugfs: Dump entry pointing to huge page
        iommu/vt-d: Remove unused function
        iommu/arm-smmu-v3-sva: Remove bond refcount
        iommu/arm-smmu-v3-sva: Remove unused iommu_sva handle
        iommu/arm-smmu-v3: Rename cdcfg to cd_table
        ...
      4bbdb725
    • Xiao Wang's avatar
      riscv: Optimize bitops with Zbb extension · 457926b2
      Xiao Wang authored
      This patch leverages the alternative mechanism to dynamically optimize
      bitops (including __ffs, __fls, ffs, fls) with Zbb instructions. When
      Zbb ext is not supported by the runtime CPU, legacy implementation is
      used. If Zbb is supported, then the optimized variants will be selected
      via alternative patching.
      
      The legacy bitops support is taken from the generic C implementation as
      fallback.
      
      If the parameter is a build-time constant, we leverage compiler builtin to
      calculate the result directly, this approach is inspired by x86 bitops
      implementation.
      
      EFI stub runs before the kernel, so alternative mechanism should not be
      used there, this patch introduces a macro NO_ALTERNATIVE for this purpose.
      Signed-off-by: default avatarXiao Wang <xiao.w.wang@intel.com>
      Reviewed-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
      Link: https://lore.kernel.org/r/20231031064553.2319688-3-xiao.w.wang@intel.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      457926b2
    • Xiao Wang's avatar
      riscv: Rearrange hwcap.h and cpufeature.h · e72c4333
      Xiao Wang authored
      Now hwcap.h and cpufeature.h are mutually including each other, and most of
      the variable/API declarations in hwcap.h are implemented in cpufeature.c,
      so, it's better to move them into cpufeature.h and leave only macros for
      ISA extension logical IDs in hwcap.h.
      
      BTW, the riscv_isa_extension_mask macro is not used now, so this patch
      removes it.
      Suggested-by: default avatarAndrew Jones <ajones@ventanamicro.com>
      Signed-off-by: default avatarXiao Wang <xiao.w.wang@intel.com>
      Reviewed-by: default avatarAndrew Jones <ajones@ventanamicro.com>
      Link: https://lore.kernel.org/r/20231031064553.2319688-2-xiao.w.wang@intel.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      e72c4333
    • Uwe Kleine-König's avatar
      OSS: dmasound/paula: Convert to platform remove callback returning void · bce36aa6
      Uwe Kleine-König authored
      The .remove() callback for a platform driver returns an int which makes
      many driver authors wrongly assume it's possible to do error handling by
      returning an error code. However the value returned is ignored (apart
      from emitting a warning) and this typically results in resource leaks.
      
      To improve here there is a quest to make the remove callback return
      void. In the first step of this quest all drivers are converted to
      .remove_new(), which already returns void. Eventually after all drivers
      are converted, .remove_new() will be renamed to .remove().
      
      Trivially convert this driver from always returning zero in the remove
      callback to the void returning variant.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Link: https://lore.kernel.org/r/20231107151223.3971602-2-u.kleine-koenig@pengutronix.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bce36aa6
    • Vitalii Torshyn's avatar
      ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus · 6ae90e90
      Vitalii Torshyn authored
      Proposed patch fixes initialization of CSC3551 on the UM5302LA laptop.
      Patching DSDT table is not required since ASUS did added _DSD entry.
      Nothing new introduced but reused work started by Stefan B.
      
      Currently there is no official firmware available for 10431A83 on
      cirrus git unfortunately.
      For testing used 104317f3 (which is also seems on i2c bus):
      
      $ cd /lib/firmware/cirrus/ && \
      for fw in $(find ./ -name '*104317f3*'); do newfw=$(echo $fw | sed 's/104317f3/10431a83/g'); echo echo "$fw -> $newfw"; ln -s $f $newfw; done
      
      With the patch applied to 6.6.0 and obviously symlinks to 104317F3 FW,
      speakers works and to my susrprise they sound quite good and loud
      without distortion.
      
      Probably confirmation from cirrus team is needed on firmware.
      Signed-off-by: default avatarVitalii Torshyn <vitaly.torshyn@gmail.com>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=218119
      Link: https://lore.kernel.org/r/CAHiQ-bCMPpCJ8eOYAaVVoqGkFixS1qTgSS4xfbZvL4oZV9LYew@mail.gmail.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6ae90e90
    • Takashi Iwai's avatar
      ALSA: info: Fix potential deadlock at disconnection · c7a60651
      Takashi Iwai authored
      As reported recently, ALSA core info helper may cause a deadlock at
      the forced device disconnection during the procfs operation.
      
      The proc_remove() (that is called from the snd_card_disconnect()
      helper) has a synchronization of the pending procfs accesses via
      wait_for_completion().  Meanwhile, ALSA procfs helper takes the global
      mutex_lock(&info_mutex) at both the proc_open callback and
      snd_card_info_disconnect() helper.  Since the proc_open can't finish
      due to the mutex lock, wait_for_completion() never returns, either,
      hence it deadlocks.
      
      	TASK#1				TASK#2
      	proc_reg_open()
      	  takes use_pde()
      	snd_info_text_entry_open()
      					snd_card_disconnect()
      					snd_info_card_disconnect()
      					  takes mutex_lock(&info_mutex)
      					proc_remove()
      					wait_for_completion(unused_pde)
      					  ... waiting task#1 closes
      	mutex_lock(&info_mutex)
      		=> DEADLOCK
      
      This patch is a workaround for avoiding the deadlock scenario above.
      
      The basic strategy is to move proc_remove() call outside the mutex
      lock.  proc_remove() can work gracefully without extra locking, and it
      can delete the tree recursively alone.  So, we call proc_remove() at
      snd_info_card_disconnection() at first, then delete the rest resources
      recursively within the info_mutex lock.
      
      After the change, the function snd_info_disconnect() doesn't do
      disconnection by itself any longer, but it merely clears the procfs
      pointer.  So rename the function to snd_info_clear_entries() for
      avoiding confusion.
      
      The similar change is applied to snd_info_free_entry(), too.  Since
      the proc_remove() is called only conditionally with the non-NULL
      entry->p, it's skipped after the snd_info_clear_entries() call.
      Reported-by: default avatarShinhyung Kang <s47.kang@samsung.com>
      Closes: https://lore.kernel.org/r/664457955.21699345385931.JavaMail.epsvc@epcpadp4Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20231109141954.4283-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c7a60651
    • Palmer Dabbelt's avatar
      Merge patch "drivers: perf: Do not broadcast to other cpus when starting a counter" · 68444b93
      Palmer Dabbelt authored
      This is really just a single patch, but since the offending fix hasn't
      yet made it to my for-next I'm merging it here.
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      68444b93
    • Alexandre Ghiti's avatar
      drivers: perf: Do not broadcast to other cpus when starting a counter · 61e3d993
      Alexandre Ghiti authored
      This command:
      
      $ perf record -e cycles:k -e instructions:k -c 10000 -m 64M dd if=/dev/zero of=/dev/null count=1000
      
      gives rise to this kernel warning:
      
      [  444.364395] WARNING: CPU: 0 PID: 104 at kernel/smp.c:775 smp_call_function_many_cond+0x42c/0x436
      [  444.364515] Modules linked in:
      [  444.364657] CPU: 0 PID: 104 Comm: perf-exec Not tainted 6.6.0-rc6-00051-g391df82e8ec3-dirty #73
      [  444.364771] Hardware name: riscv-virtio,qemu (DT)
      [  444.364868] epc : smp_call_function_many_cond+0x42c/0x436
      [  444.364917]  ra : on_each_cpu_cond_mask+0x20/0x32
      [  444.364948] epc : ffffffff8009f9e0 ra : ffffffff8009fa5a sp : ff20000000003800
      [  444.364966]  gp : ffffffff81500aa0 tp : ff60000002b83000 t0 : ff200000000038c0
      [  444.364982]  t1 : ffffffff815021f0 t2 : 000000000000001f s0 : ff200000000038b0
      [  444.364998]  s1 : ff60000002c54d98 a0 : ff60000002a73940 a1 : 0000000000000000
      [  444.365013]  a2 : 0000000000000000 a3 : 0000000000000003 a4 : 0000000000000100
      [  444.365029]  a5 : 0000000000010100 a6 : 0000000000f00000 a7 : 0000000000000000
      [  444.365044]  s2 : 0000000000000000 s3 : ffffffffffffffff s4 : ff60000002c54d98
      [  444.365060]  s5 : ffffffff81539610 s6 : ffffffff80c20c48 s7 : 0000000000000000
      [  444.365075]  s8 : 0000000000000000 s9 : 0000000000000001 s10: 0000000000000001
      [  444.365090]  s11: ffffffff80099394 t3 : 0000000000000003 t4 : 00000000eac0c6e6
      [  444.365104]  t5 : 0000000400000000 t6 : ff60000002e010d0
      [  444.365120] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
      [  444.365226] [<ffffffff8009f9e0>] smp_call_function_many_cond+0x42c/0x436
      [  444.365295] [<ffffffff8009fa5a>] on_each_cpu_cond_mask+0x20/0x32
      [  444.365311] [<ffffffff806e90dc>] pmu_sbi_ctr_start+0x7a/0xaa
      [  444.365327] [<ffffffff806e880c>] riscv_pmu_start+0x48/0x66
      [  444.365339] [<ffffffff8012111a>] perf_adjust_freq_unthr_context+0x196/0x1ac
      [  444.365356] [<ffffffff801237aa>] perf_event_task_tick+0x78/0x8c
      [  444.365368] [<ffffffff8003faf4>] scheduler_tick+0xe6/0x25e
      [  444.365383] [<ffffffff8008a042>] update_process_times+0x80/0x96
      [  444.365398] [<ffffffff800991ec>] tick_sched_handle+0x26/0x52
      [  444.365410] [<ffffffff800993e4>] tick_sched_timer+0x50/0x98
      [  444.365422] [<ffffffff8008a6aa>] __hrtimer_run_queues+0x126/0x18a
      [  444.365433] [<ffffffff8008b350>] hrtimer_interrupt+0xce/0x1da
      [  444.365444] [<ffffffff806cdc60>] riscv_timer_interrupt+0x30/0x3a
      [  444.365457] [<ffffffff8006afa6>] handle_percpu_devid_irq+0x80/0x114
      [  444.365470] [<ffffffff80065b82>] generic_handle_domain_irq+0x1c/0x2a
      [  444.365483] [<ffffffff8045faec>] riscv_intc_irq+0x2e/0x46
      [  444.365497] [<ffffffff808a9c62>] handle_riscv_irq+0x4a/0x74
      [  444.365521] [<ffffffff808aa760>] do_irq+0x7c/0x7e
      [  444.365796] ---[ end trace 0000000000000000 ]---
      
      That's because the fix in commit 3fec3233 ("drivers: perf: Fix panic
      in riscv SBI mmap support") was wrong since there is no need to broadcast
      to other cpus when starting a counter, that's only needed in mmap when
      the counters could have already been started on other cpus, so simply
      remove this broadcast.
      
      Fixes: 3fec3233 ("drivers: perf: Fix panic in riscv SBI mmap support")
      Signed-off-by: default avatarAlexandre Ghiti <alexghiti@rivosinc.com>
      Tested-by: default avatarClément Léger <cleger@rivosinc.com>
      Tested-by: default avatarYu Chien Peter Lin <peterlin@andestech.com>
      Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #On
      Link: https://lore.kernel.org/r/20231026084010.11888-1-alexghiti@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      61e3d993
    • Alexandre Ghiti's avatar
      drivers: perf: Check find_first_bit() return value · c6e316ac
      Alexandre Ghiti authored
      We must check the return value of find_first_bit() before using the
      return value as an index array since it happens to overflow the array
      and then panic:
      
      [  107.318430] Kernel BUG [#1]
      [  107.319434] CPU: 3 PID: 1238 Comm: kill Tainted: G            E      6.6.0-rc6ubuntu-defconfig #2
      [  107.319465] Hardware name: riscv-virtio,qemu (DT)
      [  107.319551] epc : pmu_sbi_ovf_handler+0x3a4/0x3ae
      [  107.319840]  ra : pmu_sbi_ovf_handler+0x52/0x3ae
      [  107.319868] epc : ffffffff80a0a77c ra : ffffffff80a0a42a sp : ffffaf83fecda350
      [  107.319884]  gp : ffffffff823961a8 tp : ffffaf8083db1dc0 t0 : ffffaf83fecda480
      [  107.319899]  t1 : ffffffff80cafe62 t2 : 000000000000ff00 s0 : ffffaf83fecda520
      [  107.319921]  s1 : ffffaf83fecda380 a0 : 00000018fca29df0 a1 : ffffffffffffffff
      [  107.319936]  a2 : 0000000001073734 a3 : 0000000000000004 a4 : 0000000000000000
      [  107.319951]  a5 : 0000000000000040 a6 : 000000001d1c8774 a7 : 0000000000504d55
      [  107.319965]  s2 : ffffffff82451f10 s3 : ffffffff82724e70 s4 : 000000000000003f
      [  107.319980]  s5 : 0000000000000011 s6 : ffffaf8083db27c0 s7 : 0000000000000000
      [  107.319995]  s8 : 0000000000000001 s9 : 00007fffb45d6558 s10: 00007fffb45d81a0
      [  107.320009]  s11: ffffaf7ffff60000 t3 : 0000000000000004 t4 : 0000000000000000
      [  107.320023]  t5 : ffffaf7f80000000 t6 : ffffaf8000000000
      [  107.320037] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
      [  107.320081] [<ffffffff80a0a77c>] pmu_sbi_ovf_handler+0x3a4/0x3ae
      [  107.320112] [<ffffffff800b42d0>] handle_percpu_devid_irq+0x9e/0x1a0
      [  107.320131] [<ffffffff800ad92c>] generic_handle_domain_irq+0x28/0x36
      [  107.320148] [<ffffffff8065f9f8>] riscv_intc_irq+0x36/0x4e
      [  107.320166] [<ffffffff80caf4a0>] handle_riscv_irq+0x54/0x86
      [  107.320189] [<ffffffff80cb0036>] do_irq+0x64/0x96
      [  107.320271] Code: 85a6 855e b097 ff7f 80e7 9220 b709 9002 4501 bbd9 (9002) 6097
      [  107.320585] ---[ end trace 0000000000000000 ]---
      [  107.320704] Kernel panic - not syncing: Fatal exception in interrupt
      [  107.320775] SMP: stopping secondary CPUs
      [  107.321219] Kernel Offset: 0x0 from 0xffffffff80000000
      [  107.333051] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
      
      Fixes: 4905ec2f ("RISC-V: Add sscofpmf extension support")
      Signed-off-by: default avatarAlexandre Ghiti <alexghiti@rivosinc.com>
      Link: https://lore.kernel.org/r/20231109082128.40777-1-alexghiti@rivosinc.com
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c6e316ac
    • Diogo Ivo's avatar
      net: ti: icss-iep: fix setting counter value · 83b9dda8
      Diogo Ivo authored
      Currently icss_iep_set_counter() writes the upper 32-bits of the
      counter value to both the lower and upper counter registers, so
      fix this by writing the appropriate value to the lower register.
      
      Fixes: c1e0230e ("net: ti: icss-iep: Add IEP driver")
      Signed-off-by: default avatarDiogo Ivo <diogo.ivo@siemens.com>
      Link: https://lore.kernel.org/r/20231107120037.1513546-1-diogo.ivo@siemens.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      83b9dda8
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v6.7-merge-window-2' of... · 3e3ab468
      Takashi Iwai authored
      Merge tag 'asoc-fix-v6.7-merge-window-2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: One more fix for the merge window
      
      One additional driver fix that came in during the merge window.
      3e3ab468
    • Palmer Dabbelt's avatar
      Merge patch series "Linux RISC-V AIA Preparatory Series" · f9a619eb
      Palmer Dabbelt authored
      These two  ended up in the AIA series, but they're really independent
      improvements.
      
      * b4-shazam-merge:
        of: property: Add fw_devlink support for msi-parent
        RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs
      
      Link: https://lore.kernel.org/r/20231027154254.355853-1-apatel@ventanamicro.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      f9a619eb
    • Anup Patel's avatar
      of: property: Add fw_devlink support for msi-parent · c5e4ce9d
      Anup Patel authored
      This allows fw_devlink to create device links between consumers of
      a MSI and the supplier of the MSI.
      Signed-off-by: default avatarAnup Patel <apatel@ventanamicro.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarSaravana Kannan <saravanak@google.com>
      Link: https://lore.kernel.org/r/20231027154254.355853-3-apatel@ventanamicro.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c5e4ce9d
    • Anup Patel's avatar
      RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs · c4676f8d
      Anup Patel authored
      The riscv_of_processor_hartid() used by riscv_of_parent_hartid() fails
      for HARTs disabled in the DT. This results in the following warning
      thrown by the RISC-V INTC driver for the E-core on SiFive boards:
      
      [    0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller
      
      The riscv_of_parent_hartid() is only expected to read the hartid
      from the DT so we directly call of_get_cpu_hwid() instead of calling
      riscv_of_processor_hartid().
      
      Fixes: ad635e72 ("riscv: cpu: Add 64bit hartid support on RV64")
      Signed-off-by: default avatarAnup Patel <apatel@ventanamicro.com>
      Reviewed-by: default avatarAtish Patra <atishp@rivosinc.com>
      Link: https://lore.kernel.org/r/20231027154254.355853-2-apatel@ventanamicro.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c4676f8d
    • Edward Adam Davis's avatar
      ptp: fix corrupted list in ptp_open · 1bea2c3e
      Edward Adam Davis authored
      There is no lock protection when writing ptp->tsevqs in ptp_open() and
      ptp_release(), which can cause data corruption, use spin lock to avoid this
      issue.
      
      Moreover, ptp_release() should not be used to release the queue in ptp_read(),
      and it should be deleted altogether.
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Reported-and-tested-by: syzbot+df3f3ef31f60781fa911@syzkaller.appspotmail.com
      Fixes: 8f5de6fb ("ptp: support multiple timestamp event readers")
      Signed-off-by: default avatarEdward Adam Davis <eadavis@qq.com>
      Link: https://lore.kernel.org/r/tencent_CD19564FFE8DA8A5918DFE92325D92DD8107@qq.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1bea2c3e
    • Edward Adam Davis's avatar
      ptp: ptp_read should not release queue · b714ca2c
      Edward Adam Davis authored
      Firstly, queue is not the memory allocated in ptp_read;
      Secondly, other processes may block at ptp_read and wait for conditions to be
      met to perform read operations.
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Reported-and-tested-by: syzbot+df3f3ef31f60781fa911@syzkaller.appspotmail.com
      Fixes: 8f5de6fb ("ptp: support multiple timestamp event readers")
      Signed-off-by: default avatarEdward Adam Davis <eadavis@qq.com>
      Link: https://lore.kernel.org/r/tencent_18747D76F1675A3C633772960237544AAA09@qq.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b714ca2c
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · 9b818a34
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2023-11-06 (ice)
      
      This series contains updates to ice driver only.
      
      Dave removes SR-IOV LAG attribute for only the interface being disabled
      to allow for proper unwinding of all interfaces.
      
      Michal Schmidt changes some LAG allocations from GFP_KERNEL to GFP_ATOMIC
      due to non-allowed sleeping.
      
      Aniruddha and Marcin fix redirection and drop rules for switchdev by
      properly setting and marking egress/ingress type.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        ice: Fix VF-VF direction matching in drop rule in switchdev
        ice: Fix VF-VF filter rules in switchdev mode
        ice: lag: in RCU, use atomic allocation
        ice: Fix SRIOV LAG disable on non-compliant aggregate
      ====================
      
      Link: https://lore.kernel.org/r/20231107004844.655549-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9b818a34
    • Eric Dumazet's avatar
      net_sched: sch_fq: better validate TCA_FQ_WEIGHTS and TCA_FQ_PRIOMAP · f1a3b283
      Eric Dumazet authored
      syzbot was able to trigger the following report while providing
      too small TCA_FQ_WEIGHTS attribute [1]
      
      Fix is to use NLA_POLICY_EXACT_LEN() to ensure user space
      provided correct sizes.
      
      Apply the same fix to TCA_FQ_PRIOMAP.
      
      [1]
      BUG: KMSAN: uninit-value in fq_load_weights net/sched/sch_fq.c:960 [inline]
      BUG: KMSAN: uninit-value in fq_change+0x1348/0x2fe0 net/sched/sch_fq.c:1071
      fq_load_weights net/sched/sch_fq.c:960 [inline]
      fq_change+0x1348/0x2fe0 net/sched/sch_fq.c:1071
      fq_init+0x68e/0x780 net/sched/sch_fq.c:1159
      qdisc_create+0x12f3/0x1be0 net/sched/sch_api.c:1326
      tc_modify_qdisc+0x11ef/0x2c20
      rtnetlink_rcv_msg+0x16a6/0x1840 net/core/rtnetlink.c:6558
      netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545
      rtnetlink_rcv+0x34/0x40 net/core/rtnetlink.c:6576
      netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline]
      netlink_unicast+0xf47/0x1250 net/netlink/af_netlink.c:1368
      netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg net/socket.c:745 [inline]
      ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2588
      ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2642
      __sys_sendmsg net/socket.c:2671 [inline]
      __do_sys_sendmsg net/socket.c:2680 [inline]
      __se_sys_sendmsg net/socket.c:2678 [inline]
      __x64_sys_sendmsg+0x307/0x490 net/socket.c:2678
      do_syscall_x64 arch/x86/entry/common.c:51 [inline]
      do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
      entry_SYSCALL_64_after_hwframe+0x63/0x6b
      
      Uninit was created at:
      slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768
      slab_alloc_node mm/slub.c:3478 [inline]
      kmem_cache_alloc_node+0x5e9/0xb10 mm/slub.c:3523
      kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
      __alloc_skb+0x318/0x740 net/core/skbuff.c:651
      alloc_skb include/linux/skbuff.h:1286 [inline]
      netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [inline]
      netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg net/socket.c:745 [inline]
      ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2588
      ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2642
      __sys_sendmsg net/socket.c:2671 [inline]
      __do_sys_sendmsg net/socket.c:2680 [inline]
      __se_sys_sendmsg net/socket.c:2678 [inline]
      __x64_sys_sendmsg+0x307/0x490 net/socket.c:2678
      do_syscall_x64 arch/x86/entry/common.c:51 [inline]
      do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
      entry_SYSCALL_64_after_hwframe+0x63/0x6b
      
      CPU: 1 PID: 5001 Comm: syz-executor300 Not tainted 6.6.0-syzkaller-12401-g8f6f76a6 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/09/2023
      
      Fixes: 29f834aa ("net_sched: sch_fq: add 3 bands and WRR scheduling")
      Fixes: 49e7265f ("net_sched: sch_fq: add TCA_FQ_WEIGHTS attribute")
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: Jamal Hadi Salim<jhs@mojatatu.com>
      Link: https://lore.kernel.org/r/20231107160440.1992526-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f1a3b283