25 Jan, 2021

2 commits


20 Jan, 2021

1 commit

  • This is the 5.10.7 stable release

    * tag 'v5.10.7': (144 commits)
    Linux 5.10.7
    scsi: target: Fix XCOPY NAA identifier lookup
    rtlwifi: rise completion at the last step of firmware callback
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     

18 Jan, 2021

1 commit


13 Jan, 2021

3 commits

  • Changes in 5.10.7
    i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
    iavf: fix double-release of rtnl_lock
    net/sched: sch_taprio: ensure to reset/destroy all child qdiscs
    net: mvpp2: Add TCAM entry to drop flow control pause frames
    net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    ethernet: ucc_geth: set dev->max_mtu to 1518
    ionic: account for vlan tag len in rx buffer len
    atm: idt77252: call pci_disable_device() on error path
    net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    net: stmmac: dwmac-meson8b: ignore the second clock input
    ibmvnic: fix login buffer memory leak
    ibmvnic: continue fatal error reset after passive init
    net: ethernet: mvneta: Fix error handling in mvneta_probe
    qede: fix offload for IPIP tunnel packets
    virtio_net: Fix recursive call to cpus_read_lock()
    net/ncsi: Use real net-device for response handler
    net: ethernet: Fix memleak in ethoc_probe
    net-sysfs: take the rtnl lock when storing xps_cpus
    net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
    net-sysfs: take the rtnl lock when storing xps_rxqs
    net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
    net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
    tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
    e1000e: Only run S0ix flows if shutdown succeeded
    e1000e: bump up timeout to wait when ME un-configures ULP mode
    Revert "e1000e: disable s0ix entry and exit flows for ME systems"
    e1000e: Export S0ix flags to ethtool
    bnxt_en: Check TQM rings for maximum supported value.
    net: mvpp2: fix pkt coalescing int-threshold configuration
    bnxt_en: Fix AER recovery.
    ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
    net: sched: prevent invalid Scell_log shift count
    net: hns: fix return value check in __lb_other_process()
    erspan: fix version 1 check in gre_parse_header()
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    bareudp: set NETIF_F_LLTX flag
    bareudp: Fix use of incorrect min_headroom size
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    r8169: work around power-saving bug on some chip versions
    net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs
    net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access
    CDC-NCM: remove "connected" log message
    ibmvnic: fix: NULL pointer dereference.
    net: usb: qmi_wwan: add Quectel EM160R-GL
    selftests: mlxsw: Set headroom size of correct port
    stmmac: intel: Add PCI IDs for TGL-H platform
    selftests/vm: fix building protection keys test
    block: add debugfs stanza for QUEUE_FLAG_NOWAIT
    workqueue: Kick a worker based on the actual activation of delayed works
    scsi: ufs: Fix wrong print message in dev_err()
    scsi: ufs-pci: Fix restore from S4 for Intel controllers
    scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
    scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers
    scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers
    scsi: block: Introduce BLK_MQ_REQ_PM
    scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT
    scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE
    local64.h: make mandatory
    lib/genalloc: fix the overflow when size is too big
    depmod: handle the case of /sbin/depmod without /sbin in PATH
    scsi: ufs: Clear UAC for FFU and RPMB LUNs
    kbuild: don't hardcode depmod path
    Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT
    scsi: block: Do not accept any requests while suspended
    crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    crypto: asym_tpm: correct zero out potential secrets
    powerpc: Handle .text.{hot,unlikely}.* in linker script
    Staging: comedi: Return -EFAULT if copy_to_user() fails
    staging: mt7621-dma: Fix a resource leak in an error handling path
    usb: gadget: enable super speed plus
    USB: cdc-acm: blacklist another IR Droid device
    USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request
    usb: dwc3: meson-g12a: disable clk on error handling path in probe
    usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
    usb: dwc3: gadget: Clear wait flag on dequeue
    usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
    usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
    usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
    USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
    usb: usbip: vhci_hcd: protect shift size
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    USB: serial: iuu_phoenix: fix DMA from stack
    USB: serial: option: add LongSung M5710 module support
    USB: serial: option: add Quectel EM160R-GL
    USB: yurex: fix control-URB timeout handling
    USB: usblp: fix DMA to stack
    ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
    usb: gadget: select CONFIG_CRC32
    USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
    usb: gadget: f_uac2: reset wMaxPacketSize
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
    USB: gadget: legacy: fix return error code in acm_ms_bind()
    usb: gadget: Fix spinlock lockup on usb_function_deactivate
    usb: gadget: configfs: Preserve function ordering after bind failure
    usb: gadget: configfs: Fix use-after-free issue with udc_name
    USB: serial: keyspan_pda: remove unused variable
    hwmon: (amd_energy) fix allocation of hwmon_channel_info config
    mm: make wait_on_page_writeback() wait for multiple pending writebacks
    x86/mm: Fix leak of pmd ptlock
    KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
    KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
    kvm: check tlbs_dirty directly
    KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    x86/resctrl: Don't move a task to the same resource group
    blk-iocost: fix NULL iocg deref from racing against initialization
    ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    ALSA: hda/conexant: add a new hda codec CX11970
    ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    ALSA: hda/realtek: Add mute LED quirk for more HP laptops
    ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
    ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256.
    iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
    btrfs: qgroup: don't try to wait flushing if we're already holding a transaction
    btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    Revert "device property: Keep secondary firmware node secondary by type"
    dmabuf: fix use-after-free of dmabuf's file->f_inode
    arm64: link with -z norelro for LLD or aarch64-elf
    drm/i915: clear the shadow batch
    drm/i915: clear the gpu reloc batch
    bcache: fix typo from SUUP to SUPP in features.h
    bcache: check unsupported feature sets for bcache register
    bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
    net/mlx5e: Fix SWP offsets when vlan inserted by driver
    ARM: dts: OMAP3: disable AES on N950/N9
    netfilter: x_tables: Update remaining dereference to RCU
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
    dmaengine: idxd: off by one in cleanup code
    x86/mtrr: Correct the range check before performing MTRR type lookups
    KVM: x86: fix shift out of bounds reported by UBSAN
    xsk: Fix memory leak for failed bind
    rtlwifi: rise completion at the last step of firmware callback
    scsi: target: Fix XCOPY NAA identifier lookup
    Linux 5.10.7

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I1a7c195af35831fe362b027fe013c0c7e4dc20ea

    Greg Kroah-Hartman
     
  • Bing Song noticed the CMA heap was leaking memory due to a flub
    I made in commit a5d2d29e24be ("dma-buf: heaps: Move heap-helper
    logic into the cma_heap implementation"), and provided this fix
    which ensures the pagelist is also freed on release.

    Cc: Bing Song
    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reported-by: Bing Song
    Fixes: a5d2d29e24be ("dma-buf: heaps: Move heap-helper logic into the cma_heap implementation")
    Signed-off-by: John Stultz
    Signed-off-by: Sumit Semwal
    Link: https://patchwork.freedesktop.org/patch/msgid/20210107202616.75170-1-john.stultz@linaro.org
    (cherry picked from commit a0adc8eabb402cfb9f32d15edd9f65f65e35cdce
    git: //anongit.freedesktop.org/drm/drm-misc drm-misc-fixes)
    Signed-off-by: John Stultz
    Change-Id: Ic532b71ad58699db1b11870eb0027966d93acac1

    John Stultz
     
  • commit 05cd84691eafcd7959a1e120d5e72c0dd98c5d91 upstream.

    It is observed 'use-after-free' on the dmabuf's file->f_inode with the
    race between closing the dmabuf file and reading the dmabuf's debug
    info.

    Consider the below scenario where P1 is closing the dma_buf file
    and P2 is reading the dma_buf's debug info in the system:

    P1 P2
    dma_buf_debug_show()
    dma_buf_put()
    __fput()
    file->f_op->release()
    dput()
    ....
    dentry_unlink_inode()
    iput(dentry->d_inode)
    (where the inode is freed)
    mutex_lock(&db_list.lock)
    read 'dma_buf->file->f_inode'
    (the same inode is freed by P1)
    mutex_unlock(&db_list.lock)
    dentry->d_op->d_release()-->
    dma_buf_release()
    .....
    mutex_lock(&db_list.lock)
    removes the dmabuf from the list
    mutex_unlock(&db_list.lock)

    In the above scenario, when dma_buf_put() is called on a dma_buf, it
    first frees the dma_buf's file->f_inode(=dentry->d_inode) and then
    removes this dma_buf from the system db_list. In between P2 traversing
    the db_list tries to access this dma_buf's file->f_inode that was freed
    by P1 which is a use-after-free case.

    Since, __fput() calls f_op->release first and then later calls the
    d_op->d_release, move the dma_buf's db_list removal from d_release() to
    f_op->release(). This ensures that dma_buf's file->f_inode is not
    accessed after it is released.

    Cc: # 5.4.x-
    Fixes: 4ab59c3c638c ("dma-buf: Move dma_buf_release() from fops to dentry_ops")
    Acked-by: Christian König
    Signed-off-by: Charan Teja Reddy
    Signed-off-by: Sumit Semwal
    Signed-off-by: Thomas Zimmermann
    Link: https://patchwork.freedesktop.org/patch/msgid/1609857399-31549-1-git-send-email-charante@codeaurora.org
    Signed-off-by: Greg Kroah-Hartman

    Charan Teja Reddy
     

04 Jan, 2021

1 commit

  • This is the 5.10.4 stable release

    * tag 'v5.10.4': (717 commits)
    Linux 5.10.4
    x86/CPU/AMD: Save AMD NodeId as cpu_die_id
    drm/edid: fix objtool warning in drm_cvt_modes()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/gpu/drm/imx/dcss/dcss-plane.c
    drivers/media/i2c/ov5640.c

    Jason Liu
     

30 Dec, 2020

2 commits

  • Changes in 5.10.4
    hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs
    drm/gma500: fix double free of gma_connector
    iio: adc: at91_adc: add Kconfig dep on the OF symbol and remove of_match_ptr()
    drm/aspeed: Fix Kconfig warning & subsequent build errors
    drm/mcde: Fix handling of platform_get_irq() error
    drm/tve200: Fix handling of platform_get_irq() error
    arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
    arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
    soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
    soc: mediatek: Check if power domains can be powered on at boot time
    arm64: dts: mediatek: mt8183: fix gce incorrect mbox-cells value
    arm64: dts: ipq6018: update the reserved-memory node
    arm64: dts: qcom: sc7180: Fix one forgotten interconnect reference
    soc: qcom: geni: More properly switch to DMA mode
    Revert "i2c: i2c-qcom-geni: Fix DMA transfer race"
    RDMA/bnxt_re: Set queue pair state when being queried
    rtc: pcf2127: fix pcf2127_nvmem_read/write() returns
    RDMA/bnxt_re: Fix entry size during SRQ create
    selinux: fix error initialization in inode_doinit_with_dentry()
    ARM: dts: aspeed-g6: Fix the GPIO memory size
    ARM: dts: aspeed: s2600wf: Fix VGA memory region location
    RDMA/core: Fix error return in _ib_modify_qp()
    RDMA/rxe: Compute PSN windows correctly
    x86/mm/ident_map: Check for errors from ident_pud_init()
    ARM: p2v: fix handling of LPAE translation in BE mode
    RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed
    RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established
    RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex
    x86/apic: Fix x2apic enablement without interrupt remapping
    ASoC: qcom: fix unsigned int bitwidth compared to less than zero
    sched/deadline: Fix sched_dl_global_validate()
    sched: Reenable interrupts in do_sched_yield()
    drm/amdgpu: fix incorrect enum type
    crypto: talitos - Endianess in current_desc_hdr()
    crypto: talitos - Fix return type of current_desc_hdr()
    crypto: inside-secure - Fix sizeof() mismatch
    ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode
    drm/msm: Add missing stub definition
    ARM: dts: aspeed: tiogapass: Remove vuart
    drm/amdgpu: fix build_coefficients() argument
    powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
    spi: img-spfi: fix reference leak in img_spfi_resume
    f2fs: call f2fs_get_meta_page_retry for nat page
    RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr()
    perf test: Use generic event for expand_libpfm_events()
    drm/msm/dp: DisplayPort PHY compliance tests fixup
    drm/msm/dsi_pll_7nm: restore VCO rate during restore_state
    drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
    drm/msm/dpu: fix clock scaling on non-sc7180 board
    spi: spi-mem: fix reference leak in spi_mem_access_start
    scsi: aacraid: Improve compat_ioctl handlers
    pinctrl: core: Add missing #ifdef CONFIG_GPIOLIB
    ASoC: pcm: DRAIN support reactivation
    drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe
    crypto: arm64/poly1305-neon - reorder PAC authentication with SP update
    crypto: arm/aes-neonbs - fix usage of cbc(aes) fallback
    crypto: caam - fix printing on xts fallback allocation error path
    selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
    nl80211/cfg80211: fix potential infinite loop
    spi: stm32: fix reference leak in stm32_spi_resume
    bpf: Fix tests for local_storage
    x86/mce: Correct the detection of invalid notifier priorities
    drm/edid: Fix uninitialized variable in drm_cvt_modes()
    ath11k: Initialize complete alpha2 for regulatory change
    ath11k: Fix number of rules in filtered ETSI regdomain
    ath11k: fix wmi init configuration
    brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}
    arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
    arm64: dts: exynos: Correct psci compatible used on Exynos7
    drm/panel: simple: Add flags to boe_nv133fhm_n61
    Bluetooth: Fix null pointer dereference in hci_event_packet()
    Bluetooth: Fix: LL PRivacy BLE device fails to connect
    Bluetooth: hci_h5: fix memory leak in h5_close
    spi: stm32-qspi: fix reference leak in stm32 qspi operations
    spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
    spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
    spi: tegra20-slink: fix reference leak in slink ops of tegra20
    spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
    spi: tegra114: fix reference leak in tegra spi ops
    spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
    spi: imx: fix reference leak in two imx operations
    ASoC: qcom: common: Fix refcounting in qcom_snd_parse_of()
    ath11k: Handle errors if peer creation fails
    mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
    drm/msm/a6xx: Clear shadow on suspend
    drm/msm/a5xx: Clear shadow on suspend
    firmware: tegra: fix strncpy()/strncat() confusion
    drm/msm/dp: return correct connection status after suspend
    drm/msm/dp: skip checking LINK_STATUS_UPDATED bit
    drm/msm/dp: do not notify audio subsystem if sink doesn't support audio
    selftests/run_kselftest.sh: fix dry-run typo
    selftest/bpf: Add missed ip6ip6 test back
    ASoC: wm8994: Fix PM disable depth imbalance on error
    ASoC: wm8998: Fix PM disable depth imbalance on error
    spi: sprd: fix reference leak in sprd_spi_remove
    virtiofs fix leak in setup
    ASoC: arizona: Fix a wrong free in wm8997_probe
    RDMa/mthca: Work around -Wenum-conversion warning
    ASoC: SOF: Intel: fix Kconfig dependency for SND_INTEL_DSP_CONFIG
    arm64: dts: ti: k3-am65*/j721e*: Fix unit address format error for dss node
    MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
    drm/amdgpu: fix compute queue priority if num_kcq is less than 4
    soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted
    crypto: Kconfig - CRYPTO_MANAGER_EXTRA_TESTS requires the manager
    crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
    firmware: arm_scmi: Fix missing destroy_workqueue()
    drm/udl: Fix missing error code in udl_handle_damage()
    staging: greybus: codecs: Fix reference counter leak in error handling
    staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
    scripts: kernel-doc: Restore anonymous enum parsing
    drm/amdkfd: Put ACPI table after using it
    ionic: use mc sync for multicast filters
    ionic: flatten calls to ionic_lif_rx_mode
    ionic: change set_rx_mode from_ndo to can_sleep
    media: tm6000: Fix sizeof() mismatches
    media: platform: add missing put_device() call in mtk_jpeg_clk_init()
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm()
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
    media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm()
    media: v4l2-fwnode: Return -EINVAL for invalid bus-type
    media: v4l2-fwnode: v4l2_fwnode_endpoint_parse caller must init vep argument
    media: ov5640: fix support of BT656 bus mode
    media: staging: rkisp1: cap: fix runtime PM imbalance on error
    media: cedrus: fix reference leak in cedrus_start_streaming
    media: platform: add missing put_device() call in mtk_jpeg_probe() and mtk_jpeg_remove()
    media: venus: core: change clk enable and disable order in resume and suspend
    media: venus: core: vote for video-mem path
    media: venus: core: vote with average bandwidth and peak bandwidth as zero
    RDMA/cma: Add missing error handling of listen_id
    ASoC: meson: fix COMPILE_TEST error
    spi: dw: fix build error by selecting MULTIPLEXER
    scsi: core: Fix VPD LUN ID designator priorities
    media: venus: put dummy vote on video-mem path after last session release
    media: solo6x10: fix missing snd_card_free in error handling case
    video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
    mmc: sdhci: tegra: fix wrong unit with busy_timeout
    drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
    drm/meson: Free RDMA resources after tearing down DRM
    drm/meson: Unbind all connectors on module removal
    drm/meson: dw-hdmi: Register a callback to disable the regulator
    drm/meson: dw-hdmi: Ensure that clocks are enabled before touching the TOP registers
    ASoC: intel: SND_SOC_INTEL_KEEMBAY should depend on ARCH_KEEMBAY
    iommu/vt-d: include conditionally on CONFIG_INTEL_IOMMU_SVM
    Input: ads7846 - fix race that causes missing releases
    Input: ads7846 - fix integer overflow on Rt calculation
    Input: ads7846 - fix unaligned access on 7845
    bus: mhi: core: Remove double locking from mhi_driver_remove()
    bus: mhi: core: Fix null pointer access when parsing MHI configuration
    usb/max3421: fix return error code in max3421_probe()
    spi: mxs: fix reference leak in mxs_spi_probe
    selftests/bpf: Fix broken riscv build
    powerpc: Avoid broken GCC __attribute__((optimize))
    powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
    ARM: dts: tacoma: Fix node vs reg mismatch for flash memory
    Revert "powerpc/pseries/hotplug-cpu: Remove double free in error path"
    powerpc/powernv/sriov: fix unsigned int win compared to less than zero
    mfd: htc-i2cpld: Add the missed i2c_put_adapter() in htcpld_register_chip_i2c()
    mfd: MFD_SL28CPLD should depend on ARCH_LAYERSCAPE
    mfd: stmfx: Fix dev_err_probe() call in stmfx_chip_init()
    mfd: cpcap: Fix interrupt regression with regmap clear_ack
    EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId
    scsi: ufs: Avoid to call REQ_CLKS_OFF to CLKS_OFF
    scsi: ufs: Fix clkgating on/off
    rcu: Allow rcu_irq_enter_check_tick() from NMI
    rcu,ftrace: Fix ftrace recursion
    rcu/tree: Defer kvfree_rcu() allocation to a clean context
    crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
    crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
    crypto: sun8i-ce - fix two error path's memory leak
    spi: fix resource leak for drivers without .remove callback
    drm/meson: dw-hdmi: Disable clocks on driver teardown
    drm/meson: dw-hdmi: Enable the iahb clock early enough
    PCI: Disable MSI for Pericom PCIe-USB adapter
    PCI: brcmstb: Initialize "tmp" before use
    soc: ti: knav_qmss: fix reference leak in knav_queue_probe
    soc: ti: Fix reference imbalance in knav_dma_probe
    drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
    soc: qcom: initialize local variable
    arm64: dts: qcom: sm8250: correct compatible for sm8250-mtp
    arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias
    Input: omap4-keypad - fix runtime PM error handling
    clk: meson: Kconfig: fix dependency for G12A
    staging: mfd: hi6421-spmi-pmic: fix error return code in hi6421_spmi_pmic_probe()
    ath11k: Fix the rx_filter flag setting for peer rssi stats
    RDMA/cxgb4: Validate the number of CQEs
    soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute
    pinctrl: sunxi: fix irq bank map for the Allwinner A100 pin controller
    memstick: fix a double-free bug in memstick_check
    ARM: dts: at91: sam9x60: add pincontrol for USB Host
    ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
    ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
    mmc: pxamci: Fix error return code in pxamci_probe
    brcmfmac: fix error return code in brcmf_cfg80211_connect()
    orinoco: Move context allocation after processing the skb
    qtnfmac: fix error return code in qtnf_pcie_probe()
    rsi: fix error return code in rsi_reset_card()
    cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
    dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
    arm64: dts: qcom: sdm845: Limit ipa iommu streams
    leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata()
    leds: lp50xx: Fix an error handling path in 'lp50xx_probe_dt()'
    leds: turris-omnia: check for LED_COLOR_ID_RGB instead LED_COLOR_ID_MULTI
    arm64: tegra: Fix DT binding for IO High Voltage entry
    RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind
    soundwire: qcom: Fix build failure when slimbus is module
    drm/imx/dcss: fix rotations for Vivante tiled formats
    media: siano: fix memory leak of debugfs members in smsdvb_hotplug
    platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
    platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
    arm64: dts: qcom: sc7180: limit IPA iommu streams
    RDMA/hns: Only record vlan info for HIP08
    RDMA/hns: Fix missing fields in address vector
    RDMA/hns: Avoid setting loopback indicator when smac is same as dmac
    serial: 8250-mtk: Fix reference leak in mtk8250_probe
    samples: bpf: Fix lwt_len_hist reusing previous BPF map
    media: imx214: Fix stop streaming
    mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
    media: max2175: fix max2175_set_csm_mode() error code
    slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
    RDMA/core: Track device memory MRs
    drm/mediatek: Use correct aliases name for ovl
    HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
    ARM: dts: Remove non-existent i2c1 from 98dx3236
    arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name
    power: supply: bq25890: Use the correct range for IILIM register
    arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
    power: supply: max17042_battery: Fix current_{avg,now} hiding with no current sense
    power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
    power: supply: bq24190_charger: fix reference leak
    genirq/irqdomain: Don't try to free an interrupt that has no mapping
    arm64: dts: ls1028a: fix ENETC PTP clock input
    arm64: dts: ls1028a: fix FlexSPI clock input
    arm64: dts: freescale: sl28: combine SPI MTD partitions
    phy: tegra: xusb: Fix usb_phy device driver field
    arm64: dts: qcom: c630: Polish i2c-hid devices
    arm64: dts: qcom: c630: Fix pinctrl pins properties
    PCI: Bounds-check command-line resource alignment requests
    PCI: Fix overflow in command-line resource alignment requests
    PCI: iproc: Fix out-of-bound array accesses
    PCI: iproc: Invalidate correct PAXB inbound windows
    arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
    arm64: dts: meson-sm1: fix typo in opp table
    soc: amlogic: canvas: add missing put_device() call in meson_canvas_get()
    scsi: hisi_sas: Fix up probe error handling for v3 hw
    scsi: pm80xx: Do not sleep in atomic context
    spi: spi-fsl-dspi: Use max_native_cs instead of num_chipselect to set SPI_MCR
    ARM: dts: at91: at91sam9rl: fix ADC triggers
    RDMA/hns: Fix 0-length sge calculation error
    RDMA/hns: Bugfix for calculation of extended sge
    mailbox: arm_mhu_db: Fix mhu_db_shutdown by replacing kfree with devm_kfree
    soundwire: master: use pm_runtime_set_active() on add
    platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
    ASoC: Intel: Boards: tgl_max98373: update TDM slot_width
    media: max9271: Fix GPIO enable/disable
    media: rdacm20: Enable GPIO1 explicitly
    media: i2c: imx219: Selection compliance fixes
    ath11k: Don't cast ath11k_skb_cb to ieee80211_tx_info.control
    ath11k: Reset ath11k_skb_cb before setting new flags
    ath11k: Fix an error handling path
    ath10k: Fix the parsing error in service available event
    ath10k: Fix an error handling path
    ath10k: Release some resources in an error handling path
    SUNRPC: rpc_wake_up() should wake up tasks in the correct order
    NFSv4.2: condition READDIR's mask for security label based on LSM state
    SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
    NFSv4: Fix the alignment of page data in the getdeviceinfo reply
    net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs'
    lockd: don't use interval-based rebinding over TCP
    NFS: switch nfsiod to be an UNBOUND workqueue.
    selftests/seccomp: Update kernel config
    vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable
    f2fs: fix double free of unicode map
    media: tvp5150: Fix wrong return value of tvp5150_parse_dt()
    media: saa7146: fix array overflow in vidioc_s_audio()
    powerpc/perf: Fix crash with is_sier_available when pmu is not set
    powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S
    powerpc/xmon: Fix build failure for 8xx
    powerpc/perf: Fix to update radix_scope_qual in power10
    powerpc/perf: Update the PMU group constraints for l2l3 events in power10
    powerpc/perf: Fix the PMU group constraints for threshold events in power10
    clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path
    clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
    clocksource/drivers/ingenic: Fix section mismatch
    clocksource/drivers/riscv: Make RISCV_TIMER depends on RISCV_SBI
    arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE
    iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context
    libbpf: Sanitise map names before pinning
    ARM: dts: at91: sam9x60ek: remove bypass property
    ARM: dts: at91: sama5d2: map securam as device
    scripts: kernel-doc: fix parsing function-like typedefs
    bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address()
    selftests/bpf: Fix invalid use of strncat in test_sockmap
    pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
    soc: rockchip: io-domain: Fix error return code in rockchip_iodomain_probe()
    arm64: dts: rockchip: Fix UART pull-ups on rk3328
    memstick: r592: Fix error return in r592_probe()
    MIPS: Don't round up kernel sections size for memblock_add()
    mt76: mt7663s: fix a possible ple quota underflow
    mt76: mt7915: set fops_sta_stats.owner to THIS_MODULE
    mt76: set fops_tx_stats.owner to THIS_MODULE
    mt76: dma: fix possible deadlock running mt76_dma_cleanup
    net/mlx5: Properly convey driver version to firmware
    mt76: fix memory leak if device probing fails
    mt76: fix tkip configuration for mt7615/7663 devices
    ASoC: jz4740-i2s: add missed checks for clk_get()
    ASoC: q6afe-clocks: Add missing parent clock rate
    dm ioctl: fix error return code in target_message
    ASoC: cros_ec_codec: fix uninitialized memory read
    ASoC: atmel: mchp-spdifrx needs COMMON_CLK
    ASoC: qcom: fix QDSP6 dependencies, attempt #3
    phy: mediatek: allow compile-testing the hdmi phy
    phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure
    memory: ti-emif-sram: only build for ARMv7
    memory: jz4780_nemc: Fix potential NULL dereference in jz4780_nemc_probe()
    drm/msm: a5xx: Make preemption reset case reentrant
    drm/msm: add IOMMU_SUPPORT dependency
    clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne
    clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
    cpufreq: ap806: Add missing MODULE_DEVICE_TABLE
    cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
    cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
    cpufreq: qcom: Add missing MODULE_DEVICE_TABLE
    cpufreq: st: Add missing MODULE_DEVICE_TABLE
    cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE
    cpufreq: loongson1: Add missing MODULE_ALIAS
    cpufreq: scpi: Add missing MODULE_ALIAS
    cpufreq: vexpress-spc: Add missing MODULE_ALIAS
    cpufreq: imx: fix NVMEM_IMX_OCOTP dependency
    macintosh/adb-iop: Always wait for reply message from IOP
    macintosh/adb-iop: Send correct poll command
    staging: bcm2835: fix vchiq_mmal dependencies
    staging: greybus: audio: Fix possible leak free widgets in gbaudio_dapm_free_controls
    spi: dw: Fix error return code in dw_spi_bt1_probe()
    Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware()
    Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware()
    Bluetooth: sco: Fix crash when using BT_SNDMTU/BT_RCVMTU option
    block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name
    block/rnbd: fix a null pointer dereference on dev->blk_symlink_name
    Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134
    platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on some HP x360 models
    adm8211: fix error return code in adm8211_probe()
    mtd: spi-nor: sst: fix BPn bits for the SST25VF064C
    mtd: spi-nor: ignore errors in spi_nor_unlock_all()
    mtd: spi-nor: atmel: remove global protection flag
    mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040
    arm64: dts: meson: g12b: odroid-n2: fix PHY deassert timing requirements
    arm64: dts: meson: fix PHY deassert timing requirements
    ARM: dts: meson: fix PHY deassert timing requirements
    arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements
    arm64: dts: meson: g12b: w400: fix PHY deassert timing requirements
    clk: fsl-sai: fix memory leak
    scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
    scsi: pm80xx: Fix error return in pm8001_pci_probe()
    scsi: iscsi: Fix inappropriate use of put_device()
    seq_buf: Avoid type mismatch for seq_buf_init
    scsi: fnic: Fix error return code in fnic_probe()
    platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
    platform/x86: mlx-platform: Fix item counter assignment for MSN2700/ComEx system
    ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel mode
    powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
    powerpc/pseries/hibernation: remove redundant cacheinfo update
    powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK
    drm/mediatek: avoid dereferencing a null hdmi_phy on an error message
    ASoC: amd: change clk_get() to devm_clk_get() and add missed checks
    coresight: remove broken __exit annotations
    ASoC: max98390: Fix error codes in max98390_dsm_init()
    powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S
    usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
    usb: oxu210hp-hcd: Fix memory leak in oxu_create
    speakup: fix uninitialized flush_lock
    nfsd: Fix message level for normal termination
    NFSD: Fix 5 seconds delay when doing inter server copy
    nfs_common: need lock during iterate through the list
    x86/kprobes: Restore BTF if the single-stepping is cancelled
    scsi: qla2xxx: Fix FW initialization error on big endian machines
    scsi: qla2xxx: Fix N2N and NVMe connect retry failure
    platform/chrome: cros_ec_spi: Don't overwrite spi::mode
    misc: pci_endpoint_test: fix return value of error branch
    bus: fsl-mc: add back accidentally dropped error check
    bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
    fsi: Aspeed: Add mutex to protect HW access
    s390/cio: fix use-after-free in ccw_device_destroy_console
    iwlwifi: dbg-tlv: fix old length in is_trig_data_contained()
    iwlwifi: mvm: hook up missing RX handlers
    erofs: avoid using generic_block_bmap
    clk: renesas: r8a779a0: Fix R and OSC clocks
    can: m_can: m_can_config_endisable(): remove double clearing of clock stop request bit
    powerpc/sstep: Emulate prefixed instructions only when CPU_FTR_ARCH_31 is set
    powerpc/sstep: Cover new VSX instructions under CONFIG_VSX
    slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew()
    ALSA: hda/hdmi: fix silent stream for first playback to DP
    RDMA/core: Do not indicate device ready when device enablement fails
    RDMA/uverbs: Fix incorrect variable type
    remoteproc/mediatek: change MT8192 CFG register base
    remoteproc/mtk_scp: surround DT device IDs with CONFIG_OF
    remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable
    remoteproc: qcom: fix reference leak in adsp_start
    remoteproc: qcom: pas: fix error handling in adsp_pds_enable
    remoteproc: k3-dsp: Fix return value check in k3_dsp_rproc_of_get_memories()
    remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio()
    remoteproc/mediatek: unprepare clk if scp_before_load fails
    clk: qcom: gcc-sc7180: Use floor ops for sdcc clks
    clk: tegra: Fix duplicated SE clock entry
    mtd: rawnand: gpmi: fix reference count leak in gpmi ops
    mtd: rawnand: meson: Fix a resource leak in init
    mtd: rawnand: gpmi: Fix the random DMA timeout issue
    samples/bpf: Fix possible hang in xdpsock with multiple threads
    fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode()
    extcon: max77693: Fix modalias string
    crypto: atmel-i2c - select CONFIG_BITREVERSE
    mac80211: don't set set TDLS STA bandwidth wider than possible
    mac80211: fix a mistake check for rx_stats update
    ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
    irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
    irqchip/ti-sci-inta: Fix printing of inta id on probe success
    irqchip/ti-sci-intr: Fix freeing of irqs
    dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt is not 0
    RDMA/hns: Limit the length of data copied between kernel and userspace
    RDMA/hns: Normalization the judgment of some features
    RDMA/hns: Do shift on traffic class when using RoCEv2
    gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask
    ath11k: Fix incorrect tlvs in scan start command
    irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling
    watchdog: armada_37xx: Add missing dependency on HAS_IOMEM
    watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
    watchdog: sprd: remove watchdog disable from resume fail path
    watchdog: sprd: check busy bit before new loading rather than after that
    watchdog: Fix potential dereferencing of null pointer
    ubifs: Fix error return code in ubifs_init_authentication()
    um: Monitor error events in IRQ controller
    um: tty: Fix handling of close in tty lines
    um: chan_xterm: Fix fd leak
    sunrpc: fix xs_read_xdr_buf for partial pages receive
    RDMA/mlx5: Fix MR cache memory leak
    RDMA/cma: Don't overwrite sgid_attr after device is released
    nfc: s3fwrn5: Release the nfc firmware
    drm: mxsfb: Silence -EPROBE_DEFER while waiting for bridge
    powerpc/perf: Fix Threshold Event Counter Multiplier width for P10
    powerpc/ps3: use dma_mapping_error()
    perf test: Fix metric parsing test
    drm/amdgpu: fix regression in vbios reservation handling on headless
    mm/gup: reorganize internal_get_user_pages_fast()
    mm/gup: prevent gup_fast from racing with COW during fork
    mm/gup: combine put_compound_head() and unpin_user_page()
    mm: memcg/slab: fix return of child memcg objcg for root memcg
    mm: memcg/slab: fix use after free in obj_cgroup_charge
    mm/rmap: always do TTU_IGNORE_ACCESS
    sparc: fix handling of page table constructor failure
    mm/vmalloc: Fix unlock order in s_stop()
    mm/vmalloc.c: fix kasan shadow poisoning size
    mm,memory_failure: always pin the page in madvise_inject_error
    hugetlb: fix an error code in hugetlb_reserve_pages()
    mm: don't wake kswapd prematurely when watermark boosting is disabled
    proc: fix lookup in /proc/net subdirectories after setns(2)
    checkpatch: fix unescaped left brace
    s390/test_unwind: fix CALL_ON_STACK tests
    lan743x: fix rx_napi_poll/interrupt ping-pong
    ice, xsk: clear the status bits for the next_to_use descriptor
    i40e, xsk: clear the status bits for the next_to_use descriptor
    net: dsa: qca: ar9331: fix sleeping function called from invalid context bug
    dpaa2-eth: fix the size of the mapped SGT buffer
    net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
    net: mscc: ocelot: Fix a resource leak in the error handling path of the probe function
    net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
    block/rnbd-clt: Get rid of warning regarding size argument in strlcpy
    block/rnbd-clt: Fix possible memleak
    NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read()
    net: korina: fix return value
    devlink: use _BITUL() macro instead of BIT() in the UAPI header
    libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
    powerpc/32s: Fix cleanup_cpu_mmu_context() compile bug
    watchdog: qcom: Avoid context switch in restart handler
    watchdog: coh901327: add COMMON_CLK dependency
    clk: ti: Fix memleak in ti_fapll_synth_setup
    pwm: zx: Add missing cleanup in error path
    pwm: lp3943: Dynamically allocate PWM chip base
    pwm: imx27: Fix overflow for bigger periods
    pwm: sun4i: Remove erroneous else branch
    io_uring: cancel only requests of current task
    tools build: Add missing libcap to test-all.bin target
    perf record: Fix memory leak when using '--user-regs=?' to list registers
    qlcnic: Fix error code in probe
    nfp: move indirect block cleanup to flower app stop callback
    vdpa/mlx5: Use write memory barrier after updating CQ index
    virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()
    virtio_net: Fix error code in probe()
    virtio_ring: Fix two use after free bugs
    vhost scsi: fix error return code in vhost_scsi_set_endpoint()
    epoll: check for events when removing a timed out thread from the wait queue
    clk: bcm: dvp: Add MODULE_DEVICE_TABLE()
    clk: at91: sama7g5: fix compilation error
    clk: at91: sam9x60: remove atmel,osc-bypass support
    clk: s2mps11: Fix a resource leak in error handling paths in the probe function
    clk: sunxi-ng: Make sure divider tables have sentinel
    clk: vc5: Use "idt,voltage-microvolt" instead of "idt,voltage-microvolts"
    kconfig: fix return value of do_error_if()
    powerpc/boot: Fix build of dts/fsl
    powerpc/smp: Add __init to init_big_cores()
    ARM: 9044/1: vfp: use undef hook for VFP support detection
    ARM: 9036/1: uncompress: Fix dbgadtb size parameter name
    perf probe: Fix memory leak when synthesizing SDT probes
    io_uring: fix racy IOPOLL flush overflow
    io_uring: cancel reqs shouldn't kill overflow list
    Smack: Handle io_uring kernel thread privileges
    proc mountinfo: make splice available again
    io_uring: fix io_cqring_events()'s noflush
    io_uring: fix racy IOPOLL completions
    io_uring: always let io_iopoll_complete() complete polled io
    vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
    vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU
    media: gspca: Fix memory leak in probe
    io_uring: fix io_wqe->work_list corruption
    io_uring: fix 0-iov read buffer select
    io_uring: hold uring_lock while completing failed polled io in io_wq_submit_work()
    io_uring: fix ignoring xa_store errors
    io_uring: fix double io_uring free
    io_uring: make ctx cancel on exit targeted to actual ctx
    media: sunxi-cir: ensure IR is handled when it is continuous
    media: netup_unidvb: Don't leak SPI master in probe error path
    media: ipu3-cio2: Remove traces of returned buffers
    media: ipu3-cio2: Return actual subdev format
    media: ipu3-cio2: Serialise access to pad format
    media: ipu3-cio2: Validate mbus format in setting subdev format
    media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
    Input: cyapa_gen6 - fix out-of-bounds stack access
    ALSA: hda/ca0132 - Change Input Source enum strings.
    ACPI: NFIT: Fix input validation of bus-family
    PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
    Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
    ACPI: PNP: compare the string length in the matching_id()
    ALSA: hda: Fix regressions on clear and reconfig sysfs
    ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg.
    ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop
    ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
    ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
    ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button
    ALSA: pcm: oss: Fix a few more UBSAN fixes
    ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G
    ALSA: hda/realtek: Add quirk for MSI-GP73
    ALSA: hda/realtek: Apply jack fixup for Quanta NL3
    ALSA: hda/realtek: Remove dummy lineout on Acer TravelMate P648/P658
    ALSA: hda/realtek - Supported Dell fixed type headset
    ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
    ALSA: usb-audio: Disable sample read check if firmware doesn't give back
    ALSA: usb-audio: Add alias entry for ASUS PRIME TRX40 PRO-S
    ALSA: core: memalloc: add page alignment for iram
    s390/smp: perform initial CPU reset also for SMT siblings
    s390/kexec_file: fix diag308 subcode when loading crash kernel
    s390/idle: add missing mt_cycles calculation
    s390/idle: fix accounting with machine checks
    s390/dasd: fix hanging device offline processing
    s390/dasd: prevent inconsistent LCU device data
    s390/dasd: fix list corruption of pavgroup group list
    s390/dasd: fix list corruption of lcu list
    binder: add flag to clear buffer on txn complete
    ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams
    ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS)
    ASoC: AMD Raven/Renoir - fix the PCI probe (PCI revision)
    staging: comedi: mf6x4: Fix AI end-of-conversion detection
    z3fold: simplify freeing slots
    z3fold: stricter locking and more careful reclaim
    perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY
    perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake
    perf/x86/intel/lbr: Fix the return type of get_lbr_cycles()
    powerpc/perf: Exclude kernel samples while counting events in user space.
    cpufreq: intel_pstate: Use most recent guaranteed performance values
    crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
    crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata
    m68k: Fix WARNING splat in pmac_zilog driver
    Documentation: seqlock: s/LOCKTYPE/LOCKNAME/g
    EDAC/i10nm: Use readl() to access MMIO registers
    EDAC/amd64: Fix PCI component registration
    cpuset: fix race between hotplug work and later CPU offline
    dyndbg: fix use before null check
    USB: serial: mos7720: fix parallel-port state restore
    USB: serial: digi_acceleport: fix write-wakeup deadlocks
    USB: serial: keyspan_pda: fix dropped unthrottle interrupts
    USB: serial: keyspan_pda: fix write deadlock
    USB: serial: keyspan_pda: fix stalled writes
    USB: serial: keyspan_pda: fix write-wakeup use-after-free
    USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
    USB: serial: keyspan_pda: fix write unthrottling
    btrfs: do not shorten unpin len for caching block groups
    btrfs: update last_byte_to_unpin in switch_commit_roots
    btrfs: fix race when defragmenting leads to unnecessary IO
    ext4: fix an IS_ERR() vs NULL check
    ext4: fix a memory leak of ext4_free_data
    ext4: fix deadlock with fs freezing and EA inodes
    ext4: don't remount read-only with errors=continue on reboot
    RISC-V: Fix usage of memblock_enforce_memory_limit
    arm64: dts: ti: k3-am65: mark dss as dma-coherent
    arm64: dts: marvell: keep SMMU disabled by default for Armada 7040 and 8040
    KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
    KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits
    KVM: SVM: Remove the call to sev_platform_status() during setup
    iommu/arm-smmu: Allow implementation specific write_s2cr
    iommu/arm-smmu-qcom: Read back stream mappings
    iommu/arm-smmu-qcom: Implement S2CR quirk
    ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
    ARM: dts: at91: sama5d2: fix CAN message ram offset and size
    ARM: tegra: Populate OPP table for Tegra20 Ventana
    xprtrdma: Fix XDRBUF_SPARSE_PAGES support
    powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on syscall too
    powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
    powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
    powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
    powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE
    powerpc/xmon: Change printk() to pr_cont()
    powerpc/8xx: Fix early debug when SMC1 is relocated
    powerpc/mm: Fix verification of MMU_FTR_TYPE_44x
    powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU
    powerpc/powernv/memtrace: Don't leak kernel memory to user space
    powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
    ovl: make ioctl() safe
    ima: Don't modify file descriptor mode on the fly
    um: Remove use of asprinf in umid.c
    um: Fix time-travel mode
    ceph: fix race in concurrent __ceph_remove_cap invocations
    SMB3: avoid confusing warning message on mount to Azure
    SMB3.1.1: remove confusing mount warning when no SPNEGO info on negprot rsp
    SMB3.1.1: do not log warning message if server doesn't populate salt
    ubifs: wbuf: Don't leak kernel memory to flash
    jffs2: Fix GC exit abnormally
    jffs2: Fix ignoring mounting options problem during remounting
    fsnotify: generalize handle_inode_event()
    inotify: convert to handle_inode_event() interface
    fsnotify: fix events reported to watching parent and child
    jfs: Fix array index bounds check in dbAdjTree
    drm/panfrost: Fix job timeout handling
    drm/panfrost: Move the GPU reset bits outside the timeout handler
    platform/x86: mlx-platform: remove an unused variable
    drm/amdgpu: only set DP subconnector type on DP and eDP connectors
    drm/amd/display: Fix memory leaks in S3 resume
    drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
    drm/i915: Fix mismatch between misplaced vma check and vma insert
    iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack
    spi: pxa2xx: Fix use-after-free on unbind
    spi: spi-sh: Fix use-after-free on unbind
    spi: atmel-quadspi: Fix use-after-free on unbind
    spi: spi-mtk-nor: Don't leak SPI master in probe error path
    spi: ar934x: Don't leak SPI master in probe error path
    spi: davinci: Fix use-after-free on unbind
    spi: fsl: fix use of spisel_boot signal on MPC8309
    spi: gpio: Don't leak SPI master in probe error path
    spi: mxic: Don't leak SPI master in probe error path
    spi: npcm-fiu: Disable clock in probe error path
    spi: pic32: Don't leak DMA channels in probe error path
    spi: rb4xx: Don't leak SPI master in probe error path
    spi: rpc-if: Fix use-after-free on unbind
    spi: sc18is602: Don't leak SPI master in probe error path
    spi: spi-geni-qcom: Fix use-after-free on unbind
    spi: spi-qcom-qspi: Fix use-after-free on unbind
    spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
    spi: synquacer: Disable clock in probe error path
    spi: mt7621: Disable clock in probe error path
    spi: mt7621: Don't leak SPI master in probe error path
    spi: atmel-quadspi: Disable clock in probe error path
    spi: atmel-quadspi: Fix AHB memory accesses
    soc: qcom: smp2p: Safely acquire spinlock without IRQs
    mtd: spinand: Fix OOB read
    mtd: parser: cmdline: Fix parsing of part-names with colons
    mtd: core: Fix refcounting for unpartitioned MTDs
    mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
    mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments
    scsi: qla2xxx: Fix crash during driver load on big endian machines
    scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
    scsi: lpfc: Fix scheduling call while in softirq context in lpfc_unreg_rpi
    scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
    openat2: reject RESOLVE_BENEATH|RESOLVE_IN_ROOT
    iio: buffer: Fix demux update
    iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
    iio: imu: st_lsm6dsx: fix edge-trigger interrupts
    iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
    iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
    iio:magnetometer:mag3110: Fix alignment and data leak issues.
    iio:pressure:mpl3115: Force alignment of buffer
    iio:imu:bmi160: Fix too large a buffer.
    iio:imu:bmi160: Fix alignment and data leak issues
    iio:adc:ti-ads124s08: Fix buffer being too long.
    iio:adc:ti-ads124s08: Fix alignment and data leak issues.
    md/cluster: block reshape with remote resync job
    md/cluster: fix deadlock when node is doing resync job
    pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
    clk: ingenic: Fix divider calculation with div tables
    clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
    clk: tegra: Do not return 0 on failure
    counter: microchip-tcb-capture: Fix CMR value check
    device-dax/core: Fix memory leak when rmmod dax.ko
    dma-buf/dma-resv: Respect num_fences when initializing the shared fence list.
    driver: core: Fix list corruption after device_del()
    xen-blkback: set ring->xenblkd to NULL after kthread_stop()
    xen/xenbus: Allow watches discard events before queueing
    xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
    xen/xenbus/xen_bus_type: Support will_handle watch callback
    xen/xenbus: Count pending messages for each watch
    xenbus/xenbus_backend: Disallow pending watch messages
    memory: jz4780_nemc: Fix an error pointer vs NULL check in probe()
    memory: renesas-rpc-if: Fix a node reference leak in rpcif_probe()
    memory: renesas-rpc-if: Return correct value to the caller of rpcif_manual_xfer()
    memory: renesas-rpc-if: Fix unbalanced pm_runtime_enable in rpcif_{enable,disable}_rpm
    libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
    platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
    tracing: Disable ftrace selftests when any tracer is running
    mt76: add back the SUPPORTS_REORDERING_BUFFER flag
    of: fix linker-section match-table corruption
    PCI: Fix pci_slot_release() NULL pointer dereference
    regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x
    remoteproc: sysmon: Ensure remote notification ordering
    thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has changed
    rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
    Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"
    null_blk: Fix zone size initialization
    null_blk: Fail zone append to conventional zones
    drm/edid: fix objtool warning in drm_cvt_modes()
    x86/CPU/AMD: Save AMD NodeId as cpu_die_id
    Linux 5.10.4

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I25209e79d8b9faf5382087955a29b7404bdefe38

    Greg Kroah-Hartman
     
  • commit bf8975837dac156c33a4d15d46602700998cb6dd upstream.

    We hardcode the maximum number of shared fences to 4, instead of
    respecting num_fences. Use a minimum of 4, but more if num_fences
    is higher.

    This seems to have been an oversight when first implementing the
    api.

    Fixes: 04a5faa8cbe5 ("reservation: update api and add some helpers")
    Cc: # v3.17+
    Reported-by: Niranjana Vishwanathapura
    Signed-off-by: Maarten Lankhorst
    Reviewed-by: Thomas Hellström
    Link: https://patchwork.freedesktop.org/patch/msgid/20201124115707.406917-1-maarten.lankhorst@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Maarten Lankhorst
     

