Skip to contentSkip to conversation

Linux 6.6.113

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Oct 19, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.6.113 kernel.

All users of the 6.6 kernel series must upgrade.

The updated 6.6.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.6.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/kernel-parameters.txt                   |    3 
 Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml |   15 
 Makefile                                                          |    2 
 arch/arm/mach-omap2/pm33xx-core.c                                 |    6 
 arch/arm64/boot/dts/qcom/msm8916.dtsi                             |    2 
 arch/arm64/boot/dts/qcom/msm8939.dtsi                             |    2 
 arch/arm64/boot/dts/qcom/sdm845.dtsi                              |    4 
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi                         |    2 
 arch/arm64/kernel/cpufeature.c                                    |   10 
 arch/arm64/kernel/mte.c                                           |    3 
 arch/arm64/kernel/probes/kprobes.c                                |    8 
 arch/loongarch/kernel/setup.c                                     |    5 
 arch/parisc/include/uapi/asm/ioctls.h                             |    8 
 arch/parisc/lib/memcpy.c                                          |    1 
 arch/powerpc/platforms/powernv/pci-ioda.c                         |    2 
 arch/powerpc/platforms/pseries/msi.c                              |    2 
 arch/s390/net/bpf_jit.h                                           |   55 -
 arch/s390/net/bpf_jit_comp.c                                      |  161 ++-
 arch/sparc/kernel/of_device_32.c                                  |    1 
 arch/sparc/kernel/of_device_64.c                                  |    1 
 arch/sparc/mm/hugetlbpage.c                                       |   20 
 arch/x86/include/asm/msr-index.h                                  |    1 
 arch/x86/kernel/umip.c                                            |   15 
 arch/x86/kvm/pmu.c                                                |    5 
 arch/x86/kvm/svm/pmu.c                                            |    1 
 arch/x86/kvm/svm/svm.c                                            |   13 
 arch/x86/kvm/x86.c                                                |    2 
 arch/xtensa/platforms/iss/simdisk.c                               |    6 
 block/blk-crypto-fallback.c                                       |    3 
 crypto/essiv.c                                                    |   14 
 drivers/acpi/acpi_dbg.c                                           |   26 
 drivers/acpi/acpi_tad.c                                           |    3 
 drivers/acpi/acpica/evglock.c                                     |    4 
 drivers/acpi/battery.c                                            |   60 -
 drivers/acpi/property.c                                           |  137 ++-
 drivers/bus/mhi/ep/main.c                                         |   37 
 drivers/bus/mhi/host/init.c                                       |    5 
 drivers/char/ipmi/ipmi_kcs_sm.c                                   |   16 
 drivers/char/ipmi/ipmi_msghandler.c                               |  416 ++++------
 drivers/char/tpm/tpm_tis_core.c                                   |    4 
 drivers/clk/at91/clk-peripheral.c                                 |    7 
 drivers/clk/mediatek/clk-mt8195-infra_ao.c                        |    2 
 drivers/clk/mediatek/clk-mux.c                                    |    4 
 drivers/clk/nxp/clk-lpc18xx-cgu.c                                 |   20 
 drivers/clk/tegra/clk-bpmp.c                                      |    2 
 drivers/clocksource/clps711x-timer.c                              |   23 
 drivers/cpufreq/intel_pstate.c                                    |    8 
 drivers/cpufreq/tegra186-cpufreq.c                                |    8 
 drivers/crypto/aspeed/aspeed-hace-crypto.c                        |    2 
 drivers/crypto/atmel-tdes.c                                       |    2 
 drivers/crypto/rockchip/rk3288_crypto_ahash.c                     |    2 
 drivers/firmware/meson/meson_sm.c                                 |    7 
 drivers/gpio/gpio-wcd934x.c                                       |    2 
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c                |   21 
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.h                |    4 
 drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_d.h              |    7 
 drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_sh_mask.h        |    2 
 drivers/gpu/drm/nouveau/nouveau_bo.c                              |    2 
 drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c                   |    5 
 drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h              |    8 
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c                           |   17 
 drivers/gpu/drm/vmwgfx/vmwgfx_validation.c                        |    6 
 drivers/iio/adc/xilinx-ams.c                                      |   47 -
 drivers/iio/dac/ad5360.c                                          |    2 
 drivers/iio/dac/ad5421.c                                          |    2 
 drivers/iio/frequency/adf4350.c                                   |   20 
 drivers/iio/imu/inv_icm42600/inv_icm42600_core.c                  |    4 
 drivers/iommu/intel/iommu.c                                       |    2 
 drivers/irqchip/irq-sifive-plic.c                                 |   13 
 drivers/mailbox/zynqmp-ipi-mailbox.c                              |    7 
 drivers/media/i2c/mt9v111.c                                       |    2 
 drivers/media/mc/mc-devnode.c                                     |    6 
 drivers/media/mc/mc-entity.c                                      |    2 
 drivers/media/pci/cx18/cx18-queue.c                               |   13 
 drivers/media/pci/ivtv/ivtv-irq.c                                 |    2 
 drivers/media/pci/ivtv/ivtv-yuv.c                                 |    8 
 drivers/media/platform/qcom/venus/firmware.c                      |    8 
 drivers/media/rc/lirc_dev.c                                       |    9 
 drivers/memory/samsung/exynos-srom.c                              |   10 
 drivers/mfd/intel_soc_pmic_chtdc_ti.c                             |    5 
 drivers/misc/fastrpc.c                                            |   37 
 drivers/mmc/core/sdio.c                                           |    6 
 drivers/mtd/nand/raw/fsmc_nand.c                                  |    6 
 drivers/net/ethernet/freescale/fsl_pq_mdio.c                      |    2 
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c                    |    2 
 drivers/net/wireless/ath/ath11k/core.c                            |    6 
 drivers/net/wireless/ath/ath11k/hal.c                             |   16 
 drivers/net/wireless/ath/ath11k/hal.h                             |    1 
 drivers/net/wireless/mediatek/mt76/mt7921/usb.c                   |    3 
 drivers/nvme/host/pci.c                                           |    2 
 drivers/of/unittest.c                                             |    1 
 drivers/pci/controller/dwc/pci-keystone.c                         |    4 
 drivers/pci/controller/dwc/pcie-tegra194.c                        |   22 
 drivers/pci/controller/pci-tegra.c                                |   27 
 drivers/pci/controller/pcie-rcar-host.c                           |   40 
 drivers/pci/endpoint/functions/pci-epf-test.c                     |   19 
 drivers/pci/iov.c                                                 |    5 
 drivers/pci/pci-driver.c                                          |    1 
 drivers/pci/pci-sysfs.c                                           |   20 
 drivers/pci/pcie/aer.c                                            |   12 
 drivers/pci/pcie/err.c                                            |    8 
 drivers/pinctrl/samsung/pinctrl-samsung.h                         |    4 
 drivers/power/supply/max77976_charger.c                           |   12 
 drivers/pwm/pwm-berlin.c                                          |    4 
 drivers/rtc/interface.c                                           |   27 
 drivers/rtc/rtc-optee.c                                           |    1 
 drivers/rtc/rtc-x1205.c                                           |    2 
 drivers/scsi/hpsa.c                                               |   21 
 drivers/scsi/mvsas/mv_init.c                                      |    2 
 drivers/spi/spi-cadence-quadspi.c                                 |    5 
 drivers/video/fbdev/core/fb_cmdline.c                             |    2 
 drivers/xen/events/events_base.c                                  |   37 
 drivers/xen/manage.c                                              |    3 
 fs/btrfs/export.c                                                 |    8 
 fs/btrfs/extent_io.c                                              |   14 
 fs/cramfs/inode.c                                                 |   11 
 fs/ext4/fsmap.c                                                   |   14 
 fs/ext4/inode.c                                                   |   10 
 fs/ext4/move_extent.c                                             |    2 
 fs/ext4/orphan.c                                                  |   17 
 fs/ext4/xattr.c                                                   |   19 
 fs/file.c                                                         |    5 
 fs/fs-writeback.c                                                 |   32 
 fs/fsopen.c                                                       |   70 -
 fs/minix/inode.c                                                  |    8 
 fs/namei.c                                                        |    8 
 fs/namespace.c                                                    |   11 
 fs/nfsd/lockd.c                                                   |   15 
 fs/nfsd/nfs4proc.c                                                |    2 
 fs/ntfs3/bitmap.c                                                 |    1 
 fs/smb/client/smb1ops.c                                           |   62 +
 fs/smb/client/smb2inode.c                                         |   22 
 fs/smb/server/ksmbd_netlink.h                                     |    5 
 fs/smb/server/server.h                                            |    1 
 fs/smb/server/transport_ipc.c                                     |    3 
 fs/smb/server/transport_tcp.c                                     |   28 
 fs/squashfs/inode.c                                               |   24 
 include/acpi/acpixf.h                                             |    6 
 include/asm-generic/io.h                                          |   98 +-
 include/linux/iio/frequency/adf4350.h                             |    2 
 include/linux/ksm.h                                               |    6 
 include/linux/sched.h                                             |   11 
 include/media/v4l2-subdev.h                                       |   30 
 include/net/netfilter/nf_tables.h                                 |    3 
 include/net/netfilter/nft_fib.h                                   |    4 
 include/net/netfilter/nft_meta.h                                  |    3 
 include/net/netfilter/nft_reject.h                                |    3 
 init/main.c                                                       |   12 
 kernel/bpf/inode.c                                                |    4 
 kernel/fork.c                                                     |    2 
 kernel/pid.c                                                      |    2 
 kernel/rseq.c                                                     |   10 
 kernel/sched/deadline.c                                           |   73 +
 kernel/sys.c                                                      |   22 
 kernel/trace/trace_fprobe.c                                       |   11 
 kernel/trace/trace_kprobe.c                                       |   11 
 kernel/trace/trace_probe.h                                        |    9 
 kernel/trace/trace_uprobe.c                                       |   12 
 lib/crypto/Makefile                                               |    4 
 lib/genalloc.c                                                    |    5 
 mm/damon/vaddr.c                                                  |    8 
 mm/hugetlb.c                                                      |    3 
 mm/page_alloc.c                                                   |    2 
 net/bridge/br_vlan.c                                              |    2 
 net/bridge/netfilter/nft_meta_bridge.c                            |    5 
 net/bridge/netfilter/nft_reject_bridge.c                          |    3 
 net/core/filter.c                                                 |    2 
 net/ipv4/tcp.c                                                    |    5 
 net/ipv4/tcp_input.c                                              |    1 
 net/mptcp/pm.c                                                    |    7 
 net/mptcp/pm_netlink.c                                            |   52 +
 net/mptcp/protocol.h                                              |    8 
 net/netfilter/nf_tables_api.c                                     |    3 
 net/netfilter/nft_compat.c                                        |    6 
 net/netfilter/nft_fib.c                                           |    3 
 net/netfilter/nft_flow_offload.c                                  |    3 
 net/netfilter/nft_fwd_netdev.c                                    |    3 
 net/netfilter/nft_immediate.c                                     |    3 
 net/netfilter/nft_lookup.c                                        |    3 
 net/netfilter/nft_masq.c                                          |    3 
 net/netfilter/nft_meta.c                                          |    6 
 net/netfilter/nft_nat.c                                           |    3 
 net/netfilter/nft_objref.c                                        |   39 
 net/netfilter/nft_osf.c                                           |    3 
 net/netfilter/nft_queue.c                                         |    3 
 net/netfilter/nft_redir.c                                         |    3 
 net/netfilter/nft_reject.c                                        |    3 
 net/netfilter/nft_reject_inet.c                                   |    3 
 net/netfilter/nft_reject_netdev.c                                 |    3 
 net/netfilter/nft_rt.c                                            |    3 
 net/netfilter/nft_socket.c                                        |    3 
 net/netfilter/nft_synproxy.c                                      |    3 
 net/netfilter/nft_tproxy.c                                        |    3 
 net/netfilter/nft_xfrm.c                                          |    3 
 net/sctp/sm_make_chunk.c                                          |    3 
 net/sctp/sm_statefuns.c                                           |    6 
 security/keys/trusted-keys/trusted_tpm1.c                         |    7 
 sound/soc/sof/ipc4-topology.h                                     |    4 
 tools/build/feature/Makefile                                      |    4 
 tools/lib/perf/include/perf/event.h                               |    1 
 tools/perf/builtin-stat.c                                         |   18 
 tools/perf/tests/perf-record.c                                    |    4 
 tools/perf/tests/shell/stat.sh                                    |   29 
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h                 |   18 
 tools/perf/util/arm-spe.c                                         |   34 
 tools/perf/util/evsel.c                                           |   31 
 tools/perf/util/lzma.c                                            |    2 
 tools/perf/util/session.c                                         |    2 
 tools/perf/util/setup.py                                          |    5 
 tools/perf/util/zlib.c                                            |    2 
 tools/testing/selftests/mm/madv_populate.c                        |   21 
 tools/testing/selftests/mm/soft-dirty.c                           |    5 
 tools/testing/selftests/mm/vm_util.c                              |   77 +
 tools/testing/selftests/mm/vm_util.h                              |    1 
 tools/testing/selftests/net/mptcp/mptcp_join.sh                   |   11 
 tools/testing/selftests/rseq/rseq.c                               |    8 
 216 files changed, 1920 insertions(+), 1078 deletions(-)

Aaron Kling (1):
cpufreq: tegra186: Set target frequency for all cpus in policy

Adam Xue (1):
bus: mhi: host: Do not use uninitialized 'dev' pointer in mhi_init_irq_setup()

Ahmet Eray Karadag (1):
ext4: guard against EA inode refcount underflow in xattr update

Aleksa Sarai (1):
fscontext: do not consume log entries when returning -EMSGSIZE

Alex Deucher (1):
drm/amdgpu: Add additional DCE6 SCL registers

Alexandr Sapozhnikov (1):
net/sctp: fix a null dereference in sctp_disposition sctp_sf_do_5_1D_ce()

Alok Tiwari (1):
clk: nxp: Fix pll0 rate check condition in LPC18xx CGU driver

Amir Mohammad Jahangirzad (1):
ACPI: debug: fix signedness issues in read/write helpers

Anderson Nascimento (1):
btrfs: avoid potential out-of-bounds in btrfs_encode_fh()

Andy Shevchenko (2):
mfd: intel_soc_pmic_chtdc_ti: Drop unneeded assignment for cache_type
ACPI: battery: Check for error code from devm_mutex_init() call

AngeloGioacchino Del Regno (1):
clk: mediatek: mt8195-infra_ao: Fix parent for infra_ao_hdmi_26m

Anthony Yznaga (1):
sparc64: fix hugetlb for sun4u

Askar Safin (1):
openat2: don't trigger automounts with RESOLVE_NO_XDEV

Bartosz Golaszewski (1):
gpio: wcd934x: mark the GPIO controller as sleeping

Brian Masney (2):
clk: at91: peripheral: fix return value
clk: nxp: lpc18xx-cgu: convert from round_rate() to determine_rate()

Brian Norris (1):
PCI/sysfs: Ensure devices are powered for config reads

Catalin Marinas (1):
arm64: mte: Do not flag the zero page as PG_mte_tagged

Chen-Yu Tsai (1):
clk: mediatek: clk-mux: Do not pass flags to clk_mux_determine_rate_flags()

Clément Le Goffic (1):
rtc: optee: fix memory leak on driver removal

Corey Minyard (2):
Revert "ipmi: fix msg stack when IPMI is disconnected"
ipmi: Rework user message limit handling

Dan Carpenter (1):
net/mlx4: prevent potential use after free in mlx4_en_do_uc_filter()

Daniel Borkmann (1):

      bpf: Fix metadata_dst leak __bpf_redirect_neigh_v{4,6}

Daniel Tang (1):
ACPI: TAD: Add missing sysfs_remove_group() for ACPI_TAD_RT

