1. 11 Apr, 2023 4 commits
  2. 10 Apr, 2023 4 commits
  3. 09 Apr, 2023 5 commits
    • Linus Torvalds's avatar
      Linux 6.3-rc6 · 09a9639e
      Linus Torvalds authored
      09a9639e
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · faf8f418
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - Fix "same task" check when redirecting event output
      
       - Do not wait unconditionally for RCU on the event migration path if
         there are no events to migrate
      
      * tag 'perf_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Fix the same task check in perf_event_set_output
        perf: Optimize perf_pmu_migrate_context()
      faf8f418
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4ba115e2
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Add a new Intel Arrow Lake CPU model number
      
       - Fix a confusion about how to check the version of the ACPI spec which
         supports a "online capable" bit in the MADT table which lead to a
         bunch of boot breakages with Zen1 systems and VMs
      
      * tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Add model number for Intel Arrow Lake processor
        x86/acpi/boot: Correct acpi_is_processor_usable() check
        x86/ACPI/boot: Use FADT version to check support for online capable
      4ba115e2
    • Linus Torvalds's avatar
      Merge tag 'cxl-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · c08cfd67
      Linus Torvalds authored
      Pull compute express link (cxl) fixes from Dan Williams:
       "Several fixes for driver startup regressions that landed during the
        merge window as well as some older bugs.
      
        The regressions were due to a lack of testing with what the CXL
        specification calls Restricted CXL Host (RCH) topologies compared to
        the testing with Virtual Host (VH) CXL topologies. A VH topology is
        typical PCIe while RCH topologies map CXL endpoints as Root Complex
        Integrated endpoints. The impact is some driver crashes on startup.
      
        This merge window also added compatibility for range registers (the
        mechanism that CXL 1.1 defined for mapping memory) to treat them like
        HDM decoders (the mechanism that CXL 2.0 defined for mapping
        Host-managed Device Memory). That work collided with the new region
        enumeration code that was tested with CXL 2.0 setups, and fails with
        crashes at startup.
      
        Lastly, the DOE (Data Object Exchange) implementation for retrieving
        an ACPI-like data table from CXL devices is being reworked for v6.4.
        Several fixes fell out of that work that are suitable for v6.3.
      
        All of this has been in linux-next for a while, and all reported
        issues [1] have been addressed.
      
        Summary:
      
         - Fix several issues with region enumeration in RCH topologies that
           can trigger crashes on driver startup or shutdown.
      
         - Fix CXL DVSEC range register compatibility versus region
           enumeration that leads to startup crashes
      
         - Fix CDAT endiannes handling
      
         - Fix multiple buffer handling boundary conditions
      
         - Fix Data Object Exchange (DOE) workqueue usage vs
           CONFIG_DEBUG_OBJECTS warn splats"
      
      Link: http://lore.kernel.org/r/20230405075704.33de8121@canb.auug.org.au [1]
      
      * tag 'cxl-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
        cxl/hdm: Extend DVSEC range register emulation for region enumeration
        cxl/hdm: Limit emulation to the number of range registers
        cxl/region: Move coherence tracking into cxl_region_attach()
        cxl/region: Fix region setup/teardown for RCDs
        cxl/port: Fix find_cxl_root() for RCDs and simplify it
        cxl/hdm: Skip emulation when driver manages mem_enable
        cxl/hdm: Fix double allocation of @cxlhdm
        PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y
        PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y
        cxl/pci: Handle excessive CDAT length
        cxl/pci: Handle truncated CDAT entries
        cxl/pci: Handle truncated CDAT header
        cxl/pci: Fix CDAT retrieval on big endian
      c08cfd67
    • Linus Torvalds's avatar
      Merge tag '6.3-rc5-smb3-cifs-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · cdc9718d
      Linus Torvalds authored
      Pull cifs client fixes from Steve French:
       "Two cifs/smb3 client fixes, one for stable:
      
         - double lock fix for a cifs/smb1 reconnect path
      
         - DFS prefixpath fix for reconnect when server moved"
      
      * tag '6.3-rc5-smb3-cifs-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: double lock in cifs_reconnect_tcon()
        cifs: sanitize paths in cifs_update_super_prepath.
      cdc9718d
  4. 08 Apr, 2023 9 commits
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 68047c48
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are a small set of various small driver changes for 6.3-rc6.
        Included in here are:
      
         - iio driver fixes for reported problems
      
         - coresight hwtracing bugfix for reported problem
      
         - small counter driver bugfixes
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'char-misc-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        coresight: etm4x: Do not access TRCIDR1 for identification
        coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
        iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
        iio: adc: palmas_gpadc: fix NULL dereference on rmmod
        counter: 104-quad-8: Fix Synapse action reported for Index signals
        counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
        iio: adc: max11410: fix read_poll_timeout() usage
        iio: dac: cio-dac: Fix max DAC write value check for 12-bit
        iio: light: cm32181: Unregister second I2C client if present
        iio: accel: kionix-kx022a: Get the timestamp from the driver's private data in the trigger_handler
        iio: adc: ad7791: fix IRQ flags
        iio: buffer: make sure O_NONBLOCK is respected
        iio: buffer: correctly return bytes written in output buffers
        iio: light: vcnl4000: Fix WARN_ON on uninitialized lock
        iio: adis16480: select CONFIG_CRC32
        drivers: iio: adc: ltc2497: fix LSB shift
        iio: adc: qcom-spmi-adc5: Fix the channel name
      68047c48
    • Linus Torvalds's avatar
      Merge tag 'tty-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · aa46fe36
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty and serial driver fixes for some reported
        problems:
      
         - fsl_uart driver bugfixes
      
         - sh-sci serial driver bugfixes
      
         - renesas serial driver DT binding bugfixes
      
         - 8250 DMA bugfix
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
        tty: serial: fsl_lpuart: fix crash in lpuart_uport_is_active
        tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
        serial: 8250: Prevent starting up DMA Rx on THRI interrupt
        dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
        tty: serial: sh-sci: Fix transmit end interrupt handler
      aa46fe36
    • Linus Torvalds's avatar
      Merge tag 'usb-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · a211b1c0
      Linus Torvalds authored
      Pull USB bugfixes from Greg KH:
       "Here are some small USB bugfixes for 6.3-rc6 that have been in my
        tree, and in linux-next, for a while. Included in here are:
      
         - new usb-serial driver device ids
      
         - xhci bugfixes for reported problems
      
         - gadget driver bugfixes for reported problems
      
         - dwc3 new device id
      
        All have been in linux-next with no reported problems"
      
      * tag 'usb-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: cdnsp: Fixes error: uninitialized symbol 'len'
        usb: gadgetfs: Fix ep_read_iter to handle ITER_UBUF
        usb: gadget: f_fs: Fix ffs_epfile_read_iter to handle ITER_UBUF
        usb: typec: altmodes/displayport: Fix configure initial pin assignment
        usb: dwc3: pci: add support for the Intel Meteor Lake-S
        xhci: Free the command allocated for setting LPM if we return early
        Revert "usb: xhci-pci: Set PROBE_PREFER_ASYNCHRONOUS"
        xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
        USB: serial: option: add Quectel RM500U-CN modem
        usb: xhci: tegra: fix sleep in atomic call
        USB: serial: option: add Telit FE990 compositions
        USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
      a211b1c0
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a79d5c76
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four small fixes, all in drivers. They're all one or two lines except
        for the ufs one, but that's a simple revert of a previous feature"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
        scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()
        scsi: mpi3mr: Handle soft reset in progress fault code (0xF002)
        scsi: Revert "scsi: ufs: core: Initialize devfreq synchronously"
      a79d5c76
    • Linus Torvalds's avatar
      Merge tag 'block-6.3-2023-04-06' of git://git.kernel.dk/linux · da0af3c5
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Ensure that ublk always reads the whole sqe upfront (me)
      
       - Fix for a block size probing issue with ublk (Ming)
      
       - Fix for the bio based polling (Keith)
      
       - NVMe pull request via Christoph:
            - fix discard support without oncs (Keith Busch)
      
       - Partition scan error handling regression fix (Yu)
      
      * tag 'block-6.3-2023-04-06' of git://git.kernel.dk/linux:
        block: don't set GD_NEED_PART_SCAN if scan partition failed
        block: ublk: make sure that block size is set correctly
        ublk: read any SQE values upfront
        nvme: fix discard support without oncs
        blk-mq: directly poll requests
      da0af3c5
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.3-2023-04-06' of git://git.kernel.dk/linux · d3f05a4c
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Just two minor fixes for provided buffers - one where we could
        potentially leak a buffer, and one where the returned values was
        off-by-one in some cases"
      
      * tag 'io_uring-6.3-2023-04-06' of git://git.kernel.dk/linux:
        io_uring: fix memory leak when removing provided buffers
        io_uring: fix return value when removing provided buffers
      d3f05a4c
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.3-2023-04-08' of git://git.infradead.org/users/hch/dma-mapping · 973ad544
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
      
       - fix a braino in the swiotlb alignment check fix (Petr Tesarik)
      
      * tag 'dma-mapping-6.3-2023-04-08' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: fix a braino in the alignment check fix
      973ad544
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.3-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 1a8a804a
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "A couple more minor fixes:
      
         - Reset direct->addr back to its original value on error in updating
           the direct trampoline code
      
         - Make lastcmd_mutex static"
      
      * tag 'trace-v6.3-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/synthetic: Make lastcmd_mutex static
        ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
      1a8a804a
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2023-04-07-16-23' of... · 6fda0bb8
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2023-04-07-16-23' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull MM fixes from Andrew Morton:
       "28 hotfixes.
      
        23 are cc:stable and the other five address issues which were
        introduced during this merge cycle.
      
        20 are for MM and the remainder are for other subsystems"
      
      * tag 'mm-hotfixes-stable-2023-04-07-16-23' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (28 commits)
        maple_tree: fix a potential concurrency bug in RCU mode
        maple_tree: fix get wrong data_end in mtree_lookup_walk()
        mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
        nilfs2: fix sysfs interface lifetime
        mm: take a page reference when removing device exclusive entries
        mm: vmalloc: avoid warn_alloc noise caused by fatal signal
        nilfs2: initialize "struct nilfs_binfo_dat"->bi_pad field
        nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
        zsmalloc: document freeable stats
        zsmalloc: document new fullness grouping
        fsdax: force clear dirty mark if CoW
        mm/hugetlb: fix uffd wr-protection for CoW optimization path
        mm: enable maple tree RCU mode by default
        maple_tree: add RCU lock checking to rcu callback functions
        maple_tree: add smp_rmb() to dead node detection
        maple_tree: fix write memory barrier of nodes once dead for RCU mode
        maple_tree: remove extra smp_wmb() from mas_dead_leaves()
        maple_tree: fix freeing of nodes in rcu mode
        maple_tree: detect dead nodes in mas_start()
        maple_tree: be more cautious about dead nodes
        ...
      6fda0bb8
  5. 07 Apr, 2023 6 commits
  6. 06 Apr, 2023 12 commits
    • Steven Rostedt (Google)'s avatar
      tracing/synthetic: Make lastcmd_mutex static · 31c68396
      Steven Rostedt (Google) authored
      The lastcmd_mutex is only used in trace_events_synth.c and should be
      static.
      
      Link: https://lore.kernel.org/linux-trace-kernel/202304062033.cRStgOuP-lkp@intel.com/
      Link: https://lore.kernel.org/linux-trace-kernel/20230406111033.6e26de93@gandalf.local.home
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Tze-nan Wu <Tze-nan.Wu@mediatek.com>
      Fixes: 4ccf11c4 ("tracing/synthetic: Fix races on freeing last_cmd")
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      31c68396
    • Linus Torvalds's avatar
      Merge tag 'net-6.3-rc6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f2afccfe
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from wireless and can.
      
        Current release - regressions:
      
         - wifi: mac80211:
            - fix potential null pointer dereference
            - fix receiving mesh packets in forwarding=0 networks
            - fix mesh forwarding
      
        Current release - new code bugs:
      
         - virtio/vsock: fix leaks due to missing skb owner
      
        Previous releases - regressions:
      
         - raw: fix NULL deref in raw_get_next().
      
         - sctp: check send stream number after wait_for_sndbuf
      
         - qrtr:
            - fix a refcount bug in qrtr_recvmsg()
            - do not do DEL_SERVER broadcast after DEL_CLIENT
      
         - wifi: brcmfmac: fix SDIO suspend/resume regression
      
         - wifi: mt76: fix use-after-free in fw features query.
      
         - can: fix race between isotp_sendsmg() and isotp_release()
      
         - eth: mtk_eth_soc: fix remaining throughput regression
      
         - eth: ice: reset FDIR counter in FDIR init stage
      
        Previous releases - always broken:
      
         - core: don't let netpoll invoke NAPI if in xmit context
      
         - icmp: guard against too small mtu
      
         - ipv6: fix an uninit variable access bug in __ip6_make_skb()
      
         - wifi: mac80211: fix the size calculation of
           ieee80211_ie_len_eht_cap()
      
         - can: fix poll() to not report false EPOLLOUT events
      
         - eth: gve: secure enough bytes in the first TX desc for all TCP
           pkts"
      
      * tag 'net-6.3-rc6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (47 commits)
        net: stmmac: check fwnode for phy device before scanning for phy
        net: stmmac: Add queue reset into stmmac_xdp_open() function
        selftests: net: rps_default_mask.sh: delete veth link specifically
        net: fec: make use of MDIO C45 quirk
        can: isotp: fix race between isotp_sendsmg() and isotp_release()
        can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
        can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos
        can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
        gve: Secure enough bytes in the first TX desc for all TCP pkts
        netlink: annotate lockless accesses to nlk->max_recvmsg_len
        ethtool: reset #lanes when lanes is omitted
        ping: Fix potentail NULL deref for /proc/net/icmp.
        raw: Fix NULL deref in raw_get_next().
        ice: Reset FDIR counter in FDIR init stage
        ice: fix wrong fallback logic for FDIR
        net: stmmac: fix up RX flow hash indirection table when setting channels
        net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
        wifi: mt76: ignore key disable commands
        wifi: ath11k: reduce the MHI timeout to 20s
        ipv6: Fix an uninit variable access bug in __ip6_make_skb()
        ...
      f2afccfe
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-fixes-6.3-rc6' of... · 8f2e1a85
      Linus Torvalds authored
      Merge tag 'linux-kselftest-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest fixes from Shuah Khan:
       "One single fix to mount_setattr_test build failure"
      
      * tag 'linux-kselftest-fixes-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests mount: Fix mount_setattr_test builds failed
      8f2e1a85
    • Linus Torvalds's avatar
      Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd · 105b64c8
      Linus Torvalds authored
      Pull iommufd fixes from Jason Gunthorpe:
      
       - An invalid VA range can be be put in a pages and eventually trigger
         WARN_ON, reject it early
      
       - Use of the wrong start index value when doing the complex batch carry
         scheme
      
       - Wrong store ordering resulting in corrupting data used in a later
         calculation that corrupted the batch structure during carry
      
      * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd:
        iommufd: Do not corrupt the pfn list when doing batch carry
        iommufd: Fix unpinning of pages when an access is present
        iommufd: Check for uptr overflow
      105b64c8
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.3-rc6' of... · ae52f797
      Linus Torvalds authored
      Merge tag 'pwm/for-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "These are some fixes to make sure the PWM state structure is always
        initialized to a known state.
      
        Prior to this it could happen in some situations that random data from
        the stack would leak into the data structure and cause subtle bugs"
      
      * tag 'pwm/for-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Zero-initialize the pwm_state passed to driver's .get_state()
        pwm: meson: Explicitly set .polarity in .get_state()
        pwm: sprd: Explicitly set .polarity in .get_state()
        pwm: iqs620a: Explicitly set .polarity in .get_state()
        pwm: cros-ec: Explicitly set .polarity in .get_state()
        pwm: hibvt: Explicitly set .polarity in .get_state()
      ae52f797
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-fixes-6.3-3' of... · 0bf9601f
      Paolo Bonzini authored
      Merge tag 'kvmarm-fixes-6.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      
      KVM/arm64 fixes for 6.3, part #3
      
       - Ensure the guest PMU context is restored before the first KVM_RUN,
         fixing an issue where EL0 event counting is broken after vCPU
         save/restore
      
       - Actually initialize ID_AA64PFR0_EL1.{CSV2,CSV3} based on the
         sanitized, system-wide values for protected VMs
      0bf9601f
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-04-06' of git://anongit.freedesktop.org/drm/drm · ac6c0433
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Mostly i915 fixes: dp mst for compression/dsc, perf ioctl uaf, ctx rpm
        accounting, gt reset vs huc loading.
      
        And a few individual driver fixes: ivpu dma fence&suspend, panfrost
        mmap, nouveau color depth"
      
      * tag 'drm-fixes-2023-04-06' of git://anongit.freedesktop.org/drm/drm:
        accel/ivpu: Fix S3 system suspend when not idle
        accel/ivpu: Add dma fence to command buffers only
        drm/i915: Fix context runtime accounting
        drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
        drm/i915: Use compressed bpp when calculating m/n value for DP MST DSC
        drm/i915/huc: Cancel HuC delayed load timer on reset.
        drm/i915/ttm: fix sparse warning
        drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
        drm/nouveau/disp: Support more modes by checking with lower bpc
      ac6c0433
    • Linus Torvalds's avatar
      Merge tag 'sound-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2a28a8b3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The majority of changes here are various fixes for Intel drivers,
        and there is a change in ASoC PCM core for the format constraints.
      
        In addition, a workaround for HD-audio HDMI regressions and usual
        HD-audio quirks are found"
      
      * tag 'sound-6.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement
        ALSA: hda/realtek: Add quirk for Clevo X370SNW
        ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
        ASoC: SOF: avoid a NULL dereference with unsupported widgets
        ASoC: da7213.c: add missing pm_runtime_disable()
        ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
        ASoC: codecs: lpass: fix the order or clks turn off during suspend
        ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
        ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data()
        ASoC: amd: yc: Add DMI entries to support Victus by HP Laptop 16-e1xxx (8A22)
        ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm
        ASoC: Intel: soc-acpi: add table for Intel 'Rooks County' NUC M15
        ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15
      2a28a8b3
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.3-5' of... · 8dfab523
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
      
       -  more think-lmi fixes
      
       -  one DMI quirk addition
      
      * tag 'platform-drivers-x86-v6.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle quirk list
        platform/x86: think-lmi: Clean up display of current_value on Thinkstation
        platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
        platform/x86: think-lmi: Fix memory leak when showing current settings
      8dfab523
    • Ziwei Dai's avatar
      rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period · 5da7cb19
      Ziwei Dai authored
      Memory passed to kvfree_rcu() that is to be freed is tracked by a
      per-CPU kfree_rcu_cpu structure, which in turn contains pointers
      to kvfree_rcu_bulk_data structures that contain pointers to memory
      that has not yet been handed to RCU, along with an kfree_rcu_cpu_work
      structure that tracks the memory that has already been handed to RCU.
      These structures track three categories of memory: (1) Memory for
      kfree(), (2) Memory for kvfree(), and (3) Memory for both that arrived
      during an OOM episode.  The first two categories are tracked in a
      cache-friendly manner involving a dynamically allocated page of pointers
      (the aforementioned kvfree_rcu_bulk_data structures), while the third
      uses a simple (but decidedly cache-unfriendly) linked list through the
      rcu_head structures in each block of memory.
      
      On a given CPU, these three categories are handled as a unit, with that
      CPU's kfree_rcu_cpu_work structure having one pointer for each of the
      three categories.  Clearly, new memory for a given category cannot be
      placed in the corresponding kfree_rcu_cpu_work structure until any old
      memory has had its grace period elapse and thus has been removed.  And
      the kfree_rcu_monitor() function does in fact check for this.
      
      Except that the kfree_rcu_monitor() function checks these pointers one
      at a time.  This means that if the previous kfree_rcu() memory passed
      to RCU had only category 1 and the current one has only category 2, the
      kfree_rcu_monitor() function will send that current category-2 memory
      along immediately.  This can result in memory being freed too soon,
      that is, out from under unsuspecting RCU readers.
      
      To see this, consider the following sequence of events, in which:
      
      o	Task A on CPU 0 calls rcu_read_lock(), then uses "from_cset",
      	then is preempted.
      
      o	CPU 1 calls kfree_rcu(cset, rcu_head) in order to free "from_cset"
      	after a later grace period.  Except that "from_cset" is freed
      	right after the previous grace period ended, so that "from_cset"
      	is immediately freed.  Task A resumes and references "from_cset"'s
      	member, after which nothing good happens.
      
      In full detail:
      
      CPU 0					CPU 1
      ----------------------			----------------------
      count_memcg_event_mm()
      |rcu_read_lock()  <---
      |mem_cgroup_from_task()
       |// css_set_ptr is the "from_cset" mentioned on CPU 1
       |css_set_ptr = rcu_dereference((task)->cgroups)
       |// Hard irq comes, current task is scheduled out.
      
      					cgroup_attach_task()
      					|cgroup_migrate()
      					|cgroup_migrate_execute()
      					|css_set_move_task(task, from_cset, to_cset, true)
      					|cgroup_move_task(task, to_cset)
      					|rcu_assign_pointer(.., to_cset)
      					|...
      					|cgroup_migrate_finish()
      					|put_css_set_locked(from_cset)
      					|from_cset->refcount return 0
      					|kfree_rcu(cset, rcu_head) // free from_cset after new gp
      					|add_ptr_to_bulk_krc_lock()
      					|schedule_delayed_work(&krcp->monitor_work, ..)
      
      					kfree_rcu_monitor()
      					|krcp->bulk_head[0]'s work attached to krwp->bulk_head_free[]
      					|queue_rcu_work(system_wq, &krwp->rcu_work)
      					|if rwork->rcu.work is not in WORK_STRUCT_PENDING_BIT state,
      					|call_rcu(&rwork->rcu, rcu_work_rcufn) <--- request new gp
      
      					// There is a perious call_rcu(.., rcu_work_rcufn)
      					// gp end, rcu_work_rcufn() is called.
      					rcu_work_rcufn()
      					|__queue_work(.., rwork->wq, &rwork->work);
      
      					|kfree_rcu_work()
      					|krwp->bulk_head_free[0] bulk is freed before new gp end!!!
      					|The "from_cset" is freed before new gp end.
      
      // the task resumes some time later.
       |css_set_ptr->subsys[(subsys_id) <--- Caused kernel crash, because css_set_ptr is freed.
      
      This commit therefore causes kfree_rcu_monitor() to refrain from moving
      kfree_rcu() memory to the kfree_rcu_cpu_work structure until the RCU
      grace period has completed for all three categories.
      
      v2: Use helper function instead of inserted code block at kfree_rcu_monitor().
      
      Fixes: 34c88174 ("rcu: Support kfree_bulk() interface in kfree_rcu()")
      Fixes: 5f3c8d62 ("rcu/tree: Maintain separate array for vmalloc ptrs")
      Reported-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarZiwei Dai <ziwei.dai@unisoc.com>
      Reviewed-by: default avatarUladzislau Rezki (Sony) <urezki@gmail.com>
      Tested-by: default avatarUladzislau Rezki (Sony) <urezki@gmail.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      5da7cb19
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-fixes-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · fcff5f99
      Linus Torvalds authored
      Pull asm-generic fixes from Arnd Bergmann:
       "These are minor fixes to address false-positive build warnings:
      
        Some of the less common I/O accessors are missing __force casts and
        cause sparse warnings for their implied byteswap, and a recent change
        to __generic_cmpxchg_local() causes a warning about constant integer
        truncation"
      
      * tag 'asm-generic-fixes-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic: avoid __generic_cmpxchg_local warnings
        asm-generic/io.h: suppress endianness warnings for relaxed accessors
        asm-generic/io.h: suppress endianness warnings for readq() and writeq()
      fcff5f99
    • Michael Sit Wei Hong's avatar
      net: stmmac: check fwnode for phy device before scanning for phy · 8fbc10b9
      Michael Sit Wei Hong authored
      Some DT devices already have phy device configured in the DT/ACPI.
      Current implementation scans for a phy unconditionally even though
      there is a phy listed in the DT/ACPI and already attached.
      
      We should check the fwnode if there is any phy device listed in
      fwnode and decide whether to scan for a phy to attach to.
      
      Fixes: fe2cfbc9 ("net: stmmac: check if MAC needs to attach to a PHY")
      Reported-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Link: https://lore.kernel.org/lkml/20230403212434.296975-1-martin.blumenstingl@googlemail.com/Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarShahab Vahedi <shahab@synopsys.com>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Suggested-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarMichael Sit Wei Hong <michael.wei.hong.sit@intel.com>
      Link: https://lore.kernel.org/r/20230406024541.3556305-1-michael.wei.hong.sit@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8fbc10b9