24 Dec, 2020

1 commit


23 Dec, 2020

1 commit

  • This patch sets CONFIG_DMABUF_HEAPS_SYSTEM to tristate and exports the
    symbol dma_heap_get_dev() to allow the DMA-BUF system heap to be a
    module.

    This change is intended to allow partners to continue using
    device/SoC-specific optimizations in their system heap implementations
    when they switch from ION to DMA-BUF heaps. The ION system heap was
    built-in and partners were asked to override the system heap ID with
    their own if they wanted to override the GKI system heap. This
    per-vendor approach to override system heap will no longer be possible
    with DMA-BUF heaps since Android S aims to restrict framework access to
    DMA-BUF vendor heaps by only letting it access ABI-defined vendor heaps.

    VTS tests will be created to ensure that the system heap is present
    at /dev/dma_heap/system and behaves as expected of the system heap.

    Bug: 175697666
    Bug: 155218010
    Bug: 172527615
    Change-Id: Iabb24d9aedde308a9b15509781dd0e6b67353e99
    Signed-off-by: Hridya Valsaraju

    Hridya Valsaraju
     

15 Dec, 2020

2 commits

  • This adds a heap that allocates non-contiguous buffers that are
    marked as writecombined, so they are not cached by the CPU.

    This is useful, as most graphics buffers are usually not touched
    by the CPU or only written into once by the CPU. So when mapping
    the buffer over and over between devices, we can skip the CPU
    syncing, which saves a lot of cache management overhead, greatly
    improving performance.

    For folk using ION, there was a ION_FLAG_CACHED flag, which
    signaled if the returned buffer should be CPU cacheable or not.
    With DMA-BUF heaps, we do not yet have such a flag, and by default
    the current heaps (system and cma) produce CPU cachable buffers.
    So for folks transitioning from ION to DMA-BUF Heaps, this fills
    in some of that missing functionality.

    There has been a suggestion to make this functionality a flag
    (DMAHEAP_FLAG_UNCACHED?) on the system heap, similar to how
    ION used the ION_FLAG_CACHED. But I want to make sure an
    _UNCACHED flag would truely be a generic attribute across all
    heaps. So far that has been unclear, so having it as a separate
    heap seemes better for now. (But I'm open to discussion on this
    point!)

    This is a rework of earlier efforts to add a uncached system heap,
    done utilizing the exisitng system heap, adding just a bit of
    logic to handle the uncached case.

    Feedback would be very welcome!

    Many thanks to Liam Mark for his help to get this working.

    Pending opensource users of this code include:
    * AOSP HiKey960 gralloc:
    - https://android-review.googlesource.com/c/device/linaro/hikey/+/1399519
    - Visibly improves performance over the system heap
    * AOSP Codec2 (possibly, needs more review):
    - https://android-review.googlesource.com/c/platform/frameworks/av/+/1360640/17/media/codec2/vndk/C2DmaBufAllocator.cpp#325

    Signed-off-by: John Stultz
    Link: https://lore.kernel.org/lkml/20201110034934.70898-8-john.stultz@linaro.org/
    Bug: 170887642
    Change-Id: I56cb3acf58546c7dfd423a2ce432e3d6d7fd7a69

    John Stultz
     
  • Keep track of the heap device struct.

    This will be useful for special DMA allocations
    and actions.

    Signed-off-by: John Stultz
    Link: https://lore.kernel.org/lkml/20201110034934.70898-7-john.stultz@linaro.org/
    Bug: 170887642
    Change-Id: I55b8df5fd9fd46795a8f0171318895297d2dd379

    John Stultz
     