Deepanshu Kartikey (1):
ext4: validate ea_ino and size in check_xattrs

Donet Tom (1):
mm/ksm: fix incorrect KSM counter handling in mm_struct during fork

Duoming Zhou (1):
scsi: mvsas: Fix use-after-free bugs in mvs_work_queue

Dzmitry Sankouski (1):
power: supply: max77976_charger: fix constant current reporting

Edward Adam Davis (1):
media: mc: Clear minor number before put device

Ekansh Gupta (1):
misc: fastrpc: Add missing dev_err newlines

Eric Biggers (2):
KEYS: trusted_tpm1: Compare HMAC values in constant time
sctp: Fix MAC comparison to be constant-time

Eric Dumazet (1):

      tcp: take care of zero tp->window_clamp in tcp_set_rcvlowat()

Eric Woudstra (1):
bridge: br_vlan_fill_forward_path_pvid: use br_vlan_group_rcu()

Erick Karanja (1):
net: fsl_pq_mdio: Fix device node reference leak in fsl_pq_mdio_probe

Esben Haabendal (2):
rtc: interface: Ensure alarm irq is enabled when UIE is enabled
rtc: interface: Fix long-standing race when setting alarm

Fedor Pchelkin (1):
clk: tegra: do not overallocate memory for bpmp clocks

Fernando Fernandez Mancera (1):
netfilter: nft_objref: validate objref and objrefmap expressions

Finn Thain (1):
fbdev: Fix logic error in "offb" name match

Florian Westphal (1):
netfilter: nf_tables: drop unused 3rd argument from validate callback ops

Georg Gottleuber (1):
nvme-pci: Add TUXEDO IBS Gen8 to Samsung sleep quirk

Greg Kroah-Hartman (1):

      Linux 6.6.113

Guenter Roeck (1):
ipmi: Fix handling of messages with provided receive message pointer

Gunnar Kudrjavets (1):
tpm_tis: Fix incorrect arguments in tpm_tis_probe_irq_single

Hans de Goede (2):
mfd: intel_soc_pmic_chtdc_ti: Fix invalid regmap-config max_register value
mfd: intel_soc_pmic_chtdc_ti: Set use_single_read regmap_config flag

Haoxiang Li (1):
fs/ntfs3: Fix a resource leak bug in wnd_extend()

Harini T (2):
mailbox: zynqmp-ipi: Remove redundant mbox_controller_unregister() call
mailbox: zynqmp-ipi: Remove dev.parent check in zynqmp_ipi_free_mboxes

Harshit Agarwal (1):
sched/deadline: Fix race in push_dl_task()

Herbert Xu (1):
crypto: essiv - Check ssize for decryption and in-place encryption

Hongbo Li (1):
irqchip/sifive-plic: Make use of __assign_bit()

Huacai Chen (3):
LoongArch: Init acpi_gbl_use_global_lock to false
init: handle bootloader identifier in kernel parameters
ACPICA: Allow to skip Global Lock initialization

Ian Forbes (2):
drm/vmwgfx: Fix Use-after-free in validation drm/vmwgfx: Fix copy-paste typo in validation

Ian Rogers (5):
perf evsel: Avoid container_of on a NULL leader libperf event: Ensure tracing data is multiple of 8 sized perf test: Don't leak workload gopipe in PERF_RECORD_* perf evsel: Ensure the fallback message is always written to perf test stat: Avoid hybrid assumption when virtualized

Ilya Leoshkevich (5):
s390/bpf: Change seen_reg to a mask
s390/bpf: Centralize frame offset calculations s390/bpf: Describe the frame using a struct instead of constants s390/bpf: Write back tail call counter for BPF_PSEUDO_CALL s390/bpf: Write back tail call counter for BPF_TRAMP_F_CALL_ORIG

James Clark (1):
perf test: Add a test for default perf stat command

Jan Kara (4):
ext4: verify orphan file size is not too big
ext4: free orphan info with kvfree
writeback: Avoid softlockup when switching many inodes
writeback: Avoid excessively long inode switching times

Jason Andryuk (3):
xen/events: Cleanup find_virq() return codes xen/events: Return -EEXIST for bound VIRQs xen/events: Update virq_to_irq on migration

Jisheng Zhang (1):
pwm: berlin: Fix wrong register in suspend/resume

Johan Hovold (2):
firmware: meson_sm: fix device leak at probe lib/genalloc: fix device leak in of_gen_pool_get()

John David Anglin (1):
parisc: Remove spurious if statement from raw_copy_from_user()

KaFai Wan (1):
bpf: Avoid RCU context warning when unpinning htab with internal structs

Krzysztof Kozlowski (1):
pinctrl: samsung: Drop unused S3C24xx driver data

Kuniyuki Iwashima (1):
tcp: Don't call reqsk_fastopen_remove() in tcp_conn_request().

Lance Yang (1):
selftests/mm: skip soft-dirty tests when CONFIG_MEM_SOFT_DIRTY is disabled

Laurent Pinchart (1):
media: mc: Fix MUST_CONNECT handling for pads with no links

Leo Yan (6):
perf arm_spe: Correct setting remote access perf arm-spe: Rename the common data source encoding perf arm_spe: Correct memory level for remote access perf session: Fix handling when buffer exceeds 2 GiB tools build: Align warning options with perf perf python: split Clang options when invoking Popen

Li RongQing (1):
mm/hugetlb: early exit from hugetlb_pages_alloc_boot() when max_huge_pages=0

Lichen Liu (1):
fs: Add 'initramfs_options' to set initramfs mount options

Ling Xu (1):
misc: fastrpc: Save actual DMA size in fastrpc_map structure

Linus Walleij (1):
mtd: rawnand: fsmc: Default to autodetect buswidth

Lu Baolu (1):
iommu/vt-d: PRS isn't usable if PDS isn't supported

Lucas Zampieri (1):
irqchip/sifive-plic: Avoid interrupt ID 0 handling during suspend/resume

Lukas Wunner (3):
xen/manage: Fix suspend error path PCI/ERR: Fix uevent on failure to recover PCI/AER: Support errors introduced by PCIe r6.0

Ma Ke (3):
media: lirc: Fix error handling in lirc_register()
of: unittest: Fix device reference count leak in of_unittest_pci_node_verify
sparc: fix error handling in scan_one_device()

Marek Vasut (4):
drm/rcar-du: dsi: Fix 1/2/3 lane support
PCI: tegra: Convert struct tegra_msi mask_lock into raw spinlock
PCI: rcar-host: Drop PMSR spinlock
PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock

Matthieu Baerts (NGI0) (2):
selftests: mptcp: join: validate C-flag + def limit
mptcp: pm: in-kernel: usable client side with C-flag

Miaoqian Lin (2):
ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init
xtensa: simdisk: add input size check in proc_write_simdisk

Michael Hennerich (2):
iio: frequency: adf4350: Fix ADF4350_REG3_12BIT_CLKDIV_MODE
iio: frequency: adf4350: Fix prescaler usage.

Michael Riesch (1):
dt-bindings: phy: rockchip-inno-csi-dphy: make power-domains non-required

Muhammad Usama Anjum (1):
wifi: ath11k: HAL SRNG: don't deinitialize and re-initialize again

Nam Cao (2):
powerpc/powernv/pci: Fix underflow and leak issue powerpc/pseries/msi: Fix potential underflow and leak issue

Namhyung Kim (1):
perf tools: Add fallback for exclude_guest

Namjae Jeon (1):
ksmbd: add max ip connections parameter

Nathan Chancellor (1):
lib/crypto/curve25519-hacl64: Disable KASAN with clang-17 and older

Nick Morrow (1):

      wifi: mt76: mt7921u: Add VID/PID for Netgear A7500

Niklas Cassel (1):
PCI: tegra194: Fix broken tegra_pcie_ep_raise_msi_irq()

Niklas Schnelle (2):
PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV PCI/AER: Fix missing uevent on recovery when a reset is requested

Ojaswin Mujoo (1):
ext4: correctly handle queries for metadata mappings

Oleg Nesterov (1):

      kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths

Olga Kornievskaia (1):
nfsd: nfserr_jukebox in nlm_fopen should lead to a retry

Pali Rohár (1):
cifs: Query EA $LXMOD in cifs_query_path_info() for WSL reparse points

Paulo Alcantara (1):
smb: client: fix missing timestamp updates after utime(2)

Peter Ujfalusi (1):
ASoC: SOF: ipc4-topology: Correct the minimum host DMA buffer size

Phillip Lougher (2):
Squashfs: add additional inode sanity checking
Squashfs: reject negative file sizes in squashfs_read_inode()

Pratyush Yadav (2):
spi: cadence-quadspi: Flush posted register writes before INDAC access
spi: cadence-quadspi: Flush posted register writes before DAC access

Qianfeng Rong (3):
media: i2c: mt9v111: fix incorrect type for ret
iio: dac: ad5360: use int type to store negative error codes
iio: dac: ad5421: use int type to store negative error codes

Qu Wenruo (1):
btrfs: fix the incorrect max_bytes value for find_lock_delalloc_range()

Rafael J. Wysocki (6):
ACPI: property: Fix buffer properties extraction for subnodes
cpufreq: intel_pstate: Fix object lifecycle issue in update_qos_request()
ACPI: battery: Add synchronization between interface updates
ACPI: property: Disregard references in data-only subnode lists
ACPI: property: Add code comments explaining what is going on
ACPI: property: Do not pass NULL handles to acpi_attach_data()

Rex Chen (1):
mmc: core: SPI mode remove cmd7

Rob Herring (Arm) (1):
rtc: x1205: Fix Xicor X1205 vendor prefix

Sam James (1):
parisc: don't reference obsolete termio struct for TC* constants

Sean Anderson (2):
iio: xilinx-ams: Fix AMS_ALARM_THR_DIRECT_MASK
iio: xilinx-ams: Unmask interrupts after updating alarms

Sean Christopherson (5):
rseq/selftests: Use weak symbol reference, not definition, to link with glibc x86/umip: Check that the instruction opcode is at least two bytes x86/umip: Fix decoding of register forms of 0F 01 (SGDT and SIDT aliases)
KVM: SVM: Skip fastpath emulation on VM-Exit if next RIP isn't valid
KVM: SVM: Emulate PERF_CNTR_GLOBAL_STATUS_SET for PerfMonV2

Sean Nyekjaer (1):
iio: imu: inv_icm42600: Drop redundant pm_runtime reinitialization in resume

SeongJae Park (1):
mm/damon/vaddr: do not repeat pte_offset_map_lock() until success

Shin'ichiro Kawasaki (1):
PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release

Shuhao Fu (1):
drm/nouveau: fix bad ret code in nouveau_bo_move_prep

Siddharth Vadapalli (1):
PCI: keystone: Use devm_request_irq() to free "ks-pcie-error-irq" on exit

Simon Schuster (1):
copy_sighand: Handle architectures where sizeof(unsigned long) < sizeof(u64)

Stephan Gerhold (4):
arm64: dts: qcom: msm8916: Add missing MDSS reset
arm64: dts: qcom: msm8939: Add missing MDSS reset
arm64: dts: qcom: sdm845: Fix slimbam num-channels/ees
media: venus: firmware: Use correct reset sequence for IRIS2

Sumit Kumar (1):
bus: mhi: ep: Fix chained transfer handling in read path

Tetsuo Handa (2):
minixfs: Verify inode mode when loading from disk
cramfs: Verify inode mode when loading from disk

Thadeu Lima de Souza Cascardo (1):
mm/page_alloc: only set ALLOC_HIGHATOMIC for __GPF_HIGH allocations

Thomas Fourier (5):
media: cx18: Add missing check after DMA map
media: pci: ivtv: Add missing check after DMA map
crypto: aspeed - Fix dma_unmap_sg() direction
crypto: atmel - Fix dma_unmap_sg() direction
crypto: rockchip - Fix dma_unmap_sg() nents value

Thomas Gleixner (1):
rseq: Protect event mask against membarrier IPI

Thomas Weißschuh (3):
fs: always return zero on success from replace_fd()
ACPI: battery: allocate driver data through devm_ APIs
ACPI: battery: initialize mutexes through devm_ APIs

Thorsten Blum (2):
scsi: hpsa: Fix potential memory leak in hpsa_big_passthru_ioctl()
NFSD: Fix destination buffer size in nfsd4_ssc_setup_dul()

Tiezhu Yang (1):
LoongArch: Remove CONFIG_ACPI_TABLE_UPGRADE in platform_init()

Timur Kristóf (3):
drm/amd/display: Add missing DCE6 SCL_HORZ_FILTER_INIT* SRIs drm/amd/display: Properly clear SCL_*_FILTER_CONTROL on DCE6 drm/amd/display: Properly disable scaling on DCE6

Tomi Valkeinen (1):
media: v4l2-subdev: Fix alloc failure check in v4l2_subdev_call_state_try()

Varad Gautam (1):
asm-generic/io.h: Skip trace helpers if rwmmio events are disabled

Vibhore Vardhan (1):
arm64: dts: ti: k3-am62a-main: Fix main padcfg length

Vidya Sagar (1):
PCI: tegra194: Handle errors in BPMP response

Wang Jiang (1):
PCI: endpoint: Remove surplus return statement from pci_epf_test_clean_dma_chan()

Yang Shi (1):
arm64: kprobes: call set_memory_rox() for kprobe page

Yongjian Sun (1):
ext4: increase i_disksize to offset + len in ext4_update_disksize_before_punch()

Yu Kuai (1):
blk-crypto: fix missing blktrace bio split events

Yuan Chen (1):
tracing: Fix race condition in kprobe initialization causing NULL pointer dereference

Yunseong Kim (1):
perf util: Fix compression checks returning -1 as bool

Zack Rusin (1):
drm/vmwgfx: Fix a null-ptr access in the cursor snooper

Zhang Yi (1):
ext4: fix an off-by-one issue during moving extents

Zhen Ni (2):
clocksource/drivers/clps711x: Fix resource leaks in error paths
memory: samsung: exynos-srom: Fix of_iomap leak in exynos_srom_probe

gaoxiang17 (1):
pid: Add a judgment for ns null in pid_nr_ns

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +3 -0
index 60d48ebbc2cb..fff3ca50c6c2 100644
@@ -5638,6 +5638,9 @@
 
 	rootflags=	[KNL] Set root filesystem mount option string
 
+	initramfs_options= [KNL]
+                        Specify mount options for for the initramfs mount.
+
 	rootfstype=	[KNL] Set root filesystem type
 
 	rootwait	[KNL] Wait (indefinitely) for root device to show up.
Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml +14 -1
index 5ac994b3c0aa..b304bc5a08c4 100644
@@ -57,11 +57,24 @@ required:
   - clocks
   - clock-names
   - '#phy-cells'
-  - power-domains
   - resets
   - reset-names
   - rockchip,grf
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - rockchip,px30-csi-dphy
+              - rockchip,rk1808-csi-dphy
+              - rockchip,rk3326-csi-dphy
+              - rockchip,rk3368-csi-dphy
+    then:
+      required:
+        - power-domains
+
 additionalProperties: false
 
 examples:
Makefile +1 -1
index 64d76baa0e0c..ab277ff87643 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 6
-SUBLEVEL = 112
+SUBLEVEL = 113
 EXTRAVERSION =
 NAME = Pinguïn Aangedreven
 
arch/arm/mach-omap2/pm33xx-core.c +5 -1
index c907478be196..4abb86dc98fd 100644
@@ -388,12 +388,15 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
 		if (!state_node)
 			break;
 
-		if (!of_device_is_available(state_node))
+		if (!of_device_is_available(state_node)) {
+			of_node_put(state_node);
 			continue;
+		}
 
 		if (i == CPUIDLE_STATE_MAX) {
 			pr_warn("%s: cpuidle states reached max possible\n",
 				__func__);
+			of_node_put(state_node);
 			break;
 		}
 
@@ -403,6 +406,7 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
 			states[state_count].wfi_flags |= WFI_FLAG_WAKE_M3 |
 							 WFI_FLAG_FLUSH_CACHE;
 
+		of_node_put(state_node);
 		state_count++;
 	}
 
arch/arm64/boot/dts/qcom/msm8916.dtsi +2 -0
index 6f5f96853ba1..701e139a9cbd 100644
@@ -1529,6 +1529,8 @@ mdss: display-subsystem@1a00000 {
 
 			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 
+			resets = <&gcc GCC_MDSS_BCR>;
+
 			interrupt-controller;
 			#interrupt-cells = <1>;
 
arch/arm64/boot/dts/qcom/msm8939.dtsi +2 -0
index c844e01f9aa1..86432ed25b23 100644
@@ -1210,6 +1210,8 @@ mdss: display-subsystem@1a00000 {
 
 			power-domains = <&gcc MDSS_GDSC>;
 
+			resets = <&gcc GCC_MDSS_BCR>;
+
 			#address-cells = <1>;
 			#size-cells = <1>;
 			#interrupt-cells = <1>;
arch/arm64/boot/dts/qcom/sdm845.dtsi +2 -2
index 64ea9d73d970..fa91e2036dd5 100644
@@ -5208,11 +5208,11 @@ slimbam: dma-controller@17184000 {
 			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
 			qcom,controlled-remotely;
 			reg = <0 0x17184000 0 0x2a000>;
-			num-channels = <31>;
+			num-channels = <23>;
 			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
 			#dma-cells = <1>;
 			qcom,ee = <1>;
-			qcom,num-ees = <2>;
+			qcom,num-ees = <4>;
 			iommus = <&apps_smmu 0x1806 0x0>;
 		};
 
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +1 -1
index 1497f7c8adfa..dfdc6e659cc4 100644
@@ -185,7 +185,7 @@ secure_proxy_sa3: mailbox@43600000 {
 
 	main_pmx0: pinctrl@f4000 {
 		compatible = "pinctrl-single";
-		reg = <0x00 0xf4000 0x00 0x2ac>;
+		reg = <0x00 0xf4000 0x00 0x25c>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;
 		pinctrl-single,function-mask = <0xffffffff>;
arch/arm64/kernel/cpufeature.c +7 -3
index 2ce9ef9d924a..4561c4a670af 100644
@@ -2174,17 +2174,21 @@ static void bti_enable(const struct arm64_cpu_capabilities *__unused)
 #ifdef CONFIG_ARM64_MTE
 static void cpu_enable_mte(struct arm64_cpu_capabilities const *cap)
 {
+	static bool cleared_zero_page = false;
+
 	sysreg_clear_set(sctlr_el1, 0, SCTLR_ELx_ATA | SCTLR_EL1_ATA0);
 
 	mte_cpu_setup();
 
 	/*
 	 * Clear the tags in the zero page. This needs to be done via the
-	 * linear map which has the Tagged attribute.
+	 * linear map which has the Tagged attribute. Since this page is
+	 * always mapped as pte_special(), set_pte_at() will not attempt to
+	 * clear the tags or set PG_mte_tagged.
 	 */
-	if (try_page_mte_tagging(ZERO_PAGE(0))) {
+	if (!cleared_zero_page) {
+		cleared_zero_page = true;
 		mte_clear_page_tags(lm_alias(empty_zero_page));
-		set_page_mte_tagged(ZERO_PAGE(0));
 	}
 
 	kasan_init_hw_tags_cpu();
arch/arm64/kernel/mte.c +2 -1
index 4edecaac8f91..84ea9c50c076 100644
@@ -428,7 +428,8 @@ static int __access_remote_tags(struct mm_struct *mm, unsigned long addr,
 			put_page(page);
 			break;
 		}
-		WARN_ON_ONCE(!page_mte_tagged(page));
+
+		WARN_ON_ONCE(!page_mte_tagged(page) && !is_zero_page(page));
 
 		/* limit access to the end of the page */
 		offset = offset_in_page(addr);
arch/arm64/kernel/probes/kprobes.c +7 -1
index 70b91a8c6bb3..c0942cce3b68 100644
@@ -131,9 +131,15 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p)
 
 void *alloc_insn_page(void)
 {
-	return __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, VMALLOC_END,
+	void *addr;
+
+	addr = __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, VMALLOC_END,
 			GFP_KERNEL, PAGE_KERNEL_ROX, VM_FLUSH_RESET_PERMS,
 			NUMA_NO_NODE, __builtin_return_address(0));
+	if (!addr)
+		return NULL;
+	set_memory_rox((unsigned long)addr, 1);
+	return addr;
 }
 
 /* arm kprobe: install breakpoint in text */
arch/loongarch/kernel/setup.c +2 -3
index 655dc2b1616f..31be0d00976e 100644
@@ -363,10 +363,9 @@ void __init platform_init(void)
 	arch_reserve_vmcore();
 	arch_parse_crashkernel();
 
-#ifdef CONFIG_ACPI_TABLE_UPGRADE
-	acpi_table_upgrade();
-#endif
 #ifdef CONFIG_ACPI
+	acpi_table_upgrade();
+	acpi_gbl_use_global_lock = false;
 	acpi_gbl_use_default_register_widths = false;
 	acpi_boot_table_init();
 #endif
arch/parisc/include/uapi/asm/ioctls.h +4 -4
index 82d1148c6379..74b4027a4e80 100644
@@ -10,10 +10,10 @@
 #define TCSETS		_IOW('T', 17, struct termios) /* TCSETATTR */
 #define TCSETSW		_IOW('T', 18, struct termios) /* TCSETATTRD */
 #define TCSETSF		_IOW('T', 19, struct termios) /* TCSETATTRF */
-#define TCGETA		_IOR('T', 1, struct termio)
-#define TCSETA		_IOW('T', 2, struct termio)
-#define TCSETAW		_IOW('T', 3, struct termio)
-#define TCSETAF		_IOW('T', 4, struct termio)
+#define TCGETA          0x40125401
+#define TCSETA          0x80125402
+#define TCSETAW         0x80125403
+#define TCSETAF         0x80125404
 #define TCSBRK		_IO('T', 5)
 #define TCXONC		_IO('T', 6)
 #define TCFLSH		_IO('T', 7)
arch/parisc/lib/memcpy.c +0 -1
index 69d65ffab312..03165c82dfdb 100644
@@ -41,7 +41,6 @@ unsigned long raw_copy_from_user(void *dst, const void __user *src,
 	mtsp(get_kernel_space(), SR_TEMP2);
 
 	/* Check region is user accessible */
-	if (start)
 	while (start < end) {
 		if (!prober_user(SR_TEMP1, start)) {
 			newlen = (start - (unsigned long) src);
arch/powerpc/platforms/powernv/pci-ioda.c +1 -1
index 28fac4770073..5337ad8a2e34 100644
@@ -1895,7 +1895,7 @@ static int pnv_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
 	return 0;
 
 out:
-	irq_domain_free_irqs_parent(domain, virq, i - 1);
+	irq_domain_free_irqs_parent(domain, virq, i);
 	msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, nr_irqs);
 	return ret;
 }
arch/powerpc/platforms/pseries/msi.c +1 -1
index fdcf10cd4d12..b53f817fc421 100644
@@ -587,7 +587,7 @@ static int pseries_irq_domain_alloc(struct irq_domain *domain, unsigned int virq
 
 out:
 	/* TODO: handle RTAS cleanup in ->msi_finish() ? */
-	irq_domain_free_irqs_parent(domain, virq, i - 1);
+	irq_domain_free_irqs_parent(domain, virq, i);
 	return ret;
 }
 
arch/s390/net/bpf_jit.h deleted +0 -55

55 lines not on this page · raw message

arch/s390/net/bpf_jit_comp.c +97 -64

380 lines not on this page · raw message

arch/sparc/kernel/of_device_32.c +1 -0
index 06012e68bdca..284a4cafa432 100644
@@ -387,6 +387,7 @@ static struct platform_device * __init scan_one_device(struct device_node *dp,
 
 	if (of_device_register(op)) {
 		printk("%pOF: Could not register of device.\n", dp);
+		put_device(&op->dev);
 		kfree(op);
 		op = NULL;
 	}
arch/sparc/kernel/of_device_64.c +1 -0
index d3842821a5a0..d2cd4f42e0cf 100644
@@ -680,6 +680,7 @@ static struct platform_device * __init scan_one_device(struct device_node *dp,
 
 	if (of_device_register(op)) {
 		printk("%pOF: Could not register of device.\n", dp);
+		put_device(&op->dev);
 		kfree(op);
 		op = NULL;
 	}
arch/sparc/mm/hugetlbpage.c +20 -0
index 8dad5d0995dc..5bf77c07f6b6 100644
@@ -133,6 +133,26 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
 
 static pte_t sun4u_hugepage_shift_to_tte(pte_t entry, unsigned int shift)
 {
+	unsigned long hugepage_size = _PAGE_SZ4MB_4U;
+
+	pte_val(entry) = pte_val(entry) & ~_PAGE_SZALL_4U;
+
+	switch (shift) {
+	case HPAGE_256MB_SHIFT:
+		hugepage_size = _PAGE_SZ256MB_4U;
+		pte_val(entry) |= _PAGE_PMD_HUGE;
+		break;
+	case HPAGE_SHIFT:
+		pte_val(entry) |= _PAGE_PMD_HUGE;
+		break;
+	case HPAGE_64K_SHIFT:
+		hugepage_size = _PAGE_SZ64K_4U;
+		break;
+	default:
+		WARN_ONCE(1, "unsupported hugepage shift=%u\n", shift);
+	}
+
+	pte_val(entry) = pte_val(entry) | hugepage_size;
 	return entry;
 }
 
arch/x86/include/asm/msr-index.h +1 -0
index 723e48b57bd0..425980eacaa8 100644
@@ -661,6 +661,7 @@
 #define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS	0xc0000300
 #define MSR_AMD64_PERF_CNTR_GLOBAL_CTL		0xc0000301
 #define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR	0xc0000302
+#define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET	0xc0000303
 
 /* AMD Last Branch Record MSRs */
 #define MSR_AMD64_LBR_SELECT			0xc000010e
arch/x86/kernel/umip.c +13 -2
index 5a4b21389b1d..d432f3824f0c 100644
@@ -156,15 +156,26 @@ static int identify_insn(struct insn *insn)
 	if (!insn->modrm.nbytes)
 		return -EINVAL;
 
-	/* All the instructions of interest start with 0x0f. */
-	if (insn->opcode.bytes[0] != 0xf)
+	/* The instructions of interest have 2-byte opcodes: 0F 00 or 0F 01. */
+	if (insn->opcode.nbytes < 2 || insn->opcode.bytes[0] != 0xf)
 		return -EINVAL;
 
 	if (insn->opcode.bytes[1] == 0x1) {
 		switch (X86_MODRM_REG(insn->modrm.value)) {
 		case 0:
+			/* The reg form of 0F 01 /0 encodes VMX instructions. */
+			if (X86_MODRM_MOD(insn->modrm.value) == 3)
+				return -EINVAL;
+
 			return UMIP_INST_SGDT;
 		case 1:
+			/*
+			 * The reg form of 0F 01 /1 encodes MONITOR/MWAIT,
+			 * STAC/CLAC, and ENCLS.
+			 */
+			if (X86_MODRM_MOD(insn->modrm.value) == 3)
+				return -EINVAL;
+
 			return UMIP_INST_SIDT;
 		case 4:
 			return UMIP_INST_SMSW;
arch/x86/kvm/pmu.c +5 -0
index da2d82e3a873..f2cd8cfb0ef5 100644
@@ -588,6 +588,7 @@ int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		msr_info->data = pmu->global_ctrl;
 		break;
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 	case MSR_CORE_PERF_GLOBAL_OVF_CTRL:
 		msr_info->data = 0;
 		break;
@@ -649,6 +650,10 @@ int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		if (!msr_info->host_initiated)
 			pmu->global_status &= ~data;
 		break;
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
+		if (!msr_info->host_initiated)
+			pmu->global_status |= data & ~pmu->global_status_mask;
+		break;
 	default:
 		kvm_pmu_mark_pmc_in_use(vcpu, msr_info->index);
 		return static_call(kvm_x86_pmu_set_msr)(vcpu, msr_info);
arch/x86/kvm/svm/pmu.c +1 -0
index 3fd47de14b38..0bad24f763d2 100644
@@ -117,6 +117,7 @@ static bool amd_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_CTL:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 		return pmu->version > 1;
 	default:
 		if (msr > MSR_F15H_PERF_CTR5 &&
arch/x86/kvm/svm/svm.c +11 -2
index 29566e457ec4..0833f2c1a9d6 100644
@@ -4156,11 +4156,20 @@ static int svm_vcpu_pre_run(struct kvm_vcpu *vcpu)
 
 static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu)
 {
+	struct vcpu_svm *svm = to_svm(vcpu);
+
+	/*
+	 * Next RIP must be provided as IRQs are disabled, and accessing guest
+	 * memory to decode the instruction might fault, i.e. might sleep.
+	 */
+	if (!nrips || !svm->vmcb->control.next_rip)
+		return EXIT_FASTPATH_NONE;
+
 	if (is_guest_mode(vcpu))
 		return EXIT_FASTPATH_NONE;
 
-	if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR &&
-	    to_svm(vcpu)->vmcb->control.exit_info_1)
+	if (svm->vmcb->control.exit_code == SVM_EXIT_MSR &&
+	    svm->vmcb->control.exit_info_1)
 		return handle_fastpath_set_msr_irqoff(vcpu);
 
 	return EXIT_FASTPATH_NONE;
arch/x86/kvm/x86.c +2 -0
index 71d60d4e991f..a589a5781e90 100644
@@ -1495,6 +1495,7 @@ static const u32 msrs_to_save_pmu[] = {
 	MSR_AMD64_PERF_CNTR_GLOBAL_CTL,
 	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS,
 	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR,
+	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET,
 };
 
 static u32 msrs_to_save[ARRAY_SIZE(msrs_to_save_base) +
@@ -7194,6 +7195,7 @@ static void kvm_probe_msr_to_save(u32 msr_index)
 	case MSR_AMD64_PERF_CNTR_GLOBAL_CTL:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 		if (!kvm_cpu_cap_has(X86_FEATURE_PERFMON_V2))
 			return;
 		break;
arch/xtensa/platforms/iss/simdisk.c +5 -1
index 178cf96ca10a..f878bbb8b0ac 100644
@@ -230,10 +230,14 @@ static ssize_t proc_read_simdisk(struct file *file, char __user *buf,
 static ssize_t proc_write_simdisk(struct file *file, const char __user *buf,
 			size_t count, loff_t *ppos)
 {
-	char *tmp = memdup_user_nul(buf, count);
+	char *tmp;
 	struct simdisk *dev = pde_data(file_inode(file));
 	int err;
 
+	if (count == 0 || count > PAGE_SIZE)
+		return -EINVAL;
+
+	tmp = memdup_user_nul(buf, count);
 	if (IS_ERR(tmp))
 		return PTR_ERR(tmp);
 
block/blk-crypto-fallback.c +3 -0
index e6468eab2681..7f1a9dba4049 100644
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/random.h>
 #include <linux/scatterlist.h>
+#include <trace/events/block.h>
 
 #include "blk-cgroup.h"
 #include "blk-crypto-internal.h"
@@ -229,7 +230,9 @@ static bool blk_crypto_fallback_split_bio_if_needed(struct bio **bio_ptr)
 			bio->bi_status = BLK_STS_RESOURCE;
 			return false;
 		}
+
 		bio_chain(split_bio, bio);
+		trace_block_split(split_bio, bio->bi_iter.bi_sector);
 		submit_bio_noacct(bio);
 		*bio_ptr = split_bio;
 	}
crypto/essiv.c +6 -8
index f7d4ef4837e5..4dbec116ddc3 100644
@@ -186,9 +186,14 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc)
 	const struct essiv_tfm_ctx *tctx = crypto_aead_ctx(tfm);
 	struct essiv_aead_request_ctx *rctx = aead_request_ctx(req);
 	struct aead_request *subreq = &rctx->aead_req;
+	int ivsize = crypto_aead_ivsize(tfm);
+	int ssize = req->assoclen - ivsize;
 	struct scatterlist *src = req->src;
 	int err;
 
+	if (ssize < 0)
+		return -EINVAL;
+
 	crypto_cipher_encrypt_one(tctx->essiv_cipher, req->iv, req->iv);
 
 	/*
@@ -198,19 +203,12 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc)
 	 */
 	rctx->assoc = NULL;
 	if (req->src == req->dst || !enc) {
-		scatterwalk_map_and_copy(req->iv, req->dst,
-					 req->assoclen - crypto_aead_ivsize(tfm),
-					 crypto_aead_ivsize(tfm), 1);
+		scatterwalk_map_and_copy(req->iv, req->dst, ssize, ivsize, 1);
 	} else {
 		u8 *iv = (u8 *)aead_request_ctx(req) + tctx->ivoffset;
-		int ivsize = crypto_aead_ivsize(tfm);
-		int ssize = req->assoclen - ivsize;
 		struct scatterlist *sg;
 		int nents;
 
-		if (ssize < 0)
-			return -EINVAL;
-
 		nents = sg_nents_for_len(req->src, ssize);
 		if (nents < 0)
 			return -EINVAL;
drivers/acpi/acpi_dbg.c +13 -13
index d50261d05f3a..515b20d0b698 100644
@@ -569,11 +569,11 @@ static int acpi_aml_release(struct inode *inode, struct file *file)
 	return 0;
 }
 
-static int acpi_aml_read_user(char __user *buf, int len)
+static ssize_t acpi_aml_read_user(char __user *buf, size_t len)
 {
-	int ret;
 	struct circ_buf *crc = &acpi_aml_io.out_crc;
-	int n;
+	ssize_t ret;
+	size_t n;
 	char *p;
 
 	ret = acpi_aml_lock_read(crc, ACPI_AML_OUT_USER);
@@ -582,7 +582,7 @@ static int acpi_aml_read_user(char __user *buf, int len)
 	/* sync head before removing logs */
 	smp_rmb();
 	p = &crc->buf[crc->tail];
-	n = min(len, circ_count_to_end(crc));
+	n = min_t(size_t, len, circ_count_to_end(crc));
 	if (copy_to_user(buf, p, n)) {
 		ret = -EFAULT;
 		goto out;
@@ -599,8 +599,8 @@ static int acpi_aml_read_user(char __user *buf, int len)
 static ssize_t acpi_aml_read(struct file *file, char __user *buf,
 			     size_t count, loff_t *ppos)
 {
-	int ret = 0;
-	int size = 0;
+	ssize_t ret = 0;
+	ssize_t size = 0;
 
 	if (!count)
 		return 0;
@@ -639,11 +639,11 @@ static ssize_t acpi_aml_read(struct file *file, char __user *buf,
 	return size > 0 ? size : ret;
 }
 
-static int acpi_aml_write_user(const char __user *buf, int len)
+static ssize_t acpi_aml_write_user(const char __user *buf, size_t len)
 {
-	int ret;
 	struct circ_buf *crc = &acpi_aml_io.in_crc;
-	int n;
+	ssize_t ret;
+	size_t n;
 	char *p;
 
 	ret = acpi_aml_lock_write(crc, ACPI_AML_IN_USER);
@@ -652,7 +652,7 @@ static int acpi_aml_write_user(const char __user *buf, int len)
 	/* sync tail before inserting cmds */
 	smp_mb();
 	p = &crc->buf[crc->head];
-	n = min(len, circ_space_to_end(crc));
+	n = min_t(size_t, len, circ_space_to_end(crc));
 	if (copy_from_user(p, buf, n)) {
 		ret = -EFAULT;
 		goto out;
@@ -663,14 +663,14 @@ static int acpi_aml_write_user(const char __user *buf, int len)
 	ret = n;
 out:
 	acpi_aml_unlock_fifo(ACPI_AML_IN_USER, ret >= 0);
-	return n;
+	return ret;
 }
 
 static ssize_t acpi_aml_write(struct file *file, const char __user *buf,
 			      size_t count, loff_t *ppos)
 {
-	int ret = 0;
-	int size = 0;
+	ssize_t ret = 0;
+	ssize_t size = 0;
 
 	if (!count)
 		return 0;
drivers/acpi/acpi_tad.c +3 -0
index 33c3b16af556..ecba82ac7cd5 100644
@@ -564,6 +564,9 @@ static int acpi_tad_remove(struct platform_device *pdev)
 
 	pm_runtime_get_sync(dev);
 
+	if (dd->capabilities & ACPI_TAD_RT)
+		sysfs_remove_group(&dev->kobj, &acpi_tad_time_attr_group);
+
 	if (dd->capabilities & ACPI_TAD_DC_WAKE)
 		sysfs_remove_group(&dev->kobj, &acpi_tad_dc_attr_group);
 
drivers/acpi/acpica/evglock.c +4 -0
index 989dc01af03f..bc205b330904 100644
@@ -42,6 +42,10 @@ acpi_status acpi_ev_init_global_lock_handler(void)
 		return_ACPI_STATUS(AE_OK);
 	}
 
+	if (!acpi_gbl_use_global_lock) {
+		return_ACPI_STATUS(AE_OK);
+	}
+
 	/* Attempt installation of the global lock handler */
 
 	status = acpi_install_fixed_event_handler(ACPI_EVENT_GLOBAL,
drivers/acpi/battery.c +37 -23

147 lines not on this page · raw message

drivers/acpi/property.c +88 -49

212 lines not on this page · raw message

drivers/bus/mhi/ep/main.c +12 -25
index c48f4d9f2c69..558cfb3a06c5 100644
@@ -387,17 +387,13 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 {
 	struct mhi_ep_chan *mhi_chan = &mhi_cntrl->mhi_chan[ring->ch_id];
 	struct device *dev = &mhi_cntrl->mhi_dev->dev;
-	size_t tr_len, read_offset, write_offset;
+	size_t tr_len, read_offset;
 	struct mhi_ep_buf_info buf_info = {};
 	u32 len = MHI_EP_DEFAULT_MTU;
 	struct mhi_ring_element *el;
-	bool tr_done = false;
 	void *buf_addr;
-	u32 buf_left;
 	int ret;
 
-	buf_left = len;
-
 	do {
 		/* Don't process the transfer ring if the channel is not in RUNNING state */
 		if (mhi_chan->state != MHI_CH_STATE_RUNNING) {
@@ -410,24 +406,23 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 		/* Check if there is data pending to be read from previous read operation */
 		if (mhi_chan->tre_bytes_left) {
 			dev_dbg(dev, "TRE bytes remaining: %u\n", mhi_chan->tre_bytes_left);
-			tr_len = min(buf_left, mhi_chan->tre_bytes_left);
+			tr_len = min(len, mhi_chan->tre_bytes_left);
 		} else {
 			mhi_chan->tre_loc = MHI_TRE_DATA_GET_PTR(el);
 			mhi_chan->tre_size = MHI_TRE_DATA_GET_LEN(el);
 			mhi_chan->tre_bytes_left = mhi_chan->tre_size;
 
-			tr_len = min(buf_left, mhi_chan->tre_size);
+			tr_len = min(len, mhi_chan->tre_size);
 		}
 
 		read_offset = mhi_chan->tre_size - mhi_chan->tre_bytes_left;
-		write_offset = len - buf_left;
 
 		buf_addr = kmem_cache_zalloc(mhi_cntrl->tre_buf_cache, GFP_KERNEL);
 		if (!buf_addr)
 			return -ENOMEM;
 
 		buf_info.host_addr = mhi_chan->tre_loc + read_offset;
-		buf_info.dev_addr = buf_addr + write_offset;
+		buf_info.dev_addr = buf_addr;
 		buf_info.size = tr_len;
 		buf_info.cb = mhi_ep_read_completion;
 		buf_info.cb_buf = buf_addr;
@@ -443,16 +438,12 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 			goto err_free_buf_addr;
 		}
 
-		buf_left -= tr_len;
 		mhi_chan->tre_bytes_left -= tr_len;
 
-		if (!mhi_chan->tre_bytes_left) {
-			if (MHI_TRE_DATA_GET_IEOT(el))
-				tr_done = true;
-
+		if (!mhi_chan->tre_bytes_left)
 			mhi_chan->rd_offset = (mhi_chan->rd_offset + 1) % ring->ring_size;
-		}
-	} while (buf_left && !tr_done);
+	/* Read until the some buffer is left or the ring becomes not empty */
+	} while (!mhi_ep_queue_is_empty(mhi_chan->mhi_dev, DMA_TO_DEVICE));
 
 	return 0;
 
@@ -486,15 +477,11 @@ static int mhi_ep_process_ch_ring(struct mhi_ep_ring *ring)
 		mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
 	} else {
 		/* UL channel */
-		do {
-			ret = mhi_ep_read_channel(mhi_cntrl, ring);
-			if (ret < 0) {
-				dev_err(&mhi_chan->mhi_dev->dev, "Failed to read channel\n");
-				return ret;
-			}
-
-			/* Read until the ring becomes empty */
-		} while (!mhi_ep_queue_is_empty(mhi_chan->mhi_dev, DMA_TO_DEVICE));
+		ret = mhi_ep_read_channel(mhi_cntrl, ring);
+		if (ret < 0) {
+			dev_err(&mhi_chan->mhi_dev->dev, "Failed to read channel\n");
+			return ret;
+		}
 	}
 
 	return 0;
drivers/bus/mhi/host/init.c +2 -3
index cfd17c02fe20..4af748ff5098 100644
@@ -164,7 +164,6 @@ void mhi_deinit_free_irq(struct mhi_controller *mhi_cntrl)
 int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 {
 	struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
-	struct device *dev = &mhi_cntrl->mhi_dev->dev;
 	unsigned long irq_flags = IRQF_SHARED | IRQF_NO_SUSPEND;
 	int i, ret;
 
@@ -191,7 +190,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 			continue;
 
 		if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
-			dev_err(dev, "irq %d not available for event ring\n",
+			dev_err(mhi_cntrl->cntrl_dev, "irq %d not available for event ring\n",
 				mhi_event->irq);
 			ret = -EINVAL;
 			goto error_request;
@@ -202,7 +201,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 				  irq_flags,
 				  "mhi", mhi_event);
 		if (ret) {
-			dev_err(dev, "Error requesting irq:%d for ev:%d\n",
+			dev_err(mhi_cntrl->cntrl_dev, "Error requesting irq:%d for ev:%d\n",
 				mhi_cntrl->irq[mhi_event->irq], i);
 			goto error_request;
 		}
drivers/char/ipmi/ipmi_kcs_sm.c +5 -11
index ecfcb50302f6..efda90dcf5b3 100644
@@ -122,10 +122,10 @@ struct si_sm_data {
 	unsigned long  error0_timeout;
 };
 
-static unsigned int init_kcs_data_with_state(struct si_sm_data *kcs,
-				  struct si_sm_io *io, enum kcs_states state)
+static unsigned int init_kcs_data(struct si_sm_data *kcs,
+				  struct si_sm_io *io)
 {
-	kcs->state = state;
+	kcs->state = KCS_IDLE;
 	kcs->io = io;
 	kcs->write_pos = 0;
 	kcs->write_count = 0;
@@ -140,12 +140,6 @@ static unsigned int init_kcs_data_with_state(struct si_sm_data *kcs,
 	return 2;
 }
 
-static unsigned int init_kcs_data(struct si_sm_data *kcs,
-				  struct si_sm_io *io)
-{
-	return init_kcs_data_with_state(kcs, io, KCS_IDLE);
-}
-
 static inline unsigned char read_status(struct si_sm_data *kcs)
 {
 	return kcs->io->inputb(kcs->io, 1);
@@ -276,7 +270,7 @@ static int start_kcs_transaction(struct si_sm_data *kcs, unsigned char *data,
 	if (size > MAX_KCS_WRITE_SIZE)
 		return IPMI_REQ_LEN_EXCEEDED_ERR;
 
-	if (kcs->state != KCS_IDLE) {
+	if ((kcs->state != KCS_IDLE) && (kcs->state != KCS_HOSED)) {
 		dev_warn(kcs->io->dev, "KCS in invalid state %d\n", kcs->state);
 		return IPMI_NOT_IN_MY_STATE_ERR;
 	}
@@ -501,7 +495,7 @@ static enum si_sm_result kcs_event(struct si_sm_data *kcs, long time)
 	}
 
 	if (kcs->state == KCS_HOSED) {
-		init_kcs_data_with_state(kcs, kcs->io, KCS_ERROR0);
+		init_kcs_data(kcs, kcs->io);
 		return SI_SM_HOSED;
 	}
 
drivers/char/ipmi/ipmi_msghandler.c +200 -216

588 lines not on this page · raw message

drivers/char/tpm/tpm_tis_core.c +2 -2
index c71e61ccb95a..5e6ee5b82b8f 100644
@@ -977,8 +977,8 @@ static int tpm_tis_probe_irq_single(struct tpm_chip *chip, u32 intmask,
 	 * will call disable_irq which undoes all of the above.
 	 */
 	if (!(chip->flags & TPM_CHIP_FLAG_IRQ)) {
-		tpm_tis_write8(priv, original_int_vec,
-			       TPM_INT_VECTOR(priv->locality));
+		tpm_tis_write8(priv, TPM_INT_VECTOR(priv->locality),
+			       original_int_vec);
 		rc = -1;
 	}
 
drivers/clk/at91/clk-peripheral.c +5 -2
index c173a44c800a..629f050a855a 100644
@@ -279,8 +279,11 @@ static int clk_sam9x5_peripheral_determine_rate(struct clk_hw *hw,
 	long best_diff = LONG_MIN;
 	u32 shift;
 
-	if (periph->id < PERIPHERAL_ID_MIN || !periph->range.max)
-		return parent_rate;
+	if (periph->id < PERIPHERAL_ID_MIN || !periph->range.max) {
+		req->rate = parent_rate;
+
+		return 0;
+	}
 
 	/* Fist step: check the available dividers. */
 	for (shift = 0; shift <= PERIPHERAL_MAX_SHIFT; shift++) {
drivers/clk/mediatek/clk-mt8195-infra_ao.c +1 -1
index dfba6eb61ccf..4ecdf9ae0244 100644
@@ -103,7 +103,7 @@ static const struct mtk_gate infra_ao_clks[] = {
 	GATE_INFRA_AO0(CLK_INFRA_AO_CQ_DMA_FPC, "infra_ao_cq_dma_fpc", "fpc", 28),
 	GATE_INFRA_AO0(CLK_INFRA_AO_UART5, "infra_ao_uart5", "top_uart", 29),
 	/* INFRA_AO1 */
-	GATE_INFRA_AO1(CLK_INFRA_AO_HDMI_26M, "infra_ao_hdmi_26m", "clk26m", 0),
+	GATE_INFRA_AO1(CLK_INFRA_AO_HDMI_26M, "infra_ao_hdmi_26m", "top_hdmi_xtal", 0),
 	GATE_INFRA_AO1(CLK_INFRA_AO_SPI0, "infra_ao_spi0", "top_spi", 1),
 	GATE_INFRA_AO1(CLK_INFRA_AO_MSDC0, "infra_ao_msdc0", "top_msdc50_0_hclk", 2),
 	GATE_INFRA_AO1(CLK_INFRA_AO_MSDC1, "infra_ao_msdc1", "top_axi", 4),
drivers/clk/mediatek/clk-mux.c +1 -3
index c93bc7f926e5..359f92df826b 100644
@@ -132,9 +132,7 @@ static int mtk_clk_mux_set_parent_setclr_lock(struct clk_hw *hw, u8 index)
 static int mtk_clk_mux_determine_rate(struct clk_hw *hw,
 				      struct clk_rate_request *req)
 {
-	struct mtk_clk_mux *mux = to_mtk_clk_mux(hw);
-
-	return clk_mux_determine_rate_flags(hw, req, mux->data->flags);
+	return clk_mux_determine_rate_flags(hw, req, 0);
 }
 
 const struct clk_ops mtk_mux_clr_set_upd_ops = {
drivers/clk/nxp/clk-lpc18xx-cgu.c +11 -9
index 69ebf65081b8..bbd7d64038fa 100644
@@ -371,23 +371,25 @@ static unsigned long lpc18xx_pll0_recalc_rate(struct clk_hw *hw,
 	return 0;
 }
 
-static long lpc18xx_pll0_round_rate(struct clk_hw *hw, unsigned long rate,
-				    unsigned long *prate)
+static int lpc18xx_pll0_determine_rate(struct clk_hw *hw,
+				       struct clk_rate_request *req)
 {
 	unsigned long m;
 
-	if (*prate < rate) {
+	if (req->best_parent_rate < req->rate) {
 		pr_warn("%s: pll dividers not supported\n", __func__);
 		return -EINVAL;
 	}
 
-	m = DIV_ROUND_UP_ULL(*prate, rate * 2);
-	if (m <= 0 && m > LPC18XX_PLL0_MSEL_MAX) {
-		pr_warn("%s: unable to support rate %lu\n", __func__, rate);
+	m = DIV_ROUND_UP_ULL(req->best_parent_rate, req->rate * 2);
+	if (m == 0 || m > LPC18XX_PLL0_MSEL_MAX) {
+		pr_warn("%s: unable to support rate %lu\n", __func__, req->rate);
 		return -EINVAL;
 	}
 
-	return 2 * *prate * m;
+	req->rate = 2 * req->best_parent_rate * m;
+
+	return 0;
 }
 
 static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -403,7 +405,7 @@ static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
 	}
 
 	m = DIV_ROUND_UP_ULL(parent_rate, rate * 2);
-	if (m <= 0 && m > LPC18XX_PLL0_MSEL_MAX) {
+	if (m == 0 || m > LPC18XX_PLL0_MSEL_MAX) {
 		pr_warn("%s: unable to support rate %lu\n", __func__, rate);
 		return -EINVAL;
 	}
@@ -444,7 +446,7 @@ static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
 
 static const struct clk_ops lpc18xx_pll0_ops = {
 	.recalc_rate	= lpc18xx_pll0_recalc_rate,
-	.round_rate	= lpc18xx_pll0_round_rate,
+	.determine_rate = lpc18xx_pll0_determine_rate,
 	.set_rate	= lpc18xx_pll0_set_rate,
 };
 
drivers/clk/tegra/clk-bpmp.c +1 -1
index 7bfba0afd778..4ec408c3a26a 100644
@@ -635,7 +635,7 @@ static int tegra_bpmp_register_clocks(struct tegra_bpmp *bpmp,
 
 	bpmp->num_clocks = count;
 
-	bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(struct tegra_bpmp_clk), GFP_KERNEL);
+	bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(*bpmp->clocks), GFP_KERNEL);
 	if (!bpmp->clocks)
 		return -ENOMEM;
 
drivers/clocksource/clps711x-timer.c +16 -7
index e95fdc49c226..bbceb0289d45 100644
@@ -78,24 +78,33 @@ static int __init clps711x_timer_init(struct device_node *np)
 	unsigned int irq = irq_of_parse_and_map(np, 0);
 	struct clk *clock = of_clk_get(np, 0);
 	void __iomem *base = of_iomap(np, 0);
+	int ret = 0;
 
 	if (!base)
 		return -ENOMEM;
-	if (!irq)
-		return -EINVAL;
-	if (IS_ERR(clock))
-		return PTR_ERR(clock);
+	if (!irq) {
+		ret = -EINVAL;
+		goto unmap_io;
+	}
+	if (IS_ERR(clock)) {
+		ret = PTR_ERR(clock);
+		goto unmap_io;
+	}
 
 	switch (of_alias_get_id(np, "timer")) {
 	case CLPS711X_CLKSRC_CLOCKSOURCE:
 		clps711x_clksrc_init(clock, base);
 		break;
 	case CLPS711X_CLKSRC_CLOCKEVENT:
-		return _clps711x_clkevt_init(clock, base, irq);
+		ret =  _clps711x_clkevt_init(clock, base, irq);
+		break;
 	default:
-		return -EINVAL;
+		ret = -EINVAL;
+		break;
 	}
 
-	return 0;
+unmap_io:
+	iounmap(base);
+	return ret;
 }
 TIMER_OF_DECLARE(clps711x, "cirrus,ep7209-timer", clps711x_timer_init);
drivers/cpufreq/intel_pstate.c +5 -3
index ed782c0b48af..60b4e3b608c0 100644
@@ -1341,10 +1341,10 @@ static void update_qos_request(enum freq_qos_req_type type)
 			continue;
 
 		req = policy->driver_data;
-		cpufreq_cpu_put(policy);
-
-		if (!req)
+		if (!req) {
+			cpufreq_cpu_put(policy);
 			continue;
+		}
 
 		if (hwp_active)
 			intel_pstate_get_hwp_cap(cpu);
@@ -1360,6 +1360,8 @@ static void update_qos_request(enum freq_qos_req_type type)
 
 		if (freq_qos_update_request(req, freq) < 0)
 			pr_warn("Failed to update freq constraint: CPU%d\n", i);
+
+		cpufreq_cpu_put(policy);
 	}
 }
 
drivers/cpufreq/tegra186-cpufreq.c +6 -2
index 7b8fcfa55038..39186008afbf 100644
@@ -86,10 +86,14 @@ static int tegra186_cpufreq_set_target(struct cpufreq_policy *policy,
 {
 	struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
 	struct cpufreq_frequency_table *tbl = policy->freq_table + index;
-	unsigned int edvd_offset = data->cpus[policy->cpu].edvd_offset;
+	unsigned int edvd_offset;
 	u32 edvd_val = tbl->driver_data;
+	u32 cpu;
 
-	writel(edvd_val, data->regs + edvd_offset);
+	for_each_cpu(cpu, policy->cpus) {
+		edvd_offset = data->cpus[cpu].edvd_offset;
+		writel(edvd_val, data->regs + edvd_offset);
+	}
 
 	return 0;
 }
drivers/crypto/aspeed/aspeed-hace-crypto.c +1 -1
index f0eddb7854e5..15e843b4854d 100644
@@ -346,7 +346,7 @@ static int aspeed_sk_start_sg(struct aspeed_hace_dev *hace_dev)
 
 	} else {
 		dma_unmap_sg(hace_dev->dev, req->dst, rctx->dst_nents,
-			     DMA_TO_DEVICE);
+			     DMA_FROM_DEVICE);
 		dma_unmap_sg(hace_dev->dev, req->src, rctx->src_nents,
 			     DMA_TO_DEVICE);
 	}
drivers/crypto/atmel-tdes.c +1 -1
index 099b32a10dd7..d234495f1115 100644
@@ -548,7 +548,7 @@ static int atmel_tdes_crypt_start(struct atmel_tdes_dev *dd)
 
 	if (err && (dd->flags & TDES_FLAGS_FAST)) {
 		dma_unmap_sg(dd->dev, dd->in_sg, 1, DMA_TO_DEVICE);
-		dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_TO_DEVICE);
+		dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_FROM_DEVICE);
 	}
 
 	return err;
drivers/crypto/rockchip/rk3288_crypto_ahash.c +1 -1
index 29c9537216fa..8f3406289df4 100644
@@ -252,7 +252,7 @@ static void rk_hash_unprepare(struct crypto_engine *engine, void *breq)
 	struct rk_ahash_rctx *rctx = ahash_request_ctx(areq);
 	struct rk_crypto_info *rkc = rctx->dev;
 
-	dma_unmap_sg(rkc->dev, areq->src, rctx->nrsg, DMA_TO_DEVICE);
+	dma_unmap_sg(rkc->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE);
 }
 
 static int rk_hash_run(struct crypto_engine *engine, void *breq)
drivers/firmware/meson/meson_sm.c +6 -1
index 9a2656d73600..b39f395c077e 100644
@@ -225,11 +225,16 @@ EXPORT_SYMBOL(meson_sm_call_write);
 struct meson_sm_firmware *meson_sm_get(struct device_node *sm_node)
 {
 	struct platform_device *pdev = of_find_device_by_node(sm_node);
+	struct meson_sm_firmware *fw;
 
 	if (!pdev)
 		return NULL;
 
-	return platform_get_drvdata(pdev);
+	fw = platform_get_drvdata(pdev);
+
+	put_device(&pdev->dev);
+
+	return fw;
 }
 EXPORT_SYMBOL_GPL(meson_sm_get);
 
drivers/gpio/gpio-wcd934x.c +1 -1
index cfa7b0a50c8e..03b16b8f639a 100644
@@ -102,7 +102,7 @@ static int wcd_gpio_probe(struct platform_device *pdev)
 	chip->base = -1;
 	chip->ngpio = WCD934X_NPINS;
 	chip->label = dev_name(dev);
-	chip->can_sleep = false;
+	chip->can_sleep = true;
 
 	return devm_gpiochip_add_data(dev, chip, data);
 }
drivers/gpu/drm/amd/display/dc/dce/dce_transform.c +13 -8
index 670d5ab9d998..f97c18267708 100644
@@ -154,10 +154,13 @@ static bool dce60_setup_scaling_configuration(
 	REG_SET(SCL_BYPASS_CONTROL, 0, SCL_BYPASS_MODE, 0);
 
 	if (data->taps.h_taps + data->taps.v_taps <= 2) {
-		/* Set bypass */
-
-		/* DCE6 has no SCL_MODE register, skip scale mode programming */
+		/* Disable scaler functionality */
+		REG_WRITE(SCL_SCALER_ENABLE, 0);
 
+		/* Clear registers that can cause glitches even when the scaler is off */
+		REG_WRITE(SCL_TAP_CONTROL, 0);
+		REG_WRITE(SCL_AUTOMATIC_MODE_CONTROL, 0);
+		REG_WRITE(SCL_F_SHARP_CONTROL, 0);
 		return false;
 	}
 
@@ -165,7 +168,7 @@ static bool dce60_setup_scaling_configuration(
 			SCL_H_NUM_OF_TAPS, data->taps.h_taps - 1,
 			SCL_V_NUM_OF_TAPS, data->taps.v_taps - 1);
 
-	/* DCE6 has no SCL_MODE register, skip scale mode programming */
+	REG_WRITE(SCL_SCALER_ENABLE, 1);
 
 	/* DCE6 has no SCL_BOUNDARY_MODE bit, skip replace out of bound pixels */
 
@@ -502,6 +505,8 @@ static void dce60_transform_set_scaler(
 	REG_SET(DC_LB_MEM_SIZE, 0,
 		DC_LB_MEM_SIZE, xfm_dce->lb_memory_size);
 
+	REG_WRITE(SCL_UPDATE, 0x00010000);
+
 	/* Clear SCL_F_SHARP_CONTROL value to 0 */
 	REG_WRITE(SCL_F_SHARP_CONTROL, 0);
 
@@ -527,8 +532,7 @@ static void dce60_transform_set_scaler(
 		if (coeffs_v != xfm_dce->filter_v || coeffs_h != xfm_dce->filter_h) {
 			/* 4. Program vertical filters */
 			if (xfm_dce->filter_v == NULL)
-				REG_SET(SCL_VERT_FILTER_CONTROL, 0,
-						SCL_V_2TAP_HARDCODE_COEF_EN, 0);
+				REG_WRITE(SCL_VERT_FILTER_CONTROL, 0);
 			program_multi_taps_filter(
 					xfm_dce,
 					data->taps.v_taps,
@@ -542,8 +546,7 @@ static void dce60_transform_set_scaler(
 
 			/* 5. Program horizontal filters */
 			if (xfm_dce->filter_h == NULL)
-				REG_SET(SCL_HORZ_FILTER_CONTROL, 0,
-						SCL_H_2TAP_HARDCODE_COEF_EN, 0);
+				REG_WRITE(SCL_HORZ_FILTER_CONTROL, 0);
 			program_multi_taps_filter(
 					xfm_dce,
 					data->taps.h_taps,
@@ -566,6 +569,8 @@ static void dce60_transform_set_scaler(
 	/* DCE6 has no SCL_COEF_UPDATE_COMPLETE bit to flip to new coefficient memory */
 
 	/* DCE6 DATA_FORMAT register does not support ALPHA_EN */
+
+	REG_WRITE(SCL_UPDATE, 0);
 }
 #endif
 
drivers/gpu/drm/amd/display/dc/dce/dce_transform.h +4 -0
index cbce194ec7b8..eb716e8337e2 100644
@@ -155,6 +155,9 @@
 	SRI(SCL_COEF_RAM_TAP_DATA, SCL, id), \
 	SRI(VIEWPORT_START, SCL, id), \
 	SRI(VIEWPORT_SIZE, SCL, id), \
+	SRI(SCL_SCALER_ENABLE, SCL, id), \
+	SRI(SCL_HORZ_FILTER_INIT_RGB_LUMA, SCL, id), \
+	SRI(SCL_HORZ_FILTER_INIT_CHROMA, SCL, id), \
 	SRI(SCL_HORZ_FILTER_SCALE_RATIO, SCL, id), \
 	SRI(SCL_VERT_FILTER_SCALE_RATIO, SCL, id), \
 	SRI(SCL_VERT_FILTER_INIT, SCL, id), \
@@ -590,6 +593,7 @@ struct dce_transform_registers {
 	uint32_t SCL_VERT_FILTER_SCALE_RATIO;
 	uint32_t SCL_HORZ_FILTER_INIT;
 #if defined(CONFIG_DRM_AMD_DC_SI)
+	uint32_t SCL_SCALER_ENABLE;
 	uint32_t SCL_HORZ_FILTER_INIT_RGB_LUMA;
 	uint32_t SCL_HORZ_FILTER_INIT_CHROMA;
 #endif
drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_d.h +7 -0
index 9de01ae574c0..067eddd9c62d 100644
@@ -4115,6 +4115,7 @@
 #define mmSCL0_SCL_COEF_RAM_CONFLICT_STATUS 0x1B55
 #define mmSCL0_SCL_COEF_RAM_SELECT 0x1B40
 #define mmSCL0_SCL_COEF_RAM_TAP_DATA 0x1B41
+#define mmSCL0_SCL_SCALER_ENABLE 0x1B42
 #define mmSCL0_SCL_CONTROL 0x1B44
 #define mmSCL0_SCL_DEBUG 0x1B6A
 #define mmSCL0_SCL_DEBUG2 0x1B69
@@ -4144,6 +4145,7 @@
 #define mmSCL1_SCL_COEF_RAM_CONFLICT_STATUS 0x1E55
 #define mmSCL1_SCL_COEF_RAM_SELECT 0x1E40
 #define mmSCL1_SCL_COEF_RAM_TAP_DATA 0x1E41
+#define mmSCL1_SCL_SCALER_ENABLE 0x1E42
 #define mmSCL1_SCL_CONTROL 0x1E44
 #define mmSCL1_SCL_DEBUG 0x1E6A
 #define mmSCL1_SCL_DEBUG2 0x1E69
@@ -4173,6 +4175,7 @@
 #define mmSCL2_SCL_COEF_RAM_CONFLICT_STATUS 0x4155
 #define mmSCL2_SCL_COEF_RAM_SELECT 0x4140
 #define mmSCL2_SCL_COEF_RAM_TAP_DATA 0x4141
+#define mmSCL2_SCL_SCALER_ENABLE 0x4142
 #define mmSCL2_SCL_CONTROL 0x4144
 #define mmSCL2_SCL_DEBUG 0x416A
 #define mmSCL2_SCL_DEBUG2 0x4169
@@ -4202,6 +4205,7 @@
 #define mmSCL3_SCL_COEF_RAM_CONFLICT_STATUS 0x4455
 #define mmSCL3_SCL_COEF_RAM_SELECT 0x4440
 #define mmSCL3_SCL_COEF_RAM_TAP_DATA 0x4441
+#define mmSCL3_SCL_SCALER_ENABLE 0x4442
 #define mmSCL3_SCL_CONTROL 0x4444
 #define mmSCL3_SCL_DEBUG 0x446A
 #define mmSCL3_SCL_DEBUG2 0x4469
@@ -4231,6 +4235,7 @@
 #define mmSCL4_SCL_COEF_RAM_CONFLICT_STATUS 0x4755
 #define mmSCL4_SCL_COEF_RAM_SELECT 0x4740
 #define mmSCL4_SCL_COEF_RAM_TAP_DATA 0x4741
+#define mmSCL4_SCL_SCALER_ENABLE 0x4742
 #define mmSCL4_SCL_CONTROL 0x4744
 #define mmSCL4_SCL_DEBUG 0x476A
 #define mmSCL4_SCL_DEBUG2 0x4769
@@ -4260,6 +4265,7 @@
 #define mmSCL5_SCL_COEF_RAM_CONFLICT_STATUS 0x4A55
 #define mmSCL5_SCL_COEF_RAM_SELECT 0x4A40
 #define mmSCL5_SCL_COEF_RAM_TAP_DATA 0x4A41
+#define mmSCL5_SCL_SCALER_ENABLE 0x4A42
 #define mmSCL5_SCL_CONTROL 0x4A44
 #define mmSCL5_SCL_DEBUG 0x4A6A
 #define mmSCL5_SCL_DEBUG2 0x4A69
@@ -4287,6 +4293,7 @@
 #define mmSCL_COEF_RAM_CONFLICT_STATUS 0x1B55
 #define mmSCL_COEF_RAM_SELECT 0x1B40
 #define mmSCL_COEF_RAM_TAP_DATA 0x1B41
+#define mmSCL_SCALER_ENABLE 0x1B42
 #define mmSCL_CONTROL 0x1B44
 #define mmSCL_DEBUG 0x1B6A
 #define mmSCL_DEBUG2 0x1B69
drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_sh_mask.h +2 -0
index bd8085ec54ed..da5596fbfdcb 100644
@@ -8648,6 +8648,8 @@
 #define REGAMMA_LUT_INDEX__REGAMMA_LUT_INDEX__SHIFT 0x00000000
 #define REGAMMA_LUT_WRITE_EN_MASK__REGAMMA_LUT_WRITE_EN_MASK_MASK 0x00000007L
 #define REGAMMA_LUT_WRITE_EN_MASK__REGAMMA_LUT_WRITE_EN_MASK__SHIFT 0x00000000
+#define SCL_SCALER_ENABLE__SCL_SCALE_EN_MASK 0x00000001L
+#define SCL_SCALER_ENABLE__SCL_SCALE_EN__SHIFT 0x00000000
 #define SCL_ALU_CONTROL__SCL_ALU_DISABLE_MASK 0x00000001L
 #define SCL_ALU_CONTROL__SCL_ALU_DISABLE__SHIFT 0x00000000
 #define SCL_BYPASS_CONTROL__SCL_BYPASS_MODE_MASK 0x00000003L
drivers/gpu/drm/nouveau/nouveau_bo.c +1 -1
index 036ee0343972..11f164a15d7c 100644
@@ -836,7 +836,7 @@ nouveau_bo_move_prep(struct nouveau_drm *drm, struct ttm_buffer_object *bo,
 		nvif_vmm_put(vmm, &old_mem->vma[1]);
 		nvif_vmm_put(vmm, &old_mem->vma[0]);
 	}
-	return 0;
+	return ret;
 }
 
 static int
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c +4 -1
index 92f4261305bd..f2ae5d17ea60 100644
@@ -576,7 +576,10 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
 	udelay(10);
 	rcar_mipi_dsi_clr(dsi, CLOCKSET1, CLOCKSET1_UPDATEPLL);
 
-	ppisetr = PPISETR_DLEN_3 | PPISETR_CLEN;
+	rcar_mipi_dsi_clr(dsi, TXSETR, TXSETR_LANECNT_MASK);
+	rcar_mipi_dsi_set(dsi, TXSETR, dsi->lanes - 1);
+
+	ppisetr = ((BIT(dsi->lanes) - 1) & PPISETR_DLEN_MASK) | PPISETR_CLEN;
 	rcar_mipi_dsi_write(dsi, PPISETR, ppisetr);
 
 	rcar_mipi_dsi_set(dsi, PHYSETUP, PHYSETUP_SHUTDOWNZ);
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h +4 -4
index a6b276f1d6ee..a54c7eb4113b 100644
@@ -12,6 +12,9 @@
 #define LINKSR_LPBUSY			(1 << 1)
 #define LINKSR_HSBUSY			(1 << 0)
 
+#define TXSETR				0x100
+#define TXSETR_LANECNT_MASK		(0x3 << 0)
+
 /*
  * Video Mode Register
  */
@@ -80,10 +83,7 @@
  * PHY-Protocol Interface (PPI) Registers
  */
 #define PPISETR				0x700
-#define PPISETR_DLEN_0			(0x1 << 0)
-#define PPISETR_DLEN_1			(0x3 << 0)
-#define PPISETR_DLEN_2			(0x7 << 0)
-#define PPISETR_DLEN_3			(0xf << 0)
+#define PPISETR_DLEN_MASK		(0xf << 0)
 #define PPISETR_CLEN			(1 << 8)
 
 #define PPICLCR				0x710
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +12 -5
index b129ce873af3..b235e7cc41f3 100644
@@ -1514,6 +1514,7 @@ static int vmw_cmd_dma(struct vmw_private *dev_priv,
 		       SVGA3dCmdHeader *header)
 {
 	struct vmw_bo *vmw_bo = NULL;
+	struct vmw_resource *res;
 	struct vmw_surface *srf = NULL;
 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdSurfaceDMA);
 	int ret;
@@ -1549,18 +1550,24 @@ static int vmw_cmd_dma(struct vmw_private *dev_priv,
 
 	dirty = (cmd->body.transfer == SVGA3D_WRITE_HOST_VRAM) ?
 		VMW_RES_DIRTY_SET : 0;
-	ret = vmw_cmd_res_check(dev_priv, sw_context, vmw_res_surface,
-				dirty, user_surface_converter,
-				&cmd->body.host.sid, NULL);
+	ret = vmw_cmd_res_check(dev_priv, sw_context, vmw_res_surface, dirty,
+				user_surface_converter, &cmd->body.host.sid,
+				NULL);
 	if (unlikely(ret != 0)) {
 		if (unlikely(ret != -ERESTARTSYS))
 			VMW_DEBUG_USER("could not find surface for DMA.\n");
 		return ret;
 	}
 
-	srf = vmw_res_to_srf(sw_context->res_cache[vmw_res_surface].res);
+	res = sw_context->res_cache[vmw_res_surface].res;
+	if (!res) {
+		VMW_DEBUG_USER("Invalid DMA surface.\n");
+		return -EINVAL;
+	}
 
-	vmw_kms_cursor_snoop(srf, sw_context->fp->tfile, &vmw_bo->tbo, header);
+	srf = vmw_res_to_srf(res);
+	vmw_kms_cursor_snoop(srf, sw_context->fp->tfile, &vmw_bo->tbo,
+			     header);
 
 	return 0;
 }
drivers/gpu/drm/vmwgfx/vmwgfx_validation.c +4 -2
index aaacbdcbd742..946f166d6fc7 100644
@@ -326,8 +326,10 @@ int vmw_validation_add_resource(struct vmw_validation_context *ctx,
 		hash_add_rcu(ctx->sw_context->res_ht, &node->hash.head, node->hash.key);
 	}
 	node->res = vmw_resource_reference_unless_doomed(res);
-	if (!node->res)
+	if (!node->res) {
+		hash_del_rcu(&node->hash.head);
 		return -ESRCH;
+	}
 
 	node->first_usage = 1;
 	if (!res->dev_priv->has_mob) {
@@ -654,7 +656,7 @@ void vmw_validation_drop_ht(struct vmw_validation_context *ctx)
 		hash_del_rcu(&val->hash.head);
 
 	list_for_each_entry(val, &ctx->resource_ctx_list, head)
-		hash_del_rcu(&entry->hash.head);
+		hash_del_rcu(&val->hash.head);
 
 	ctx->sw_context = NULL;
 }
drivers/iio/adc/xilinx-ams.c +26 -21

73 lines not on this page · raw message

drivers/iio/dac/ad5360.c +1 -1
index e0b7f658d611..cf9cf90cd6e2 100644
@@ -262,7 +262,7 @@ static int ad5360_update_ctrl(struct iio_dev *indio_dev, unsigned int set,
 	unsigned int clr)
 {
 	struct ad5360_state *st = iio_priv(indio_dev);
-	unsigned int ret;
+	int ret;
 
 	mutex_lock(&st->lock);
 
drivers/iio/dac/ad5421.c +1 -1
index 7644acfd879e..9228e3cee1b8 100644
@@ -186,7 +186,7 @@ static int ad5421_update_ctrl(struct iio_dev *indio_dev, unsigned int set,
 	unsigned int clr)
 {
 	struct ad5421_state *st = iio_priv(indio_dev);
-	unsigned int ret;
+	int ret;
 
 	mutex_lock(&st->lock);
 
drivers/iio/frequency/adf4350.c +13 -7
index 4abf80f75ef5..03e75261e891 100644
@@ -143,6 +143,19 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq)
 	if (freq > ADF4350_MAX_OUT_FREQ || freq < st->min_out_freq)
 		return -EINVAL;
 
+	st->r4_rf_div_sel = 0;
+
+	/*
+	 * !\TODO: The below computation is making sure we get a power of 2
+	 * shift (st->r4_rf_div_sel) so that freq becomes higher or equal to
+	 * ADF4350_MIN_VCO_FREQ. This might be simplified with fls()/fls_long()
+	 * and friends.
+	 */
+	while (freq < ADF4350_MIN_VCO_FREQ) {
+		freq <<= 1;
+		st->r4_rf_div_sel++;
+	}
+
 	if (freq > ADF4350_MAX_FREQ_45_PRESC) {
 		prescaler = ADF4350_REG1_PRESCALER;
 		mdiv = 75;
@@ -151,13 +164,6 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq)
 		mdiv = 23;
 	}
 
-	st->r4_rf_div_sel = 0;
-
-	while (freq < ADF4350_MIN_VCO_FREQ) {
-		freq <<= 1;
-		st->r4_rf_div_sel++;
-	}
-
 	/*
 	 * Allow a predefined reference division factor
 	 * if not set, compute our own
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +0 -4
index 91c181bb9286..a1f055014cc6 100644
@@ -747,10 +747,6 @@ static int inv_icm42600_resume(struct device *dev)
 	if (ret)
 		goto out_unlock;
 
-	pm_runtime_disable(dev);
-	pm_runtime_set_active(dev);
-	pm_runtime_enable(dev);
-
 	/* restore sensors state */
 	ret = inv_icm42600_set_pwr_mgmt0(st, st->suspended.gyro,
 					 st->suspended.accel,
drivers/iommu/intel/iommu.c +1 -1
index 88bccdbb0bed..ac7b8fb36db8 100644
@@ -4415,7 +4415,7 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev)
 			}
 
 			if (info->ats_supported && ecap_prs(iommu->ecap) &&
-			    pci_pri_supported(pdev))
+			    ecap_pds(iommu->ecap) && pci_pri_supported(pdev))
 				info->pri_supported = 1;
 		}
 	}
drivers/irqchip/irq-sifive-plic.c +7 -6
index 572899669154..2d20cf9d84ce 100644
@@ -248,11 +248,11 @@ static int plic_irq_suspend(void)
 
 	priv = per_cpu_ptr(&plic_handlers, smp_processor_id())->priv;
 
-	for (i = 0; i < priv->nr_irqs; i++)
-		if (readl(priv->regs + PRIORITY_BASE + i * PRIORITY_PER_ID))
-			__set_bit(i, priv->prio_save);
-		else
-			__clear_bit(i, priv->prio_save);
+	/* irq ID 0 is reserved */
+	for (i = 1; i < priv->nr_irqs; i++) {
+		__assign_bit(i, priv->prio_save,
+			     readl(priv->regs + PRIORITY_BASE + i * PRIORITY_PER_ID));
+	}
 
 	for_each_cpu(cpu, cpu_present_mask) {
 		struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu);
@@ -279,7 +279,8 @@ static void plic_irq_resume(void)
 
 	priv = per_cpu_ptr(&plic_handlers, smp_processor_id())->priv;
 
-	for (i = 0; i < priv->nr_irqs; i++) {
+	/* irq ID 0 is reserved */
+	for (i = 1; i < priv->nr_irqs; i++) {
 		index = BIT_WORD(i);
 		writel((priv->prio_save[index] & BIT_MASK(i)) ? 1 : 0,
 		       priv->regs + PRIORITY_BASE + i * PRIORITY_PER_ID);
drivers/mailbox/zynqmp-ipi-mailbox.c +2 -5
index e4fcac97dbfa..90f248ef2a1f 100644
@@ -616,11 +616,8 @@ static void zynqmp_ipi_free_mboxes(struct zynqmp_ipi_pdata *pdata)
 	i = pdata->num_mboxes;
 	for (; i >= 0; i--) {
 		ipi_mbox = &pdata->ipi_mboxes[i];
-		if (ipi_mbox->dev.parent) {
-			mbox_controller_unregister(&ipi_mbox->mbox);
-			if (device_is_registered(&ipi_mbox->dev))
-				device_unregister(&ipi_mbox->dev);
-		}
+		if (device_is_registered(&ipi_mbox->dev))
+			device_unregister(&ipi_mbox->dev);
 	}
 }
 
drivers/media/i2c/mt9v111.c +1 -1
index 1f7edc0f5b1a..a184fd9fc6f3 100644
@@ -534,8 +534,8 @@ static int mt9v111_calc_frame_rate(struct mt9v111_dev *mt9v111,
 static int mt9v111_hw_config(struct mt9v111_dev *mt9v111)
 {
 	struct i2c_client *c = mt9v111->client;
-	unsigned int ret;
 	u16 outfmtctrl2;
+	int ret;
 
 	/* Force device reset. */
 	ret = __mt9v111_hw_reset(mt9v111);
drivers/media/mc/mc-devnode.c +1 -5
index 94abd042045d..6fd8885f5928 100644
@@ -50,11 +50,6 @@ static void media_devnode_release(struct device *cd)
 {
 	struct media_devnode *devnode = to_media_devnode(cd);
 
-	mutex_lock(&media_devnode_lock);
-	/* Mark device node number as free */
-	clear_bit(devnode->minor, media_devnode_nums);
-	mutex_unlock(&media_devnode_lock);
-
 	/* Release media_devnode and perform other cleanups as needed. */
 	if (devnode->release)
 		devnode->release(devnode);
@@ -283,6 +278,7 @@ void media_devnode_unregister(struct media_devnode *devnode)
 	/* Delete the cdev on this minor as well */
 	cdev_device_del(&devnode->cdev, &devnode->dev);
 	devnode->media_dev = NULL;
+	clear_bit(devnode->minor, media_devnode_nums);
 	mutex_unlock(&media_devnode_lock);
 
 	put_device(&devnode->dev);
drivers/media/mc/mc-entity.c +1 -1
index 951b79ca125c..f885e718524c 100644
@@ -678,7 +678,7 @@ static int media_pipeline_explore_next_link(struct media_pipeline *pipe,
 		 * (already discovered through iterating over links) and pads
 		 * not internally connected.
 		 */
-		if (origin == local || !local->num_links ||
+		if (origin == local || local->num_links ||
 		    !media_entity_has_pad_interdep(origin->entity, origin->index,
 						   local->index))
 			continue;
drivers/media/pci/cx18/cx18-queue.c +10 -3
index 013694bfcb1c..7cbb2d586932 100644
@@ -379,15 +379,22 @@ int cx18_stream_alloc(struct cx18_stream *s)
 			break;
 		}
 
+		buf->dma_handle = dma_map_single(&s->cx->pci_dev->dev,
+						 buf->buf, s->buf_size,
+						 s->dma);
+		if (dma_mapping_error(&s->cx->pci_dev->dev, buf->dma_handle)) {
+			kfree(buf->buf);
+			kfree(mdl);
+			kfree(buf);
+			break;
+		}
+
 		INIT_LIST_HEAD(&mdl->list);
 		INIT_LIST_HEAD(&mdl->buf_list);
 		mdl->id = s->mdl_base_idx; /* a somewhat safe value */
 		cx18_enqueue(s, mdl, &s->q_idle);
 
 		INIT_LIST_HEAD(&buf->list);
-		buf->dma_handle = dma_map_single(&s->cx->pci_dev->dev,
-						 buf->buf, s->buf_size,
-						 s->dma);
 		cx18_buf_sync_for_cpu(s, buf);
 		list_add_tail(&buf->list, &s->buf_pool);
 	}
drivers/media/pci/ivtv/ivtv-irq.c +1 -1
index b7aaa8b4a784..e39bf64c5c71 100644
@@ -351,7 +351,7 @@ void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock)
 
 	/* Insert buffer block for YUV if needed */
 	if (s->type == IVTV_DEC_STREAM_TYPE_YUV && f->offset_y) {
-		if (yi->blanking_dmaptr) {
+		if (yi->blanking_ptr) {
 			s->sg_pending[idx].src = yi->blanking_dmaptr;
 			s->sg_pending[idx].dst = offset;
 			s->sg_pending[idx].size = 720 * 16;
drivers/media/pci/ivtv/ivtv-yuv.c +7 -1
index 2d9274537725..71f040106647 100644
@@ -125,7 +125,7 @@ static int ivtv_yuv_prep_user_dma(struct ivtv *itv, struct ivtv_user_dma *dma,
 	ivtv_udma_fill_sg_array(dma, y_buffer_offset, uv_buffer_offset, y_size);
 
 	/* If we've offset the y plane, ensure top area is blanked */
-	if (f->offset_y && yi->blanking_dmaptr) {
+	if (f->offset_y && yi->blanking_ptr) {
 		dma->SGarray[dma->SG_length].size = cpu_to_le32(720*16);
 		dma->SGarray[dma->SG_length].src = cpu_to_le32(yi->blanking_dmaptr);
 		dma->SGarray[dma->SG_length].dst = cpu_to_le32(IVTV_DECODER_OFFSET + yuv_offset[frame]);
@@ -929,6 +929,12 @@ static void ivtv_yuv_init(struct ivtv *itv)
 		yi->blanking_dmaptr = dma_map_single(&itv->pdev->dev,
 						     yi->blanking_ptr,
 						     720 * 16, DMA_TO_DEVICE);
+		if (dma_mapping_error(&itv->pdev->dev, yi->blanking_dmaptr)) {
+			kfree(yi->blanking_ptr);
+			yi->blanking_ptr = NULL;
+			yi->blanking_dmaptr = 0;
+			IVTV_DEBUG_WARN("Failed to dma_map yuv blanking buffer\n");
+		}
 	} else {
 		yi->blanking_dmaptr = 0;
 		IVTV_DEBUG_WARN("Failed to allocate yuv blanking buffer\n");
drivers/media/platform/qcom/venus/firmware.c +4 -4
index fe7da2b30482..01461b2fed51 100644
@@ -30,7 +30,7 @@ static void venus_reset_cpu(struct venus_core *core)
 	u32 fw_size = core->fw.mapped_mem_size;
 	void __iomem *wrapper_base;
 
-	if (IS_IRIS2_1(core))
+	if (IS_IRIS2(core) || IS_IRIS2_1(core))
 		wrapper_base = core->wrapper_tz_base;
 	else
 		wrapper_base = core->wrapper_base;
@@ -42,7 +42,7 @@ static void venus_reset_cpu(struct venus_core *core)
 	writel(fw_size, wrapper_base + WRAPPER_NONPIX_START_ADDR);
 	writel(fw_size, wrapper_base + WRAPPER_NONPIX_END_ADDR);
 
-	if (IS_IRIS2_1(core)) {
+	if (IS_IRIS2(core) || IS_IRIS2_1(core)) {
 		/* Bring XTSS out of reset */
 		writel(0, wrapper_base + WRAPPER_TZ_XTSS_SW_RESET);
 	} else {
@@ -68,7 +68,7 @@ int venus_set_hw_state(struct venus_core *core, bool resume)
 	if (resume) {
 		venus_reset_cpu(core);
 	} else {
-		if (IS_IRIS2_1(core))
+		if (IS_IRIS2(core) || IS_IRIS2_1(core))
 			writel(WRAPPER_XTSS_SW_RESET_BIT,
 			       core->wrapper_tz_base + WRAPPER_TZ_XTSS_SW_RESET);
 		else
@@ -181,7 +181,7 @@ static int venus_shutdown_no_tz(struct venus_core *core)
 	void __iomem *wrapper_base = core->wrapper_base;
 	void __iomem *wrapper_tz_base = core->wrapper_tz_base;
 
-	if (IS_IRIS2_1(core)) {
+	if (IS_IRIS2(core) || IS_IRIS2_1(core)) {
 		/* Assert the reset to XTSS */
 		reg = readl(wrapper_tz_base + WRAPPER_TZ_XTSS_SW_RESET);
 		reg |= WRAPPER_XTSS_SW_RESET_BIT;
drivers/media/rc/lirc_dev.c +5 -4
index f8901d6fbe9b..ff3088691d5e 100644
@@ -735,11 +735,11 @@ int lirc_register(struct rc_dev *dev)
 
 	cdev_init(&dev->lirc_cdev, &lirc_fops);
 
+	get_device(&dev->dev);
+
 	err = cdev_device_add(&dev->lirc_cdev, &dev->lirc_dev);
 	if (err)
-		goto out_ida;
-
-	get_device(&dev->dev);
+		goto out_put_device;
 
 	switch (dev->driver_type) {
 	case RC_DRIVER_SCANCODE:
@@ -763,7 +763,8 @@ int lirc_register(struct rc_dev *dev)
 
 	return 0;
 
-out_ida:
+out_put_device:
+	put_device(&dev->lirc_dev);
 	ida_free(&lirc_ida, minor);
 	return err;
 }
drivers/memory/samsung/exynos-srom.c +4 -6
index e73dd330af47..d913fb901973 100644
@@ -121,20 +121,18 @@ static int exynos_srom_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	srom->dev = dev;
-	srom->reg_base = of_iomap(np, 0);
-	if (!srom->reg_base) {
+	srom->reg_base = devm_platform_ioremap_resource(pdev, 0);
+	if (IS_ERR(srom->reg_base)) {
 		dev_err(&pdev->dev, "iomap of exynos srom controller failed\n");
-		return -ENOMEM;
+		return PTR_ERR(srom->reg_base);
 	}
 
 	platform_set_drvdata(pdev, srom);
 
 	srom->reg_offset = exynos_srom_alloc_reg_dump(exynos_srom_offsets,
 						      ARRAY_SIZE(exynos_srom_offsets));
-	if (!srom->reg_offset) {
-		iounmap(srom->reg_base);
+	if (!srom->reg_offset)
 		return -ENOMEM;
-	}
 
 	for_each_child_of_node(np, child) {
 		if (exynos_srom_configure_bank(srom, child)) {
drivers/mfd/intel_soc_pmic_chtdc_ti.c +3 -2
index 992855bfda3e..6daf33e07ea0 100644
@@ -81,8 +81,9 @@ static struct mfd_cell chtdc_ti_dev[] = {
 static const struct regmap_config chtdc_ti_regmap_config = {
 	.reg_bits = 8,
 	.val_bits = 8,
-	.max_register = 128,
-	.cache_type = REGCACHE_NONE,
+	.max_register = 0xff,
+	/* The hardware does not support reading multiple registers at once */
+	.use_single_read = true,
 };
 
 static const struct regmap_irq chtdc_ti_irqs[] = {
drivers/misc/fastrpc.c +23 -14
index 5e03a6ba5571..a85442d74e09 100644
@@ -322,11 +322,11 @@ static void fastrpc_free_map(struct kref *ref)
 
 			perm.vmid = QCOM_SCM_VMID_HLOS;
 			perm.perm = QCOM_SCM_PERM_RWX;
-			err = qcom_scm_assign_mem(map->phys, map->size,
+			err = qcom_scm_assign_mem(map->phys, map->len,
 				&src_perms, &perm, 1);
 			if (err) {
-				dev_err(map->fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
-						map->phys, map->size, err);
+				dev_err(map->fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d\n",
+						map->phys, map->len, err);
 				return;
 			}
 		}
@@ -752,7 +752,8 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, int fd,
 	struct fastrpc_session_ctx *sess = fl->sctx;
 	struct fastrpc_map *map = NULL;
 	struct sg_table *table;
-	int err = 0;
+	struct scatterlist *sgl = NULL;
+	int err = 0, sgl_index = 0;
 
 	map = kzalloc(sizeof(*map), GFP_KERNEL);
 	if (!map)
@@ -789,7 +790,15 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, int fd,
 		map->phys = sg_dma_address(map->table->sgl);
 		map->phys += ((u64)fl->sctx->sid << 32);
 	}
-	map->size = len;
+	for_each_sg(map->table->sgl, sgl, map->table->nents,
+		sgl_index)
+		map->size += sg_dma_len(sgl);
+	if (len > map->size) {
+		dev_dbg(sess->dev, "Bad size passed len 0x%llx map size 0x%llx\n",
+				len, map->size);
+		err = -EINVAL;
+		goto map_err;
+	}
 	map->va = sg_virt(map->table->sgl);
 	map->len = len;
 
@@ -806,10 +815,10 @@ static int fastrpc_map_attach(struct fastrpc_user *fl, int fd,
 		dst_perms[1].vmid = fl->cctx->vmperms[0].vmid;
 		dst_perms[1].perm = QCOM_SCM_PERM_RWX;
 		map->attr = attr;
-		err = qcom_scm_assign_mem(map->phys, (u64)map->size, &src_perms, dst_perms, 2);
+		err = qcom_scm_assign_mem(map->phys, (u64)map->len, &src_perms, dst_perms, 2);
 		if (err) {
-			dev_err(sess->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d",
-					map->phys, map->size, err);
+			dev_err(sess->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d\n",
+					map->phys, map->len, err);
 			goto map_err;
 		}
 	}
@@ -1240,7 +1249,7 @@ static bool is_session_rejected(struct fastrpc_user *fl, bool unsigned_pd_reques
 		 * that does not support unsigned PD offload
 		 */
 		if (!fl->cctx->unsigned_support || !unsigned_pd_request) {
-			dev_err(&fl->cctx->rpdev->dev, "Error: Untrusted application trying to offload to signed PD");
+			dev_err(&fl->cctx->rpdev->dev, "Error: Untrusted application trying to offload to signed PD\n");
 			return true;
 		}
 	}
@@ -1304,7 +1313,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
 							&src_perms,
 							fl->cctx->vmperms, fl->cctx->vmcount);
 			if (err) {
-				dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d",
+				dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d\n",
 					fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err);
 				goto err_map;
 			}
@@ -1358,7 +1367,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
 						(u64)fl->cctx->remote_heap->size,
 						&src_perms, &dst_perms, 1);
 		if (err)
-			dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
+			dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d\n",
 				fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err);
 	}
 err_map:
@@ -2063,7 +2072,7 @@ static int fastrpc_req_mem_map(struct fastrpc_user *fl, char __user *argp)
 	args[0].length = sizeof(req_msg);
 
 	pages.addr = map->phys;
-	pages.size = map->size;
+	pages.size = map->len;
 
 	args[1].ptr = (u64) (uintptr_t) &pages;
 	args[1].length = sizeof(pages);
@@ -2078,7 +2087,7 @@ static int fastrpc_req_mem_map(struct fastrpc_user *fl, char __user *argp)
 	err = fastrpc_internal_invoke(fl, true, FASTRPC_INIT_HANDLE, sc, &args[0]);
 	if (err) {
 		dev_err(dev, "mem mmap error, fd %d, vaddr %llx, size %lld\n",
-			req.fd, req.vaddrin, map->size);
+			req.fd, req.vaddrin, map->len);
 		goto err_invoke;
 	}
 
@@ -2091,7 +2100,7 @@ static int fastrpc_req_mem_map(struct fastrpc_user *fl, char __user *argp)
 	if (copy_to_user((void __user *)argp, &req, sizeof(req))) {
 		/* unmap the memory and release the buffer */
 		req_unmap.vaddr = (uintptr_t) rsp_msg.vaddr;
-		req_unmap.length = map->size;
+		req_unmap.length = map->len;
 		fastrpc_req_mem_unmap_impl(fl, &req_unmap);
 		return -EFAULT;
 	}
drivers/mmc/core/sdio.c +5 -1
index cb87e8273779..2c58df6855f2 100644
@@ -945,7 +945,11 @@ static void mmc_sdio_remove(struct mmc_host *host)
  */
 static int mmc_sdio_alive(struct mmc_host *host)
 {
-	return mmc_select_card(host->card);
+	if (!mmc_host_is_spi(host))
+		return mmc_select_card(host->card);
+	else
+		return mmc_io_rw_direct(host->card, 0, 0, SDIO_CCCR_CCCR, 0,
+					NULL);
 }
 
 /*
drivers/mtd/nand/raw/fsmc_nand.c +5 -1
index fe5912d31bee..b0a70badf3eb 100644
@@ -876,10 +876,14 @@ static int fsmc_nand_probe_config_dt(struct platform_device *pdev,
 	if (!of_property_read_u32(np, "bank-width", &val)) {
 		if (val == 2) {
 			nand->options |= NAND_BUSWIDTH_16;
-		} else if (val != 1) {
+		} else if (val == 1) {
+			nand->options |= NAND_BUSWIDTH_AUTO;
+		} else {
 			dev_err(&pdev->dev, "invalid bank-width %u\n", val);
 			return -EINVAL;
 		}
+	} else {
+		nand->options |= NAND_BUSWIDTH_AUTO;
 	}
 
 	if (of_property_read_bool(np, "nand-skip-bbtscan"))
drivers/net/ethernet/freescale/fsl_pq_mdio.c +2 -0
index eee675a25b2c..ef9adecb639a 100644
@@ -483,10 +483,12 @@ static int fsl_pq_mdio_probe(struct platform_device *pdev)
 					"missing 'reg' property in node %pOF\n",
 					tbi);
 				err = -EBUSY;
+				of_node_put(tbi);
 				goto error;
 			}
 			set_tbipa(*prop, pdev,
 				  data->get_tbipa, priv->map, &res);
+			of_node_put(tbi);
 		}
 	}
 
drivers/net/ethernet/mellanox/mlx4/en_netdev.c +1 -1
index 33bbcced8105..275561272721 100644
@@ -1177,9 +1177,9 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv,
 				mlx4_unregister_mac(mdev->dev, priv->port, mac);
 
 				hlist_del_rcu(&entry->hlist);
-				kfree_rcu(entry, rcu);
 				en_dbg(DRV, priv, "Removed MAC %pM on port:%d\n",
 				       entry->mac, priv->port);
+				kfree_rcu(entry, rcu);
 				++removed;
 			}
 		}
drivers/net/wireless/ath/ath11k/core.c +1 -5
index 0e8ff839cae2..3a340cb2b205 100644
@@ -1763,14 +1763,10 @@ static int ath11k_core_reconfigure_on_crash(struct ath11k_base *ab)
 	mutex_unlock(&ab->core_lock);
 
 	ath11k_dp_free(ab);
-	ath11k_hal_srng_deinit(ab);
+	ath11k_hal_srng_clear(ab);
 
 	ab->free_vdev_map = (1LL << (ab->num_radios * TARGET_NUM_VDEVS(ab))) - 1;
 
-	ret = ath11k_hal_srng_init(ab);
-	if (ret)
-		return ret;
-
 	clear_bit(ATH11K_FLAG_CRASH_FLUSH, &ab->dev_flags);
 
 	ret = ath11k_core_qmi_firmware_ready(ab);
drivers/net/wireless/ath/ath11k/hal.c +16 -0
index 1215408d1a6a..79cf65bc2e17 100644
@@ -1356,6 +1356,22 @@ void ath11k_hal_srng_deinit(struct ath11k_base *ab)
 }
 EXPORT_SYMBOL(ath11k_hal_srng_deinit);
 
+void ath11k_hal_srng_clear(struct ath11k_base *ab)
+{
+	/* No need to memset rdp and wrp memory since each individual
+	 * segment would get cleared in ath11k_hal_srng_src_hw_init()
+	 * and ath11k_hal_srng_dst_hw_init().
+	 */
+	memset(ab->hal.srng_list, 0,
+	       sizeof(ab->hal.srng_list));
+	memset(ab->hal.shadow_reg_addr, 0,
+	       sizeof(ab->hal.shadow_reg_addr));
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/hal.h +1 -0
index 80447f488954..aa21eb1fdce1 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7921/usb.c +3 -0
index 13e892d788b2..92281811103e 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/pci.c +2 -0
index 136dba6221d8..053385c84bf8 100644

Lines of this file are not shown. View the raw message.

drivers/of/unittest.c +1 -0
index 5bfec440b4fd..aae4e8ef9e36 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/dwc/pci-keystone.c +2 -2
index bf9a961c9f27..9055ce34c636 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/dwc/pcie-tegra194.c +18 -4
index 115a21cf869a..c7d3e248a59a 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pci-tegra.c +13 -14
index 80d975dcb2ee..da37569460b1 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pcie-rcar-host.c +15 -25
index 704ab5d723a9..77f6366e7db1 100644

Lines of this file are not shown. View the raw message.

drivers/pci/endpoint/functions/pci-epf-test.c +11 -8
index ac1dae113f2d..4cf20ca25ea7 100644

Lines of this file are not shown. View the raw message.

drivers/pci/iov.c +5 -0
index 25dbe85c4217..f97c4f0e1c7a 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pci-driver.c +1 -0
index 9c59bf03d657..1705d2d0ed12 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pci-sysfs.c +19 -1
index 92e8ac85f58e..449d42744d33 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pcie/aer.c +6 -6
index eeb9ea9044b4..8e700020ee0b 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pcie/err.c +7 -1
index 705893b5f7b0..197191178cdd 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/pinctrl-samsung.h +0 -4
index 9af93e3d8d9f..1efbae6c9987 100644

Lines of this file are not shown. View the raw message.

drivers/power/supply/max77976_charger.c +6 -6
index 99659dc8f5a6..56ab502e1a80 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-berlin.c +2 -2
index 0971c666afd1..14729a6ae09a 100644

Lines of this file are not shown. View the raw message.

drivers/rtc/interface.c +27 -0
index 4a7c41a6c21e..93baffe110c0 100644

Lines of this file are not shown. View the raw message.

drivers/rtc/rtc-optee.c +1 -0
index 9f8b5d4a8f6b..6b77c122fdc1 100644

Lines of this file are not shown. View the raw message.

drivers/rtc/rtc-x1205.c +1 -1
index 807f953ae0ae..b7a7ea036f7a 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/hpsa.c +12 -9
index 49c57a9c110b..42a89ab33e1c 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mvsas/mv_init.c +1 -1
index 43ebb331e216..47c4434dc7e7 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-cadence-quadspi.c +5 -0
index bf9b816637d0..7b809644436e 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/core/fb_cmdline.c +1 -1
index 4d1634c492ec..594b60424d1c 100644

Lines of this file are not shown. View the raw message.

drivers/xen/events/events_base.c +29 -8
index 9e3b5d21d098..3a8f2e659e00 100644

Lines of this file are not shown. View the raw message.

drivers/xen/manage.c +2 -1
index c16df629907e..55537b673990 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/export.c +7 -1
index 203e5964c9b0..5e46f8cd7ea0 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/extent_io.c +11 -3
index ccf94c5fbfdf..88ba277bc3a7 100644

Lines of this file are not shown. View the raw message.

fs/cramfs/inode.c +10 -1
index 2fbf97077ce9..3f06362985b5 100644

Lines of this file are not shown. View the raw message.

fs/ext4/fsmap.c +9 -5
index 1b68586f73f3..c970f41c5048 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inode.c +8 -2
index 63b1384823ba..91a9fa6f1ad4 100644

Lines of this file are not shown. View the raw message.

fs/ext4/move_extent.c +1 -1
index 5e6b07b34960..c566161127cd 100644

Lines of this file are not shown. View the raw message.

fs/ext4/orphan.c +14 -3
index c53918768cb2..05997b4d0120 100644

Lines of this file are not shown. View the raw message.

fs/ext4/xattr.c +12 -7
index ca22aa9e04b4..66933e55efb3 100644

Lines of this file are not shown. View the raw message.

fs/file.c +4 -1
index 0ce6a6930276..9b76b9644ac2 100644

Lines of this file are not shown. View the raw message.

fs/fs-writeback.c +21 -11
index ed110568d612..274fae88b498 100644

Lines of this file are not shown. View the raw message.

fs/fsopen.c +38 -32

70 lines not on this page · raw message

fs/minix/inode.c +7 -1
index df575473c1cc..ee8a6fe360e7 100644

Lines of this file are not shown. View the raw message.

fs/namei.c +8 -0
index 155e4d09a5fb..02b0c2731298 100644

Lines of this file are not shown. View the raw message.

fs/namespace.c +10 -1
index f79226472251..646d9e7d41ee 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/lockd.c +15 -0
index 46a7f9b813e5..b02886f38925 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4proc.c +1 -1
index cd78b7ecbd43..e9c1271b7ecc 100644

Lines of this file are not shown. View the raw message.

fs/ntfs3/bitmap.c +1 -0
index cf4fe21a5039..29b585f443f3 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/smb1ops.c +60 -2

62 lines not on this page · raw message

fs/smb/client/smb2inode.c +12 -10
index 79641d1ee867..232a3c289055 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/ksmbd_netlink.h +3 -2
index f4e55199938d..c6c1844d4448 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/server.h +1 -0
index 4d06f2eb0d6a..d0744498ceed 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/transport_ipc.c +3 -0
index 281101fd1f76..80581a7bc1bc 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/transport_tcp.c +17 -11
index 53c536f2ce9f..c43a46511428 100644

Lines of this file are not shown. View the raw message.

fs/squashfs/inode.c +22 -2
index 53104f25de51..f5dcb8353f86 100644

Lines of this file are not shown. View the raw message.

include/acpi/acpixf.h +6 -0
index 7e9e7e769043..2b5891515f3d 100644

Lines of this file are not shown. View the raw message.

include/asm-generic/io.h +66 -32

98 lines not on this page · raw message

include/linux/iio/frequency/adf4350.h +1 -1
index de45cf2ee1e4..ce2086f97e3f 100644

Lines of this file are not shown. View the raw message.

include/linux/ksm.h +6 -0
index b9cdeba03668..f74c52224840 100644

Lines of this file are not shown. View the raw message.

include/linux/sched.h +8 -3
index cb38eee732fd..9559501236af 100644

Lines of this file are not shown. View the raw message.

include/media/v4l2-subdev.h +17 -13
index 0740dfc6c048..61a497ec5a2a 100644

Lines of this file are not shown. View the raw message.

include/net/netfilter/nf_tables.h +1 -2
index c0f4b91e4f5e..32606d543060 100644

Lines of this file are not shown. View the raw message.

include/net/netfilter/nft_fib.h +1 -3
index 167640b843ef..38cae7113de4 100644

Lines of this file are not shown. View the raw message.

include/net/netfilter/nft_meta.h +1 -2
index ba1238f12a48..d602263590fe 100644

Lines of this file are not shown. View the raw message.

include/net/netfilter/nft_reject.h +1 -2
index 6d9ba62efd75..19060212988a 100644

Lines of this file are not shown. View the raw message.

init/main.c +12 -0
index c787e94cc898..20d2dd4d9b40 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/inode.c +2 -2
index 99d0625b6c82..9a9630adcba4 100644

Lines of this file are not shown. View the raw message.

kernel/fork.c +1 -1
index 0e20d7e94608..2141ebb2ef92 100644

Lines of this file are not shown. View the raw message.

kernel/pid.c +1 -1
index 6500ef956f2f..e57adc00cb77 100644

Lines of this file are not shown. View the raw message.

kernel/rseq.c +5 -5
index 23894ba8250c..810005f927d7 100644

Lines of this file are not shown. View the raw message.

kernel/sched/deadline.c +49 -24

73 lines not on this page · raw message

kernel/sys.c +20 -2
index 355de0b65c23..47cb10a16b00 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_fprobe.c +7 -4
index 93620a783587..a233262f858c 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_kprobe.c +7 -4
index 46491f3c1569..20dbe40ab15e 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_probe.h +7 -2
index 48afed3c3f88..c71fa9c2f381 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_uprobe.c +8 -4
index ecf04e81ddf7..03d79a9ebd8c 100644

Lines of this file are not shown. View the raw message.

lib/crypto/Makefile +4 -0
index 8d1446c2be71..88246000c9d8 100644

Lines of this file are not shown. View the raw message.

lib/genalloc.c +4 -1
index 4fa5635bf81b..841f29783833 100644

Lines of this file are not shown. View the raw message.

mm/damon/vaddr.c +2 -6
index 5764b9885e7d..4d7dc9f65f68 100644

Lines of this file are not shown. View the raw message.

mm/hugetlb.c +3 -0
index 0c6745a6a13a..532a840a4266 100644

Lines of this file are not shown. View the raw message.

mm/page_alloc.c +1 -1
index 44011ebecddf..93cb65c6553e 100644

Lines of this file are not shown. View the raw message.

net/bridge/br_vlan.c +1 -1
index a1c22eab71ff..cc54b8267bcc 100644

Lines of this file are not shown. View the raw message.

net/bridge/netfilter/nft_meta_bridge.c +2 -3
index bd4d1b4d745f..affb740c8685 100644

Lines of this file are not shown. View the raw message.

net/bridge/netfilter/nft_reject_bridge.c +1 -2
index 71b54fed7263..1cb5c16e97b7 100644

Lines of this file are not shown. View the raw message.

net/core/filter.c +2 -0
index b6dbcef64965..c2e888ea54ab 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +4 -1
index 7d824578f217..5dde0aed3144 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_input.c +0 -1
index c6d00817ad3f..8834cd41b384 100644

Lines of this file are not shown. View the raw message.

net/mptcp/pm.c +5 -2
index 29c167e5fc02..ab7bdb653181 100644

Lines of this file are not shown. View the raw message.

net/mptcp/pm_netlink.c +51 -1

52 lines not on this page · raw message

net/mptcp/protocol.h +8 -0
index c5f41cdb36c4..1f213706dfaa 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_tables_api.c +1 -2
index 4ffb5ef79ca1..5ca1d775e976 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_compat.c +2 -4
index d3d11dede545..52cdfee17f73 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_fib.c +1 -2
index bf825f6cb974..507b7eba9bcd 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_flow_offload.c +1 -2
index 5a3d68542042..1894032a7971 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_fwd_netdev.c +1 -2
index a5268e6dd32f..fa9e4ae00b16 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_immediate.c +1 -2
index ac2422c215e5..02ee5fb69871 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_lookup.c +1 -2
index 1b9edf2b3393..dd5441f92fdb 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_masq.c +1 -2
index 8a14aaca93bb..eee05394c533 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_meta.c +2 -4
index 9139ce38ea7b..dec76d28a0ac 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_nat.c +1 -2
index 808f5802c270..3d3e639a7a83 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_objref.c +39 -0
index 509011b1ef59..08a27433e2f5 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_osf.c +1 -2
index 7f61506e5b44..123b4f47ccef 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_queue.c +1 -2
index b2b8127c8d43..b8ebb187814f 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_redir.c +1 -2
index a58bd8d291ff..9051863509f3 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_reject.c +1 -2
index ed2e668474d6..196a92c7ea09 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_reject_inet.c +1 -2
index 973fa31a9dd6..49020e67304a 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_reject_netdev.c +1 -2
index 7865cd8b11bb..2558ce1505d9 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_rt.c +1 -2
index 2434c624aafd..9525f1e02a7d 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_socket.c +1 -2
index 187b667bad6c..35d0409b0095 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_synproxy.c +1 -2
index 1d737f89dfc1..5d3e51825985 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_tproxy.c +1 -2
index 71412adb73d4..ed344af2a439 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_xfrm.c +1 -2
index 1c866757db55..8a07b46cc8fb 100644

Lines of this file are not shown. View the raw message.

net/sctp/sm_make_chunk.c +2 -1
index 08527d882e56..eb2ed7db3fe1 100644

Lines of this file are not shown. View the raw message.

net/sctp/sm_statefuns.c +4 -2
index 808863e047e0..cd18b22b2bba 100644

Lines of this file are not shown. View the raw message.

security/keys/trusted-keys/trusted_tpm1.c +4 -3
index aa108bea6739..ddcbfaede684 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/ipc4-topology.h +2 -2
index 0fb759c6eeaf..07bd84204baa 100644

Lines of this file are not shown. View the raw message.

tools/build/feature/Makefile +2 -2
index 4f869fff28fe..17e03236e346 100644

Lines of this file are not shown. View the raw message.

tools/lib/perf/include/perf/event.h +1 -0
index ae64090184d3..b50960cce23f 100644

Lines of this file are not shown. View the raw message.

tools/perf/builtin-stat.c +15 -3
index 9692ebdd7f11..1512fedd90cf 100644

Lines of this file are not shown. View the raw message.

tools/perf/tests/perf-record.c +4 -0
index 1c4feec1adff..6e7f053006b4 100644

Lines of this file are not shown. View the raw message.

tools/perf/tests/shell/stat.sh +29 -0
index 3f1e67795490..62f13dfeae8e 100755

Lines of this file are not shown. View the raw message.

tools/perf/util/arm-spe-decoder/arm-spe-decoder.h +9 -9
index 1443c28545a9..358c611eeddb 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/arm-spe.c +17 -17
index 9848310cee5f..0302e6407b5a 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/evsel.c +28 -3
index 2a6295f1ac1b..6d1327f8c604 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/lzma.c +1 -1
index af9a97612f9d..f61574d1581e 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/session.c +1 -1
index 277b2cbd5186..e4d57e7df7ae 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/setup.py +4 -1
index e837132d5031..eecb462c021c 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/zlib.c +1 -1
index 78d2297c1b67..1f7c06523059 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/mm/madv_populate.c +2 -19
index 17bcb07f19f3..7278623acf8c 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/mm/soft-dirty.c +4 -1
index 7dbfa53d93a0..7095b95d19ae 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/mm/vm_util.c +77 -0

77 lines not on this page · raw message

tools/testing/selftests/mm/vm_util.h +1 -0
index 0c603bec5e20..9816d6e9bce6 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/net/mptcp/mptcp_join.sh +11 -0
index 442b7220468a..9a907d8260c9 100755

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rseq/rseq.c +4 -4
index f6156790c3b4..05dc77fd527b 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.