14 Dec, 2020

2 commits


10 Dec, 2020

5 commits

  • While the system heap can return non-contiguous pages,
    try to allocate larger order pages if possible.

    This will allow slight performance gains and make implementing
    page pooling easier.

    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Brian Starkey
    Signed-off-by: John Stultz

    Bug: 173440990
    (cherry picked from commit d963ab0f15fb0797ddd65b2653f3d65c2d7a08ec
    git: //anongit.freedesktop.org/drm/drm-misc
    tags/drm-misc-next-2020-11-27)
    Link: https://lore.kernel.org/patchwork/patch/1343070/
    Change-Id: Ic30327f6163d2ba727d08bd2dfdcfcff858064dc
    Signed-off-by: John Stultz
    Signed-off-by: Hridya Valsaraju

    John Stultz
     
  • This patch is basically a port of Ørjan Eide's similar patch for ION
    https://lore.kernel.org/lkml/20200414134629.54567-1-orjan.eide@arm.com/

    Only sync the sg-list of dma-buf heap attachment when the attachment
    is actually mapped on the device.

    dma-bufs may be synced at any time. It can be reached from user space
    via DMA_BUF_IOCTL_SYNC, so there are no guarantees from callers on when
    syncs may be attempted, and dma_buf_end_cpu_access() and
    dma_buf_begin_cpu_access() may not be paired.

    Since the sg_list's dma_address isn't set up until the buffer is used
    on the device, and dma_map_sg() is called on it, the dma_address will be
    NULL if sync is attempted on the dma-buf before it's mapped on a device.

    Before v5.0 (commit 55897af63091 ("dma-direct: merge swiotlb_dma_ops
    into the dma_direct code")) this was a problem as the dma-api (at least
    the swiotlb_dma_ops on arm64) would use the potentially invalid
    dma_address. How that failed depended on how the device handled physical
    address 0. If 0 was a valid address to physical ram, that page would get
    flushed a lot, while the actual pages in the buffer would not get synced
    correctly. While if 0 is an invalid physical address it may cause a
    fault and trigger a crash.

    In v5.0 this was incidentally fixed by commit 55897af63091 ("dma-direct:
    merge swiotlb_dma_ops into the dma_direct code"), as this moved the
    dma-api to use the page pointer in the sg_list, and (for Ion buffers at
    least) this will always be valid if the sg_list exists at all.

    But, this issue is re-introduced in v5.3 with
    commit 449fa54d6815 ("dma-direct: correct the physical addr in
    dma_direct_sync_sg_for_cpu/device") moves the dma-api back to the old
    behaviour and picks the dma_address that may be invalid.

    dma-buf core doesn't ensure that the buffer is mapped on the device, and
    thus have a valid sg_list, before calling the exporter's
    begin_cpu_access.

    Logic and commit message originally by: Ørjan Eide

    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Brian Starkey
    Signed-off-by: John Stultz

    Bug: 173440990
    (cherry picked from commit 4c68e499bb9d6d9ec3e18fcb2f68641abb22464a
    git: //anongit.freedesktop.org/drm/drm-misc
    tags/drm-misc-next-2020-11-27)
    Link: https://lore.kernel.org/patchwork/patch/1343071/
    Change-Id: If1c7312e437a8166a7d3e65bcd4c352f46cab718
    Signed-off-by: John Stultz
    Signed-off-by: Hridya Valsaraju

    John Stultz
     
  • The heap-helpers code was not as generic as initially hoped
    and it is now not being used, so remove it from the tree.

    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Brian Starkey
    Signed-off-by: John Stultz
    Bug: 173440990
    (cherry picked from commit 064fae53c068a13987733ef2898d12d93a34545c
    git: //anongit.freedesktop.org/drm/drm-misc
    tags/drm-misc-next-2020-11-27)
    Link: https://lore.kernel.org/patchwork/patch/1343072/
    Change-Id: I34b597fac714dbc7f09868539ae06b5eda7d6a23
    Signed-off-by: John Stultz
    Signed-off-by: Hridya Valsaraju

    John Stultz
     
  • Since the heap-helpers logic ended up not being as generic as
    hoped, move the heap-helpers dma_buf_ops implementations into
    the cma_heap directly.

    This will allow us to remove the heap_helpers code in a following
    patch.

    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Brian Starkey
    Signed-off-by: John Stultz
    Bug: 173440990
    (cherry picked from commit a5d2d29e24be8967ef78a1b1fb2292413e3b3df9
    git: //anongit.freedesktop.org/drm/drm-misc
    tags/drm-misc-next-2020-11-27)
    Link: https://lore.kernel.org/patchwork/patch/1343068/
    Change-Id: I4672138353629a61c67ad7ad8aa03d7ebc6d98ed
    Signed-off-by: John Stultz
    [hridya: patch needed minor rebase to accomodate the kernel allocation
    interface]
    Signed-off-by: Hridya Valsaraju

    John Stultz
     
  • In preparation for some patches to optmize the system
    heap code, rework the dmabuf exporter to utilize sgtables rather
    then pageslists for tracking the associated pages.

    This will allow for large order page allocations, as well as
    more efficient page pooling.

    In doing so, the system heap stops using the heap-helpers logic
    which sadly is not quite as generic as I was hoping it to be, so
    this patch adds heap specific implementations of the dma_buf_ops
    function handlers.

    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Laura Abbott
    Cc: Brian Starkey
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: Sandeep Patil
    Cc: Daniel Mentz
    Cc: Chris Goldsworthy
    Cc: Ørjan Eide
    Cc: Robin Murphy
    Cc: Ezequiel Garcia
    Cc: Simon Ser
    Cc: James Jones
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Brian Starkey
    Signed-off-by: John Stultz
    Bug: 173440990
    (cherry picked from commit 3812957587923ca325308ed9c4a5be5ca935e903
    git: //anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2020-11-27)
    Link: https://lore.kernel.org/patchwork/patch/1343069/
    Change-Id: I69401e169ad766a4a4c46751ffaace51582b5a8c
    Signed-off-by: John Stultz
    [hridya: patch needed minor rebase to accommodate the kernel allocation
    interface]
    Signed-off-by: Hridya Valsaraju

    John Stultz
     

04 Nov, 2020

1 commit

  • Allow loading cma heap as a module instead of just as a
    statically built in heap.

    Since there isn't a good mechanism for dmabuf lifetime tracking
    it isn't safe to allow the heap drivers to be unloaded, so these
    drivers do not implement any module unloading functionality and
    will show up in lsmod as "[permanent]".

    This patch also exports key functions from dmabuf heaps core and
    the heap helper functions so they can be accessed by the module.

    Cc: Laura Abbott
    Cc: Benjamin Gaignard
    Cc: Sumit Semwal
    Cc: Liam Mark
    Cc: Pratik Patel
    Cc: Brian Starkey
    Cc: Andrew F. Davis
    Cc: Andrew Morton
    Cc: Yue Hu
    Cc: Mike Rapoport
    Cc: Chenbo Feng
    Cc: Alistair Strachan
    Cc: Sandeep Patil
    Cc: Hridya Valsaraju
    Cc: dri-devel@lists.freedesktop.org
    Signed-off-by: John Stultz
    Change-Id: I8d4516899d42c0b6e145bde8a0fed1235ae46654
    Bug: 155218010
    Link: https://lore.kernel.org/lkml/20191025234834.28214-3-john.stultz@linaro.org/
    Signed-off-by: Hridya Valsaraju

    John Stultz
     

26 Oct, 2020

2 commits


22 Oct, 2020

1 commit

  • When submitting a cherry-picked version of commit c700bdd2233e
    ("ANDROID: dma-heap: Add proper kref handling on dma-buf heaps")
    from the android-mainline tree, Greg had some feedback that
    tracking the minor number wasn't necessary as it was already
    stored in the heap_devt:
    https://android-review.googlesource.com/c/kernel/common/+/1433176/4#message-b07e73548e082ae85b97c3f3ff889ae4ab6ab09d

    So this patch reworks those changes so we don't need an extra
    minor field in the dma_heap struct.

    Fixes: c700bdd2233e ("ANDROID: dma-heap: Add proper kref handling on dma-buf heaps")
    Signed-off-by: John Stultz
    Change-Id: I5f12e2249a6a02ee02dc19049b7b3577e094b0ce
    Bug: 154341375

    John Stultz
     

16 Oct, 2020

2 commits

  • Pull dma-mapping updates from Christoph Hellwig:

    - rework the non-coherent DMA allocator

    - move private definitions out of

    - lower CMA_ALIGNMENT (Paul Cercueil)

    - remove the omap1 dma address translation in favor of the common code

    - make dma-direct aware of multiple dma offset ranges (Jim Quinlan)

    - support per-node DMA CMA areas (Barry Song)

    - increase the default seg boundary limit (Nicolin Chen)

    - misc fixes (Robin Murphy, Thomas Tai, Xu Wang)

    - various cleanups

    * tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping: (63 commits)
    ARM/ixp4xx: add a missing include of dma-map-ops.h
    dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling
    dma-direct: factor out a dma_direct_alloc_from_pool helper
    dma-direct check for highmem pages in dma_direct_alloc_pages
    dma-mapping: merge into
    dma-mapping: move large parts of to kernel/dma
    dma-mapping: move dma-debug.h to kernel/dma/
    dma-mapping: remove
    dma-mapping: merge into
    dma-contiguous: remove dma_contiguous_set_default
    dma-contiguous: remove dev_set_cma_area
    dma-contiguous: remove dma_declare_contiguous
    dma-mapping: split
    cma: decrease CMA_ALIGNMENT lower limit to 2
    firewire-ohci: use dma_alloc_pages
    dma-iommu: implement ->alloc_noncoherent
    dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
    dma-mapping: add a new dma_alloc_pages API
    dma-mapping: remove dma_cache_sync
    53c700: convert to dma_alloc_noncoherent
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Not a major amount of change, the i915 trees got split into display
    and gt trees to better facilitate higher level review, and there's a
    major refactoring of i915 GEM locking to use more core kernel concepts
    (like ww-mutexes). msm gets per-process pagetables, older AMD SI cards
    get DC support, nouveau got a bump in displayport support with common
    code extraction from i915.

    Outside of drm this contains a couple of patches for hexint
    moduleparams which you've acked, and a virtio common code tree that
    you should also get via it's regular path.

    New driver:
    - Cadence MHDP8546 DisplayPort bridge driver

    core:
    - cross-driver scatterlist cleanups
    - devm_drm conversions
    - remove drm_dev_init
    - devm_drm_dev_alloc conversion

    ttm:
    - lots of refactoring and cleanups

    bridges:
    - chained bridge support in more drivers

    panel:
    - misc new panels

    scheduler:
    - cleanup priority levels

    displayport:
    - refactor i915 code into helpers for nouveau

    i915:
    - split into display and GT trees
    - WW locking refactoring in GEM
    - execbuf2 extension mechanism
    - syncobj timeline support
    - GEN 12 HOBL display powersaving
    - Rocket Lake display additions
    - Disable FBC on Tigerlake
    - Tigerlake Type-C + DP improvements
    - Hotplug interrupt refactoring

    amdgpu:
    - Sienna Cichlid updates
    - Navy Flounder updates
    - DCE6 (SI) support for DC
    - Plane rotation enabled
    - TMZ state info ioctl
    - PCIe DPC recovery support
    - DC interrupt handling refactor
    - OLED panel fixes

    amdkfd:
    - add SMI events for thermal throttling
    - SMI interface events ioctl update
    - process eviction counters

    radeon:
    - move to dma_ for allocations
    - expose sclk via sysfs

    msm:
    - DSI support for sm8150/sm8250
    - per-process GPU pagetable support
    - Displayport support

    mediatek:
    - move HDMI phy driver to PHY
    - convert mtk-dpi to bridge API
    - disable mt2701 tmds

    tegra:
    - bridge support

    exynos:
    - misc cleanups

    vc4:
    - dual display cleanups

    ast:
    - cleanups

    gma500:
    - conversion to GPIOd API

    hisilicon:
    - misc reworks

    ingenic:
    - clock handling and format improvements

    mcde:
    - DSI support

    mgag200:
    - desktop g200 support

    mxsfb:
    - i.MX7 + i.MX8M
    - alpha plane support

    panfrost:
    - devfreq support
    - amlogic SoC support

    ps8640:
    - EDID from eDP retrieval

    tidss:
    - AM65xx YUV workaround

    virtio:
    - virtio-gpu exported resources

    rcar-du:
    - R8A7742, R8A774E1 and R8A77961 support
    - YUV planar format fixes
    - non-visible plane handling
    - VSP device reference count fix
    - Kconfig fix to avoid displaying disabled options in .config"

    * tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm: (1494 commits)
    drm/ingenic: Fix bad revert
    drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init
    drm/amdgpu: Remove warning for virtual_display
    drm/amdgpu: kfd_initialized can be static
    drm/amd/pm: setup APU dpm clock table in SMU HW initialization
    drm/amdgpu: prevent spurious warning
    drm/amdgpu/swsmu: fix ARC build errors
    drm/amd/display: Fix OPTC_DATA_FORMAT programming
    drm/amd/display: Don't allow pstate if no support in blank
    drm/panfrost: increase readl_relaxed_poll_timeout values
    MAINTAINERS: Update entry for st7703 driver after the rename
    Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached"
    drm/amd/display: HDMI remote sink need mode validation for Linux
    drm/amd/display: Change to correct unit on audio rate
    drm/amd/display: Avoid set zero in the requested clk
    drm/amdgpu: align frag_end to covered address space
    drm/amdgpu: fix NULL pointer dereference for Renoir
    drm/vmwgfx: fix regression in thp code due to ttm init refactor.
    drm/amdgpu/swsmu: add interrupt work handler for smu11 parts
    drm/amdgpu/swsmu: add interrupt work function
    ...

    Linus Torvalds
     

06 Oct, 2020

1 commit


27 Sep, 2020

1 commit


23 Sep, 2020

1 commit

  • drm-misc-next for 5.10:

    UAPI Changes:

    Cross-subsystem Changes:
    - virtio: Merged a PR for patches that will affect drm/virtio

    Core Changes:
    - dev: More devm_drm convertions and removal of drm_dev_init
    - atomic: Split out drm_atomic_helper_calc_timestamping_constants of
    drm_atomic_helper_update_legacy_modeset_state
    - ttm: More rework

    Driver Changes:
    - i915: selftests improvements
    - panfrost: support for Amlogic SoC
    - vc4: one fix
    - tree-wide: conversions to devm_drm_dev_alloc,
    - ast: simplifications of the atomic modesetting code
    - panfrost: multiple fixes
    - vc4: multiple fixes
    Signed-off-by: Dave Airlie

    From: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/20200921152956.2gxnsdgxmwhvjyut@gilmour.lan

    Dave Airlie
     

21 Sep, 2020

1 commit

  • NULL pointer dereference is observed while exporting the dmabuf but
    failed to allocate the 'struct file' which results into the dropping of
    the allocated dentry corresponding to this file in the dmabuf fs, which
    is ending up in dma_buf_release() and accessing the uninitialzed
    dentry->d_fsdata.

    Call stack on 5.4 is below:
    dma_buf_release+0x2c/0x254 drivers/dma-buf/dma-buf.c:88
    __dentry_kill+0x294/0x31c fs/dcache.c:584
    dentry_kill fs/dcache.c:673 [inline]
    dput+0x250/0x380 fs/dcache.c:859
    path_put+0x24/0x40 fs/namei.c:485
    alloc_file_pseudo+0x1a4/0x200 fs/file_table.c:235
    dma_buf_getfile drivers/dma-buf/dma-buf.c:473 [inline]
    dma_buf_export+0x25c/0x3ec drivers/dma-buf/dma-buf.c:585

    Fix this by checking for the valid pointer in the dentry->d_fsdata.

    Fixes: 4ab59c3c638c ("dma-buf: Move dma_buf_release() from fops to dentry_ops")
    Cc: [5.7+]
    Signed-off-by: Charan Teja Reddy
    Reviewed-by: Christian König
    Link: https://patchwork.freedesktop.org/patch/391319/
    Signed-off-by: Christian König

    Charan Teja Reddy
     

17 Sep, 2020

2 commits

  • GPU drivers need this in their shrinkers, to be able to throw out
    mmap'ed buffers. Note that we also need dma_resv_lock in shrinkers,
    but that loop is resolved by trylocking in shrinkers.

    So full hierarchy is now (ignore some of the other branches we already
    have primed):

    mmap_read_lock -> dma_resv -> shrinkers -> i_mmap_lock_write

    I hope that's not inconsistent with anything mm or fs does, adding
    relevant people.

    Reviewed-by: Thomas Hellström
    Reviewed-by: Christian König
    Signed-off-by: Daniel Vetter
    Cc: Sumit Semwal
    Cc: "Christian König"
    Cc: linux-media@vger.kernel.org
    Cc: linaro-mm-sig@lists.linaro.org
    Cc: Dave Chinner
    Cc: Qian Cai
    Cc: linux-xfs@vger.kernel.org
    Cc: linux-fsdevel@vger.kernel.org
    Cc: Thomas Hellström (Intel)
    Cc: Andrew Morton
    Cc: Jason Gunthorpe
    Cc: linux-mm@kvack.org
    Cc: linux-rdma@vger.kernel.org
    Cc: Maarten Lankhorst
    Link: https://patchwork.freedesktop.org/patch/msgid/20200728135839.1035515-1-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Please pull a set of fixes for various DRM drivers that finally resolve
    incorrect usage of the scatterlists (struct sg_table nents and orig_nents
    entries), what causes issues when IOMMU is used.

    Signed-off-by: Dave Airlie
    From: Marek Szyprowski
    Link: https://patchwork.freedesktop.org/patch/msgid/20200910080505.24456-1-m.szyprowski@samsung.com

    Dave Airlie
     

15 Sep, 2020

1 commit


14 Sep, 2020

1 commit


10 Sep, 2020

1 commit

  • The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
    returns the number of the created entries in the DMA address space.
    However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
    dma_unmap_sg must be called with the original number of the entries
    passed to the dma_map_sg().

    struct sg_table is a common structure used for describing a non-contiguous
    memory buffer, used commonly in the DRM and graphics subsystems. It
    consists of a scatterlist with memory pages and DMA addresses (sgl entry),
    as well as the number of scatterlist entries: CPU pages (orig_nents entry)
    and DMA mapped pages (nents entry).

    It turned out that it was a common mistake to misuse nents and orig_nents
    entries, calling DMA-mapping functions with a wrong number of entries or
    ignoring the number of mapped entries returned by the dma_map_sg()
    function.

    To avoid such issues, lets use a common dma-mapping wrappers operating
    directly on the struct sg_table objects and use scatterlist page
    iterators where possible. This, almost always, hides references to the
    nents and orig_nents entries, making the code robust, easier to follow
    and copy/paste safe.

    Signed-off-by: Marek Szyprowski
    Acked-by: Gerd Hoffmann

    Marek Szyprowski
     

07 Sep, 2020

1 commit


03 Sep, 2020

2 commits


02 Sep, 2020

1 commit

  • Add @cookie to dma_fence_end_signalling() to prevent kernel-doc
    warning in drivers/dma-buf/dma-fence.c:

    ../drivers/dma-buf/dma-fence.c:291: warning: Function parameter or member 'cookie' not described in 'dma_fence_end_signalling'

    Signed-off-by: Randy Dunlap
    Cc: Sumit Semwal
    Cc: Gustavo Padovan
    Cc: Christian König
    Cc: linux-media@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Acked-by: Christian König
    Link: https://patchwork.freedesktop.org/patch/388527/
    Signed-off-by: Christian König

    Randy Dunlap