Linux 6.6.66
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.6.66 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/ABI/testing/sysfs-bus-pci | 11 Documentation/admin-guide/blockdev/zram.rst | 2 Documentation/netlink/specs/ethtool.yaml | 7 Makefile | 2 arch/arm64/kernel/ptrace.c | 6 arch/arm64/kvm/arm.c | 2 arch/arm64/kvm/mmio.c | 36 arch/arm64/mm/context.c | 4 arch/loongarch/include/asm/hugetlb.h | 10 arch/loongarch/mm/tlb.c | 2 arch/mips/boot/dts/loongson/ls7a-pch.dtsi | 73 arch/powerpc/kernel/prom_init.c | 29 arch/powerpc/kernel/vdso/Makefile | 36 arch/s390/kernel/perf_cpum_sf.c | 4 arch/x86/events/amd/core.c | 10 arch/x86/include/asm/pgtable_types.h | 8 arch/x86/kernel/cpu/amd.c | 2 arch/x86/kernel/relocate_kernel_64.S | 8 arch/x86/kvm/mmu/mmu.c | 10 arch/x86/kvm/mmu/paging_tmpl.h | 5 arch/x86/mm/ident_map.c | 6 arch/x86/mm/pti.c | 2 arch/x86/pci/acpi.c | 119 drivers/acpi/x86/utils.c | 77 drivers/base/cacheinfo.c | 14 drivers/base/core.c | 69 drivers/base/regmap/internal.h | 1 drivers/base/regmap/regcache-maple.c | 3 drivers/base/regmap/regmap.c | 13 drivers/block/zram/Kconfig | 11 drivers/block/zram/zram_drv.c | 50 drivers/block/zram/zram_drv.h | 2 drivers/bluetooth/btusb.c | 4 drivers/clk/clk-en7523.c | 4 drivers/clk/qcom/clk-rcg.h | 1 drivers/clk/qcom/clk-rcg2.c | 48 drivers/clk/qcom/clk-rpmh.c | 13 drivers/clk/qcom/tcsrcc-sm8550.c | 18 drivers/dma-buf/dma-fence-array.c | 28 drivers/dma-buf/dma-fence-unwrap.c | 126 drivers/gpio/gpio-grgpio.c | 26 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 48 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 5 drivers/gpu/drm/amd/amdgpu/hdp_v5_2.c | 6 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 30 drivers/gpu/drm/amd/amdgpu/vega20_ih.c | 27 drivers/gpu/drm/bridge/ite-it6505.c | 11 drivers/gpu/drm/display/drm_dp_dual_mode_helper.c | 4 drivers/gpu/drm/display/drm_dp_mst_topology.c | 55 drivers/gpu/drm/drm_panel_orientation_quirks.c | 18 drivers/gpu/drm/mcde/mcde_drv.c | 1 drivers/gpu/drm/panel/panel-simple.c | 28 drivers/gpu/drm/radeon/r600_cs.c | 2 drivers/gpu/drm/scheduler/sched_main.c | 8 drivers/gpu/drm/sti/sti_mixer.c | 2 drivers/gpu/drm/v3d/v3d_perfmon.c | 2 drivers/gpu/drm/vc4/vc4_hdmi.c | 2 drivers/gpu/drm/vc4/vc4_hvs.c | 11 drivers/hid/hid-core.c | 5 drivers/hid/hid-generic.c | 3 drivers/hid/hid-ids.h | 1 drivers/hid/hid-magicmouse.c | 56 drivers/hid/wacom_sys.c | 3 drivers/hwmon/nct6775-platform.c | 2 drivers/i3c/master.c | 193 drivers/i3c/master/mipi-i3c-hci/dma.c | 2 drivers/i3c/master/svc-i3c-master.c | 140 drivers/iio/common/inv_sensors/inv_sensors_timestamp.c | 4 drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 2 drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 2 drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 1 drivers/iio/light/ltr501.c | 2 drivers/iio/magnetometer/yamaha-yas530.c | 13 drivers/infiniband/core/addr.c | 6 drivers/iommu/arm/arm-smmu/arm-smmu.c | 11 drivers/leds/led-class.c | 14 drivers/md/bcache/super.c | 2 drivers/media/usb/cx231xx/cx231xx-cards.c | 2 drivers/media/usb/uvc/uvc_driver.c | 20 drivers/misc/eeprom/eeprom_93cx6.c | 10 drivers/mmc/core/bus.c | 2 drivers/mmc/core/card.h | 7 drivers/mmc/core/core.c | 3 drivers/mmc/core/quirks.h | 9 drivers/mmc/core/sd.c | 2 drivers/mmc/host/mtk-sd.c | 64 drivers/mmc/host/sdhci-esdhc-imx.c | 6 drivers/mmc/host/sdhci-pci-core.c | 72 drivers/mmc/host/sdhci-pci.h | 1 drivers/net/can/c_can/c_can_main.c | 26 drivers/net/can/dev/dev.c | 2 drivers/net/can/ifi_canfd/ifi_canfd.c | 58 drivers/net/can/m_can/m_can.c | 33 drivers/net/can/sja1000/sja1000.c | 67 drivers/net/can/spi/hi311x.c | 50 drivers/net/can/spi/mcp251xfd/mcp251xfd-tef.c | 29 drivers/net/can/sun4i_can.c | 22 drivers/net/can/usb/ems_usb.c | 58 drivers/net/can/usb/f81604.c | 10 drivers/net/can/usb/gs_usb.c | 28 drivers/net/dsa/qca/qca8k-8xxx.c | 2 drivers/net/ethernet/freescale/enetc/enetc.c | 3 drivers/net/ethernet/freescale/fec_mpc52xx_phy.c | 2 drivers/net/ethernet/freescale/fman/fman.c | 1 drivers/net/ethernet/freescale/fman/fman.h | 3 drivers/net/ethernet/freescale/fman/mac.c | 5 drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c | 2 drivers/net/ethernet/intel/igb/igb_main.c | 4 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 2 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 2 drivers/net/ethernet/intel/ixgbevf/ipsec.c | 1 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c | 13 drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c | 12 drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h | 17 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c | 20 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.c | 96 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c | 2 drivers/net/ethernet/qlogic/qed/qed_mcp.c | 4 drivers/net/ethernet/realtek/r8169_main.c | 14 drivers/net/ethernet/rocker/rocker_main.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 5 drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 5 drivers/net/geneve.c | 2 drivers/net/phy/sfp.c | 3 drivers/net/virtio_net.c | 12 drivers/net/vrf.c | 2 drivers/net/vxlan/vxlan_core.c | 2 drivers/net/wireless/ath/ath5k/pci.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 2 drivers/net/wireless/intel/ipw2x00/libipw_rx.c | 8 drivers/net/wireless/realtek/rtw89/fw.c | 3 drivers/nvdimm/dax_devs.c | 4 drivers/nvdimm/nd.h | 7 drivers/pci/controller/dwc/pcie-qcom.c | 1 drivers/pci/controller/vmd.c | 17 drivers/pci/pci-sysfs.c | 26 drivers/pci/pci.c | 2 drivers/pci/pci.h | 1 drivers/pci/probe.c | 30 drivers/pci/quirks.c | 15 drivers/pinctrl/core.c | 3 drivers/pinctrl/core.h | 1 drivers/pinctrl/freescale/Kconfig | 2 drivers/pinctrl/pinmux.c | 173 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 2 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 1 drivers/platform/x86/asus-wmi.c | 109 drivers/ptp/ptp_clock.c | 3 drivers/rtc/rtc-cmos.c | 31 drivers/s390/net/ism_drv.c | 19 drivers/s390/net/qeth_core.h | 4 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 drivers/scsi/lpfc/lpfc_init.c | 2 drivers/scsi/lpfc/lpfc_sli.c | 41 drivers/scsi/qla2xxx/qla_attr.c | 1 drivers/scsi/qla2xxx/qla_bsg.c | 124 drivers/scsi/qla2xxx/qla_mid.c | 1 drivers/scsi/qla2xxx/qla_os.c | 15 drivers/scsi/scsi_debug.c | 2 drivers/scsi/sg.c | 2 drivers/scsi/st.c | 31 drivers/soc/fsl/qe/qmc.c | 141 drivers/soc/imx/soc-imx8m.c | 107 drivers/spi/spi-fsl-lpspi.c | 7 drivers/spi/spi-mpc52xx.c | 1 drivers/thermal/qcom/tsens-v1.c | 21 drivers/thermal/qcom/tsens.c | 3 drivers/thermal/qcom/tsens.h | 2 drivers/tty/serial/8250/8250_dw.c | 5 drivers/tty/serial/amba-pl011.c | 79 drivers/ufs/core/ufs-sysfs.c | 6 drivers/ufs/core/ufs_bsg.c | 2 drivers/ufs/core/ufshcd-priv.h | 1 drivers/ufs/core/ufshcd.c | 58 drivers/ufs/host/ufs-renesas.c | 9 drivers/usb/chipidea/udc.c | 2 drivers/usb/dwc3/core.h | 1 drivers/usb/dwc3/ep0.c | 7 drivers/usb/dwc3/gadget.c | 89 drivers/usb/dwc3/gadget.h | 1 drivers/usb/host/xhci-dbgcap.c | 135 drivers/usb/host/xhci-dbgcap.h | 2 drivers/usb/host/xhci-pci.c | 21 drivers/usb/host/xhci-rcar.c | 6 drivers/usb/host/xhci-ring.c | 29 drivers/usb/host/xhci.c | 19 drivers/usb/host/xhci.h | 5 drivers/vfio/pci/mlx5/cmd.c | 47 drivers/watchdog/apple_wdt.c | 2 drivers/watchdog/iTCO_wdt.c | 21 drivers/watchdog/mtk_wdt.c | 6 drivers/watchdog/rti_wdt.c | 3 drivers/watchdog/xilinx_wwdt.c | 75 fs/btrfs/dev-replace.c | 2 fs/btrfs/extent-tree.c | 7 fs/btrfs/free-space-cache.c | 4 fs/btrfs/free-space-cache.h | 7 fs/btrfs/fs.h | 2 fs/btrfs/inode.c | 1 fs/btrfs/volumes.c | 50 fs/dlm/lock.c | 10 fs/eventpoll.c | 6 fs/f2fs/extent_cache.c | 69 fs/f2fs/inode.c | 4 fs/f2fs/node.c | 7 fs/f2fs/segment.c | 9 fs/f2fs/super.c | 12 fs/gfs2/super.c | 2 fs/jffs2/compr_rtime.c | 3 fs/jfs/jfs_dmap.c | 6 fs/jfs/jfs_dtree.c | 15 fs/nilfs2/dir.c | 2 fs/notify/fanotify/fanotify_user.c | 85 fs/ntfs3/run.c | 40 fs/ocfs2/dlmglue.c | 1 fs/ocfs2/localalloc.c | 19 fs/ocfs2/namei.c | 4 fs/smb/client/cifsproto.h | 1 fs/smb/client/cifssmb.c | 2 fs/smb/client/dfs.c | 188 fs/smb/client/inode.c | 94 fs/smb/client/readdir.c | 54 fs/smb/client/reparse.c | 84 fs/smb/client/smb2inode.c | 3 fs/smb/server/smb2pdu.c | 6 fs/unicode/mkutf8data.c | 70 fs/unicode/utf8data.c_shipped | 6703 +++++----- include/drm/display/drm_dp_mst_helper.h | 7 include/linux/eeprom_93cx6.h | 11 include/linux/eventpoll.h | 2 include/linux/fanotify.h | 1 include/linux/fwnode.h | 2 include/linux/hid.h | 2 include/linux/i3c/master.h | 33 include/linux/leds.h | 2 include/linux/mm_types.h | 3 include/linux/mmc/card.h | 1 include/linux/pci.h | 6 include/linux/platform_data/x86/asus-wmi.h | 1 include/linux/scatterlist.h | 2 include/linux/sched.h | 7 include/net/bluetooth/hci.h | 14 include/net/bluetooth/hci_core.h | 10 include/net/ip6_fib.h | 6 include/net/ip6_route.h | 11 include/net/netfilter/nf_tables_core.h | 1 include/net/smc.h | 28 include/sound/ump.h | 11 include/trace/events/sched.h | 15 include/trace/trace_events.h | 36 include/uapi/linux/fanotify.h | 1 include/uapi/linux/sched/types.h | 4 include/ufs/ufshcd.h | 19 io_uring/tctx.c | 13 kernel/bpf/devmap.c | 6 kernel/bpf/hashtab.c | 56 kernel/bpf/lpm_trie.c | 55 kernel/bpf/syscall.c | 22 kernel/bpf/verifier.c | 1 kernel/dma/debug.c | 8 kernel/kcsan/debugfs.c | 74 kernel/sched/core.c | 23 kernel/sched/deadline.c | 178 kernel/sched/fair.c | 98 kernel/sched/idle.c | 4 kernel/sched/rt.c | 21 kernel/sched/sched.h | 27 kernel/sched/stop_task.c | 17 kernel/time/ntp.c | 2 kernel/trace/trace_clock.c | 2 kernel/trace/trace_eprobe.c | 5 kernel/trace/trace_syscalls.c | 12 kernel/trace/tracing_map.c | 6 lib/stackinit_kunit.c | 1 mm/damon/vaddr-test.h | 1 mm/damon/vaddr.c | 4 mm/kasan/report.c | 6 mm/mempolicy.c | 342 mm/page_alloc.c | 15 mm/swap.c | 20 net/bluetooth/6lowpan.c | 2 net/bluetooth/hci_core.c | 13 net/bluetooth/hci_event.c | 7 net/bluetooth/hci_sync.c | 9 net/bluetooth/l2cap_sock.c | 1 net/bluetooth/rfcomm/sock.c | 10 net/can/af_can.c | 1 net/can/j1939/transport.c | 2 net/core/dst_cache.c | 2 net/core/filter.c | 2 net/core/link_watch.c | 7 net/core/neighbour.c | 1 net/core/netpoll.c | 2 net/dccp/feat.c | 6 net/ethtool/bitset.c | 48 net/hsr/hsr_forward.c | 2 net/ieee802154/socket.c | 12 net/ipv4/af_inet.c | 22 net/ipv4/ip_output.c | 13 net/ipv4/ip_tunnel.c | 2 net/ipv4/tcp_bpf.c | 11 net/ipv6/af_inet6.c | 22 net/ipv6/icmp.c | 8 net/ipv6/ila/ila_lwt.c | 4 net/ipv6/ip6_output.c | 31 net/ipv6/ip6mr.c | 2 net/ipv6/ndisc.c | 2 net/ipv6/ping.c | 2 net/ipv6/raw.c | 4 net/ipv6/route.c | 34 net/ipv6/tcp_ipv6.c | 4 net/ipv6/udp.c | 11 net/ipv6/xfrm6_policy.c | 2 net/l2tp/l2tp_ip6.c | 2 net/mpls/mpls_iptunnel.c | 2 net/netfilter/ipset/ip_set_core.c | 5 net/netfilter/ipvs/ip_vs_proto.c | 4 net/netfilter/ipvs/ip_vs_xmit.c | 14 net/netfilter/nf_flow_table_core.c | 8 net/netfilter/nf_flow_table_ip.c | 4 net/netfilter/nft_inner.c | 57 net/netfilter/nft_rt.c | 2 net/netfilter/nft_set_hash.c | 16 net/netfilter/nft_socket.c | 2 net/netfilter/xt_LED.c | 4 net/packet/af_packet.c | 12 net/sched/cls_flower.c | 5 net/sched/sch_cbs.c | 2 net/sched/sch_tbf.c | 18 net/sctp/ipv6.c | 2 net/smc/af_smc.c | 226 net/smc/smc.h | 8 net/smc/smc_clc.c | 297 net/smc/smc_clc.h | 50 net/smc/smc_core.c | 98 net/smc/smc_core.h | 18 net/smc/smc_diag.c | 7 net/smc/smc_ism.c | 66 net/smc/smc_ism.h | 27 net/smc/smc_pnet.c | 4 net/tipc/udp_media.c | 2 net/vmw_vsock/af_vsock.c | 70 net/xdp/xsk_buff_pool.c | 5 net/xdp/xskmap.c | 2 net/xfrm/xfrm_policy.c | 3 samples/bpf/test_cgrp2_sock.c | 4 scripts/mod/modpost.c | 2 scripts/setlocalversion | 54 sound/core/seq/seq_ump_client.c | 110 sound/core/ump.c | 77 sound/pci/hda/hda_auto_parser.c | 61 sound/pci/hda/hda_local.h | 28 sound/pci/hda/patch_analog.c | 6 sound/pci/hda/patch_cirrus.c | 8 sound/pci/hda/patch_conexant.c | 36 sound/pci/hda/patch_cs8409-tables.c | 2 sound/pci/hda/patch_cs8409.h | 2 sound/pci/hda/patch_realtek.c | 22 sound/pci/hda/patch_sigmatel.c | 22 sound/pci/hda/patch_via.c | 2 sound/soc/amd/yc/acp6x-mach.c | 14 sound/soc/codecs/hdmi-codec.c | 140 sound/soc/intel/avs/pcm.c | 2 sound/soc/mediatek/mt8188/mt8188-mt6359.c | 4 sound/soc/sof/ipc3-topology.c | 31 sound/usb/endpoint.c | 14 sound/usb/midi2.c | 2 sound/usb/mixer.c | 58 sound/usb/mixer_maps.c | 10 sound/usb/quirks.c | 31 sound/usb/usbaudio.h | 4 tools/bpf/bpftool/prog.c | 17 tools/scripts/Makefile.arch | 4 tools/testing/selftests/arm64/fp/fp-stress.c | 15 tools/testing/selftests/arm64/pauth/pac.c | 3 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc | 2 tools/testing/selftests/hid/run-hid-tools-tests.sh | 16 tools/testing/selftests/resctrl/resctrl_val.c | 4 tools/testing/selftests/resctrl/resctrlfs.c | 2 tools/tracing/rtla/src/timerlat_top.c | 8 tools/tracing/rtla/src/utils.c | 4 tools/tracing/rtla/src/utils.h | 2 tools/verification/dot2/automata.py | 18 384 files changed, 8897 insertions(+), 6157 deletions(-)
Abhishek Chauhan (1):
net: stmmac: Programming sequence for VLAN packets with split header
Adrian Huang (1):
sched/numa: fix memory leak due to the overwritten vma->numab_state
Ajay Kaher (1):
ptp: Add error handling for adjfine callback in ptp_clock_adjtime
Aleksandr Mishin (1):
fsl/fman: Validate cell-index value obtained from Device Tree
Alex Deucher (2):
drm/amdgpu/hdp5.2: do a posting read when flushing HDP drm/amdgpu: rework resume handling for display (v2)
Alex Far (1):
ASoC: amd: yc: fix internal mic on Redmi G 2022
Alexander Aring (1):
dlm: fix possible lkb_resource null dereference
Alexander Kozhinov (1):
can: gs_usb: add usb endpoint address detection at driver probe step
Alexander Sverdlin (1):
watchdog: rti: of: honor timeout-sec property
Amadeusz Sławiński (1):
ASoC: Intel: avs: Fix return status of avs_pcm_hw_constraints_init()
Amir Goldstein (1):
fanotify: allow reporting errors on failure to open fd
Amir Mohammadi (1):
bpftool: fix potential NULL pointer dereferencing in prog_dump()
Amit Cohen (4):
mlxsw: Add 'ipv4_5' flex key
mlxsw: spectrum_acl_flex_keys: Add 'ipv4_5b' flex key
mlxsw: Edit IPv6 key blocks to use one less block for multicast forwarding
mlxsw: Mark high entropy key blocks
Andrew Lunn (1):
dsa: qca8k: Use nested lock to avoid splat
Andrii Nakryiko (1):
bpf: put bpf_link's program when link is safe to be deallocated
Andy Shevchenko (1):
iio: light: ltr501: Add LTER0303 to the supported devices
Andy-ld Lu (2):
mmc: mtk-sd: Fix error handle of probe function
mmc: mtk-sd: Fix MMC_CAP2_CRYPTO flag setting
Anil Gurumurthy (1):
scsi: qla2xxx: Supported speed displayed incorrectly for VPorts
Armin Wolf (3):
platform/x86: asus-wmi: Fix inconsistent use of thermal policies platform/x86: asus-wmi: Ignore return value when writing thermal policy platform/x86: asus-wmi: Fix thermal profile initialization
Arnd Bergmann (1):
serial: amba-pl011: fix build regression
Bard Liao (1):
ASoC: SOF: ipc3-topology: Convert the topology pin index to ALH dai index
Barnabás Czémán (3):
pinctrl: qcom-pmic-gpio: add support for PM8937
pinctrl: qcom: spmi-mpp: Add PM8937 compatible thermal/drivers/qcom/tsens-v1: Add support for MSM8937 tsens
Bart Van Assche (2):
scsi: ufs: core: Always initialize the UIC done completion
scsi: ufs: core: Make DMA mask configuration more flexible
Bartosz Golaszewski (1):
gpio: grgpio: use a helper variable to store the address of ofdev->dev
Basavaraj Natikar (1):
xhci: Allow RPM on the USB controller (1022:43f7) by default
Benjamin Tissoires (1):
HID: add per device quirk to force bind to hid-generic
Bibo Mao (1):
LoongArch: Add architecture specific huge_pte_clear()
Björn Töpel (1):
tools: Override makefile ARCH variable if defined, but empty
Boris Burkov (1):
btrfs: do not clear read-only when adding sprout device
Brahmajit Das (1):
drm/display: Fix building with GCC 15
Breno Leitao (2):
perf/x86/amd: Warn only on new bits set
netpoll: Use rcu_access_pointer() in __netpoll_setup
Callahan Kovacs (1):
HID: magicmouse: Apple Magic Trackpad 2 USB-C driver support
Carlos Song (2):
i3c: master: support to adjust first broadcast address speed
i3c: master: svc: use slow speed for first broadcast address
Catalin Marinas (1):
arm64: Ensure bits ASID[15:8] are masked out when the kernel uses 8-bit ASIDs
Chao Yu (3):
f2fs: fix to drop all discards after creating snapshot on lvm device
f2fs: print message if fscorrupted was found in f2fs_new_node_page()
f2fs: fix to shrink read extent node in batches
Charles Han (1):
gpio: grgpio: Add NULL check in grgpio_probe
Chen-Yu Tsai (1):
drm/bridge: it6505: Fix inverted reset polarity
Christian Brauner (1):
epoll: annotate racy check
Christian König (1):
dma-buf: fix dma_fence_array_signaled v4
Christophe JAILLET (1):
mlxsw: spectrum_acl_flex_keys: Constify struct mlxsw_afk_element_inst
Christophe Leroy (1):
powerpc/vdso: Refactor CFLAGS for CVDSO build
Cosmin Tanislav (1):
regmap: detach regmap from dev on regmap_exit
Cristian Ciocaltea (1):
regmap: maple: Provide lockdep (sub)class for maple tree's internal lock
D. Wythe (1):
net/smc: refactoring initialization of smc sock
Damien Le Moal (1):
x86: Fix build regression with CONFIG_KEXEC_JUMP enabled
Dan Carpenter (1):
ASoC: SOF: ipc3-topology: fix resource leaks in sof_ipc3_widget_setup_comp_dai()
Danil Pylaev (3):
Bluetooth: Add new quirks for ATS2851
Bluetooth: Support new quirks for ATS2851
Bluetooth: Set quirks for ATS2851
Dario Binacchi (10):
can: c_can: c_can_handle_bus_err(): update statistics if skb allocation fails
can: sun4i_can: sun4i_can_err(): call can_change_state() even if cf is NULL
can: hi311x: hi3110_can_ist(): fix potential use-after-free
can: m_can: m_can_handle_lec_err(): fix {rx,tx}_errors statistics
can: ifi_canfd: ifi_canfd_handle_lec_err(): fix {rx,tx}_errors statistics
can: hi311x: hi3110_can_ist(): fix {rx,tx}_errors statistics
can: sja1000: sja1000_err(): fix {rx,tx}_errors statistics
can: sun4i_can: sun4i_can_err(): fix {rx,tx}_errors statistics
can: ems_usb: ems_usb_rx_err(): fix {rx,tx}_errors statistics
can: f81604: f81604_handle_can_bus_errors(): fix {rx,tx}_errors statistics
Dave Stevenson (1):
drm/vc4: hvs: Set AXI panic modes for the HVS
David Given (1):
media: uvcvideo: Add a quirk for the Kaiweets KTI-W02 infrared camera
David Hildenbrand (1):
mm/mempolicy: fix migrate_to_node() assuming there is at least one VMA in a MM
David Woodhouse (2):
x86/kexec: Restore GDT on return from ::preserve_context kexec x86/mm: Add _PAGE_NOPTISHADOW bit to avoid updating userspace page tables
Defa Li (1):
i3c: Use i3cdev->desc->info instead of calling i3c_device_get_info() to avoid deadlock
Dmitry Antipov (3):
netfilter: x_tables: fix LED ID check in led_tg_check()
can: j1939: j1939_session_new(): fix skb reference counting
rocker: fix link status detection in rocker_carrier_init()
Dmitry Baryshkov (3):
clk: qcom: rcg2: add clk_rcg2_shared_floor_ops
clk: qcom: rpmh: add support for SAR2130P
clk: qcom: tcsrcc-sm8550: add SAR2130P support
Dmitry Perchanov (1):
media: uvcvideo: RealSense D421 Depth module metadata
Dmitry Torokhov (1):
rtc: cmos: avoid taking rtc_lock for extended period of time
Dom Cobley (1):
drm/vc4: hdmi: Avoid log spam for audio start failure
Donald Hunter (1):
netlink: specs: Add missing bitset attrs to ethtool spec
Elena Salomatkina (1):
net/sched: cbs: Fix integer overflow in cbs_set_port_rate()
Eric Dumazet (4):
net: hsr: avoid potential out-of-bound access in fill_frame_info()
ipv6: introduce dst_rt6_info() helper
geneve: do not assume mac header is set in geneve_xmit_skb()
net: avoid potential UAF in default_operstate()
Esben Haabendal (1):
pinctrl: freescale: fix COMPILE_TEST error with PINCTRL_IMX_SCU
Esther Shimanovich (1):
PCI: Detect and trust built-in Thunderbolt chips
Filipe Manana (1):
btrfs: fix missing snapshot drew unlock when root is dead during swap activation
Frank Li (9):
i3c: master: add enable(disable) hot join in sys entry
i3c: master: svc: add hot join support
i3c: master: fix kernel-doc check warning
i3c: master: svc: Modify enabled_events bit 7:0 to act as IBI enable counter
i3c: master: Replace hard code 2 with macro I3C_ADDR_SLOT_STATUS_BITS
i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED
i3c: master: Fix dynamic address leak when 'assigned-address' is present
i3c: master: Remove i3c_dev_disable_ibi_locked(olddev) on device hotjoin
i3c: master: svc: fix possible assignment of the same address to two devices
Fuad Tabba (1):
KVM: arm64: Change kvm_handle_mmio_return() return polarity
Gabriele Monaco (1):
verification/dot2: Improve dot parser robustness
Ghanshyam Agrawal (3):
jfs: array-index-out-of-bounds fix in dtReadFirst
jfs: fix shift-out-of-bounds in dbSplit
jfs: fix array-index-out-of-bounds in jfs_readdir
Greg Kroah-Hartman (1):
Linux 6.6.66
Gwendal Grignou (1):
scsi: ufs: core: sysfs: Prevent div by zero
Hans de Goede (4):
mmc: sdhci-pci: Add DMI quirk for missing CD GPIO on Vexia Edu Atla 10 tablet
ACPI: x86: Make UART skip quirks work on PCI UARTs without an UID
ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 8 A1-840
ACPI: x86: Clean up Asus entries in acpi_quirk_skip_dmi_ids[]
Haoyu Li (1):
clk: en7523: Initialize num before accessing hws in en7523_register_clocks()
Hari Bathini (1):
selftests/ftrace: adjust offset for kprobe syntax error test
Harini T (1):
watchdog: xilinx_wwdt: Calculate max_hw_heartbeat_ms using clock frequency
Heiner Kallweit (1):
r8169: don't apply UDP padding quirk on RTL8126A
Heming Zhao (1):
ocfs2: Revert "ocfs2: fix the la space leak when unmounting an ocfs2 volume"
Herve Codina (5):
soc: fsl: cpm1: qmc: Fix blank line and spaces
soc: fsl: cpm1: qmc: Re-order probe() operations
soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version
soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version
soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure
Hilda Wu (1):
Bluetooth: btusb: Add RTL8852BE device 0489:e123 to device tables
Hou Tao (5):
bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie
bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem
bpf: Handle in-place update for full LPM trie correctly
bpf: Fix exact match conditions in trie_get_next_key()
bpf: Call free_htab_elem() after htab_unlock_bucket()
Huacai Chen (1):
LoongArch: Fix sleeping in atomic context for PREEMPT_RT
Hugh Dickins (1):
mempolicy: fix migrate_pages(2) syscall return nr_failed
Ido Schimmel (1):
mlxsw: spectrum_acl_flex_keys: Use correct key block on Spectrum-4
Ignat Korchagin (7):
af_packet: avoid erroring out after sock_init_data() in packet_create()
Bluetooth: L2CAP: do not leave dangling sk pointer on error in l2cap_sock_create()
Bluetooth: RFCOMM: avoid leaving dangling sk pointer in rfcomm_sock_alloc()
net: af_can: do not leave a dangling sk pointer in can_create()
net: ieee802154: do not leave a dangling sk pointer in ieee802154_create()
net: inet: do not leave a dangling sk pointer in inet_create()
net: inet6: do not leave a dangling sk pointer in inet6_create()
Igor Artemiev (1):
drm/radeon/r600_cs: Fix possible int overflow in r600_packet3_check()
Imre Deak (3):
drm/dp_mst: Fix MST sideband message body length check drm/dp_mst: Verify request type in the corresponding down message reply drm/dp_mst: Fix resetting msg rx state after topology removal
Ingo Molnar (2):
sched/fair: Rename check_preempt_wakeup() to check_preempt_wakeup_fair() sched/fair: Rename check_preempt_curr() to wakeup_preempt()
Inochi Amaoto (1):
serial: 8250_dw: Add Sophgo SG2044 quirk
Ivan Solodovnikov (1):
dccp: Fix memory leak in dccp_feat_change_recv
Jacob Keller (2):
ixgbevf: stop attempting IPSEC offload on Mailbox API 1.5
ixgbe: downgrade logging of unsupported VF API version to debug
Jakob Hauser (1):
iio: magnetometer: yas530: use signed integer type for clamp limits
Jakub Kicinski (1):
net/neighbor: clear error in case strict check is not set
Jan Stancek (1):
tools/rtla: fix collision with glibc sched_attr/sched_set_attr
Jared Kangas (1):
kasan: make report_lock a raw spinlock
Jarkko Nikula (1):
i3c: mipi-i3c-hci: Mask ring interrupts before ring stop request
Jean-Baptiste Maneyrol (1):
iio: invensense: fix multiple odr switch when FIFO is off
Jens Axboe (1):
io_uring/tctx: work around xa_store() allocation error issue
Jian-Hong Pan (1):
PCI: vmd: Set devices to D0 before enabling PM L1 Substates
Jianbo Liu (1):
net/mlx5e: Remove workaround to avoid syndrome for internal port
Jiapeng Chong (1):
wifi: ipw2x00: libipw_rx_any(): fix bad alignment
Jinghao Jia (1):
ipvs: fix UB due to uninitialized stack access in ip_vs_protocol_init()
Jiri Wiesner (1):
net/ipv6: release expired exception dst cached in socket
Joaquín Ignacio Aramendía (3):
drm: panel-orientation-quirks: Add quirk for AYA NEO 2 model
drm: panel-orientation-quirks: Add quirk for AYA NEO Founder edition
drm: panel-orientation-quirks: Add quirk for AYA NEO GEEK
Johannes Thumshirn (1):
btrfs: don't take dev_replace rwsem on task already holding it
John Garry (1):
scsi: scsi_debug: Fix hrtimer support for ndelay
Jonas Karlman (1):
ASoC: hdmi-codec: reorder channel allocation list
Jordy Zomer (2):
ksmbd: fix Out-of-Bounds Read in ksmbd_vfs_stream_read
ksmbd: fix Out-of-Bounds Write in ksmbd_vfs_stream_write
Justin Tee (1):
scsi: lpfc: Call lpfc_sli4_queue_unset() in restart and rmmod paths
K Prateek Nayak (3):
sched/core: Remove the unnecessary need_resched() check in nohz_csd_func() sched/fair: Check idle_cpu() before need_resched() to detect ilb CPU turning busy sched/core: Prevent wakeup of ksoftirqd during idle load balance
Kai Mäkisara (2):
scsi: st: Don't modify unknown block number in MTIOCGET
scsi: st: Add MTIOCGET and MTLOAD to ioctls allowed after device reset
Kartik Rajput (1):
serial: amba-pl011: Fix RX stall when DMA is used
Kees Cook (2):
lib: stackinit: hide never-taken branch from compiler
smb: client: memcpy() with surrounding object base address
Keita Aihara (1):
mmc: core: Add SD card quirk for broken poweroff notification
Keith Busch (1):
PCI: Add 'reset_subordinate' to reset hierarchy below bridge
Kinsey Moore (1):
jffs2: Prevent rtime decompress memory corruption
Kir Kolyshkin (1):
sched/headers: Move 'struct sched_param' out of uapi, to work around glibc/musl breakage
Konstantin Komarov (1):
fs/ntfs3: Fix case when unmarked clusters intersect with zone
Kory Maincent (1):
ethtool: Fix wrong mod state in case of verbose and no_mask bitset
Kuan-Wei Chiu (1):
tracing: Fix cmp_entries_dup() to respect sort() comparison rules
Kuangyi Chiang (3):
xhci: Combine two if statements for Etron xHCI host
xhci: Don't issue Reset Device command to Etron xHCI host
xhci: Fix control transfer error on Etron xHCI host
Kuniyuki Iwashima (1):
tipc: Fix use-after-free of kernel socket in cleanup_bearer().
Kuro Chung (1):
drm/bridge: it6505: update usleep_range for RC circuit charge time
Lang Yu (1):
drm/amdgpu: refine error handling in amdgpu_ttm_tt_pin_userptr
Larysa Zaremba (1):
xsk: always clear DMA mapping information when unmapping the pool
Levi Yun (1):
dma-debug: fix a possible deadlock on radix_lock
Liao Chen (2):
drm/bridge: it6505: Enable module autoloading drm/mcde: Enable module autoloading
Liequan Che (1):
bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again
Linus Torvalds (1):
Revert "unicode: Don't special case ignorable code points"
Louis Leseur (1):
net/qed: allow old cards not supporting "num_images" to work
Luca Stefani (1):
btrfs: add cancellation points to trim loops
Luiz Augusto von Dentz (1):
Bluetooth: hci_core: Fix not checking skb length on hci_acldata_packet
Maciej Fijalkowski (2):
bpf: fix OOB devmap writes when deleting elements
xsk: fix OOB map writes when deleting elements
Manikandan Muralidharan (1):
drm/panel: simple: Add Microchip AC69T88A LVDS Display panel
Marc Kleine-Budde (3):
can: gs_usb: add VID/PID for Xylanta SAINT3 product family
can: dev: can_set_termination(): allow sleeping GPIOs
can: mcp251xfd: mcp251xfd_get_tef_len(): work around erratum DS80000789E 6.
Marcelo Dalmas (1):
ntp: Remove invalid cast in time offset math
Marco Elver (1):
kcsan: Turn report_filterlist_lock into a raw_spinlock
Marek Vasut (1):
soc: imx8m: Probe the SoC driver as platform driver
Marie Ramlow (1):
ALSA: usb-audio: add mixer mapping for Corsair HS80
Mark Brown (2):
kselftest/arm64: Log fp-stress child startup errors to stdout kselftest/arm64: Don't leak pipe fds in pac.exec_sign_all()
Mark Rutland (1):
arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL
Martin Ottens (1):
net/sched: tbf: correct backlog statistic for GSO packets
Masami Hiramatsu (Google) (1):
tracing/eprobe: Fix to release eprobe when failed to add dyn_event
Mathias Nyman (2):
xhci: remove XHCI_TRUST_TX_LENGTH quirk
xhci: dbc: Fix STALL transfer event handling
Mathieu Desnoyers (1):
tracing/ftrace: disable preemption in syscall probe
Maximilian Heyne (1):
selftests: hid: fix typo and exit code
Maíra Canal (1):
drm/v3d: Enable Performance Counters before clearing them
Mengyuan Lou (1):
PCI: Add ACS quirk for Wangxun FF5xxx NICs
Michael Ellerman (1):
powerpc/prom_init: Fixup missing powermac #size-cells
Michael Grzeschik (1):
usb: dwc3: ep0: Don't reset resource alloc flag (including ep0)
Michal Luczaj (2):
bpf, vsock: Fix poll() missing a queue
bpf, vsock: Invoke proto::close on close()
Mohamed Ghanmi (1):
platform/x86: asus-wmi: add support for vivobook fan profiles
Mukesh Ojha (2):
pinmux: Use sequential access to access desc->pinmux data
leds: class: Protect brightness_show() with led_cdev->led_access mutexNathan Chancellor (1):
powerpc/vdso: Drop -mstack-protector-guard flags in 32-bit files with clang
Nazar Bilinskyi (1):
ALSA: hda/realtek: Enable mute and micmute LED on HP ProBook 430 G8
Nick Chan (1):
watchdog: apple: Actually flush writes after requesting watchdog restart
Nihar Chaithanya (1):
jfs: add a check to prevent array-index-out-of-bounds in dbAdjTree
Nikolay Kuratov (1):
KVM: x86/mmu: Ensure that kvm_release_pfn_clean() takes exact pfn from kvm_faultin_pfn()
Nirmal Patel (1):
PCI: vmd: Add DID 8086:B06F and 8086:B60B for Intel client SKUs
Norbert van Bolhuis (1):
wifi: brcmfmac: Fix oops due to NULL pointer dereference in brcmf_sdiod_sglist_rw()
Nícolas F. R. A. Prado (1):
ASoC: mediatek: mt8188-mt6359: Remove hardcoded dmic codec
Oleksandr Ocheretnyi (1):
iTCO_wdt: mask NMI_NOW bit for update_no_reboot_bit() call
Oliver Upton (1):
KVM: arm64: Don't retire aborted MMIO instruction
Pablo Neira Ayuso (3):
netfilter: nft_socket: remove WARN_ON_ONCE on maximum cgroup level
netfilter: nft_inner: incorrect percpu area handling under softirq
netfilter: nft_set_hash: skip duplicated elements pending gc run
Parker Newman (1):
misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle
Paulo Alcantara (1):
smb: client: don't try following DFS links in cifs_tree_connect()
Pei Xiao (2):
drm/sti: Add __iomem for mixer_dbg_mxn's parameter
spi: mpc52xx: Add cancel_work_sync before module remove
Peng Fan (1):
mmc: sdhci-esdhc-imx: enable quirks SDHCI_QUIRK_NO_LED
Peter Wang (1):
scsi: ufs: core: Add missing post notify for power mode change
Peter Zijlstra (5):
sched: Unify runtime accounting across classes
sched: Remove vruntime from trace_sched_stat_runtime()
sched: Unify more update_curr*()
sched/deadline: Collect sched_dl_entity initialization sched/deadline: Move bandwidth accounting into {en,de}queue_dl_entity
Phil Sutter (1):
netfilter: ipset: Hold module reference while requesting a module
Philipp Stanner (1):
drm/sched: memset() 'job' in drm_sched_job_init()
Ping-Ke Shih (1):
wifi: rtw89: check return value of ieee80211_probereq_get() for RNR
Pratyush Brahma (1):
iommu/arm-smmu: Defer probe of clients after smmu device bound
Prike Liang (2):
drm/amdgpu: Dereference the ATCS ACPI buffer drm/amdgpu: set the right AMDGPU sg segment limitation
Qi Han (1):
f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.
Qianqiang Liu (1):
KMSAN: uninit-value in inode_go_dump (5)
Qu Wenruo (1):
btrfs: avoid unnecessary device path update for the same device
Quinn Tran (3):
scsi: qla2xxx: Fix abort in bsg timeout
scsi: qla2xxx: Fix NVMe and NPIV connect issue
scsi: qla2xxx: Fix use after free on unload
Raghavendra K T (1):
sched/numa: Fix mm numa_scan_seq based unconditional scan
Ralph Boehme (3):
fs/smb/client: avoid querying SMB2_OP_QUERY_WSL_EA for SMB3 POSIX fs/smb/client: Implement new SMB3 POSIX type fs/smb/client: cifs_prime_dcache() for SMB3 POSIX reparse points
Randy Dunlap (1):
scatterlist: fix incorrect func name in kernel-doc
Rasmus Villemoes (1):
setlocalversion: work around "git describe" performance
Reinette Chatre (1):
selftests/resctrl: Protect against array overflow when reading strings
Ricardo Neri (1):
cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU
Richard Weinberger (1):
jffs2: Fix rtime decompressor
Rohan Barar (1):
media: cx231xx: Add support for Dexatek USB Video Grabber 1d19:6108
Roman Gushchin (1):
mm: page_alloc: move mlocked flag clearance into free_pages_prepare()
Rosen Penev (4):
mmc: mtk-sd: use devm_mmc_alloc_host
mmc: mtk-sd: fix devm_clk_get_optional usage
wifi: ath5k: add PCI ID for SX76X
wifi: ath5k: add PCI ID for Arcadyan devices
Ryusuke Konishi (1):
nilfs2: fix potential out-of-bounds memory access in nilfs_find_entry()
Sahas Leelodharry (1):
ALSA: hda/realtek: Add support for Samsung Galaxy Book3 360 (NP730QFG)
Sarah Maedel (1):
hwmon: (nct6775) Add 665-ACE/600M-CL to ASUS WMI monitoring list
Saravana Kannan (3):
driver core: fw_devlink: Improve logs for cycle detection driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link driver core: fw_devlink: Stop trying to optimize cycle detection logic
Saurav Kashyap (1):
scsi: qla2xxx: Remove check req_sg_cnt should be equal to rsp_sg_cnt
Sean Christopherson (1):
x86/CPU/AMD: WARN when setting EFER.AUTOIBRS if and only if the WRMSR fails
Sergey Senozhatsky (3):
zram: split memory-tracking and ac-time tracking
zram: do not mark idle slots that cannot be idle
zram: clear IDLE flag in mark_idle()
Shengyu Qu (1):
net: sfp: change quirks for Alcatel Lucent G-010S-P
Simon Horman (2):
net: fec_mpc52xx_phy: Use %pa to format resource_size_t
net: ethernet: fs_enet: Use %pa to format resource_size_t
Stefan Wahren (1):
spi: spi-fsl-lpspi: Adjust type of scldiv
Steve French (1):
smb3.1.1: fix posix mounts to older servers
Suraj Sonawane (1):
scsi: sg: Fix slab-use-after-free read in sg_release()
Takashi Iwai (9):
ALSA: seq: ump: Use automatic cleanup of kfree()
ALSA: ump: Update substream name from assigned FB names
ALSA: seq: ump: Fix seq port updates per FB info notify
ALSA: usb-audio: Notify xrun for low-latency mode
ALSA: hda: Use own quirk lookup helper
ALSA: hda/conexant: Use the new codec SSID matching
ALSA: usb-audio: Make mic volume workarounds globally applicable
ALSA: hda: Fix build error without CONFIG_SND_DEBUG
ALSA: usb-audio: Update UMP group attributes for GTB blocks, too
Tao Lyu (1):
bpf: Fix narrow scalar spill onto 64-bit spilled scalar slots
Tetsuo Handa (1):
ocfs2: free inode when ocfs2_get_init_inode() fails
Thinh Nguyen (3):
usb: dwc3: gadget: Rewrite endpoint allocation flow
usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED
usb: dwc3: ep0: Don't reset resource alloc flag
Thomas Gleixner (2):
serial: amba-pl011: Use port lock wrappers
modpost: Add .irqentry.text to OTHER_SECTIONS
Thomas Richter (1):
s390/cpum_sf: Handle CPU hotplug remove during sampling
Tomas Glozar (1):
rtla/timerlat: Make timerlat_top_cpu->*_count unsigned long long
Tvrtko Ursulin (2):
dma-fence: Fix reference leak on fence merge failure path
dma-fence: Use kernel's sort for merging fences
Ulf Hansson (1):
mmc: core: Further prevent card detect during shutdown
Uros Bizjak (1):
tracing: Use atomic64_inc_return() in trace_clock_counter()
Uwe Kleine-König (2):
soc/fsl: cpm: qmc: Convert to platform remove callback returning void
ASoC: amd: yc: Add quirk for microphone on Lenovo Thinkpad T14s Gen 6 21M1CTO1WW
Vadim Fedorenko (1):
net-timestamp: make sk_tskey more predictable in error path
Victor Lu (1):
drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts for vega20_ih
Victor Zhao (1):
drm/amdgpu: skip amdgpu_device_cache_pci_state under sriov
Wander Lairson Costa (1):
sched/deadline: Fix warning in migrate_enable for boosted tasks
WangYuli (1):
HID: wacom: fix when get product name maybe null pointer
Wei Fang (1):
net: enetc: Do not configure preemptible TCs if SIs do not support
Wen Gu (11):
net/smc: rename some 'fce' to 'fce_v2x' for clarity net/smc: introduce sub-functions for smc_clc_send_confirm_accept() net/smc: unify the structs of accept or confirm message for v1 and v2 net/smc: define a reserved CHID range for virtual ISM devices net/smc: compatible with 128-bits extended GID of virtual ISM device net/smc: mark optional smcd_ops and check for support when called net/smc: add operations to merge sndbuf with peer DMB net/smc: {at|de}tach sndbuf to peer DMB if supported net/smc: initialize close_work early to avoid warning net/smc: fix LGR and link use-after-free issue
net/smc: fix incorrect SMC-D link group matching logic
Wengang Wang (1):
ocfs2: update seq_file index in ocfs2_dlm_seq_next
Xi Ruoyao (1):
MIPS: Loongson64: DTS: Really fix PCIe port nodes for ls7a
Xiang Liu (1):
drm/amdgpu/vcn: reset fw_shared when VCPU buffers corrupted on vcn v4.0.3
Xin Long (1):
net: sched: fix erspan_opt settings in cls_flower
Xu Yang (1):
usb: chipidea: udc: handle USB Error Interrupt if IOC not set
Xuan Zhuo (1):
virtio-net: fix overflow inside virtnet_rq_alloc
Yassine Oudjana (1):
watchdog: mediatek: Make sure system reset gets asserted in mtk_wdt_restart()
Yi Yang (1):
nvdimm: rectify the illogical code within nd_dax_probe()
Yihang Li (1):
scsi: hisi_sas: Add cond_resched() for no forced preemption model
Yishai Hadas (1):
vfio/mlx5: Align the page tracking max message size with the device capability
Yuan Can (1):
igb: Fix potential invalid memory access in igb_init_module()
Zheng Yejian (1):
mm/damon/vaddr: fix issue in damon_va_evenly_split_region()
Zhu Jun (1):
samples/bpf: Fix a resource leak
Zijian Zhang (1):
tcp_bpf: Fix the sk_mem_uncharge logic in tcp_bpf_sendmsg
Ziqi Chen (1):
scsi: ufs: core: Add ufshcd_send_bsg_uic_cmd() for UFS BSG
devi priya (1):
PCI: qcom: Add support for IPQ9574
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-bus-pci +11 -0
@@ -163,6 +163,17 @@ Description: will be present in sysfs. Writing 1 to this file will perform reset. +What: /sys/bus/pci/devices/.../reset_subordinate +Date: October 2024 +Contact: [email protected] +Description: + This is visible only for bridge devices. If you want to reset + all devices attached through the subordinate bus of a specific + bridge device, writing 1 to this will try to do it. This will + affect all devices attached to the system through this bridge + similiar to writing 1 to their individual "reset" file, so use + with caution. + What: /sys/bus/pci/devices/.../vpd Date: February 2008 Contact: Ben Hutchings <[email protected]>
Documentation/admin-guide/blockdev/zram.rst +1 -1
@@ -328,7 +328,7 @@ as idle:: From now on, any pages on zram are idle pages. The idle mark will be removed until someone requests access of the block. IOW, unless there is access request, those pages are still idle pages. -Additionally, when CONFIG_ZRAM_MEMORY_TRACKING is enabled pages can be +Additionally, when CONFIG_ZRAM_TRACK_ENTRY_ACTIME is enabled pages can be marked as idle based on how long (in seconds) it's been since they were last accessed::
Documentation/netlink/specs/ethtool.yaml +6 -1
@@ -64,7 +64,12 @@ attribute-sets: name: bits type: nest nested-attributes: bitset-bits - + - + name: value + type: binary + - + name: mask + type: binary - name: string attributes:
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 6 -SUBLEVEL = 65 +SUBLEVEL = 66 EXTRAVERSION = NAME = Pinguïn Aangedreven
arch/arm64/kernel/ptrace.c +5 -1
@@ -1385,7 +1385,7 @@ static int tagged_addr_ctrl_get(struct task_struct *target, {long ctrl =get_tagged_addr_ctrl (target); -if (IS_ERR_VALUE (ctrl)) +if (WARN_ON_ONCE (IS_ERR_VALUE (ctrl)))return ctrl;return membuf_write (&to, &ctrl,sizeof (ctrl));
@@ -1399,6 +1399,10 @@ static int tagged_addr_ctrl_set(struct task_struct *target, const structint ret;long ctrl; + ctrl =get_tagged_addr_ctrl (target); +if (WARN_ON_ONCE (IS_ERR_VALUE (ctrl))) +return ctrl; + ret =user_regset_copyin (&pos, &count, &kbuf, &ubuf, &ctrl,0 ,-1 );if (ret)return ret;
arch/arm64/kvm/arm.c +1 -1
@@ -900,7 +900,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)if (run->exit_reason ==KVM_EXIT_MMIO ) { ret =kvm_handle_mmio_return (vcpu); -if (ret) +if (ret <=0 )return ret; }
arch/arm64/kvm/mmio.c +32 -4
@@ -72,6 +72,31 @@ unsigned long kvm_mmio_read_buf(const void *buf, unsigned int len)return data; } +static bool kvm_pending_sync_exception (struct kvm_vcpu *vcpu) +{ +if (!vcpu_get_flag (vcpu,PENDING_EXCEPTION )) +return false; + +if (vcpu_el1_is_32bit (vcpu)) { +switch (vcpu_get_flag (vcpu,EXCEPT_MASK )) { +case unpack_vcpu_flag (EXCEPT_AA32_UND ): +case unpack_vcpu_flag (EXCEPT_AA32_IABT ): +case unpack_vcpu_flag (EXCEPT_AA32_DABT ): +return true; +default : +return false; + } + }else { +switch (vcpu_get_flag (vcpu,EXCEPT_MASK )) { +case unpack_vcpu_flag (EXCEPT_AA64_EL1_SYNC ): +case unpack_vcpu_flag (EXCEPT_AA64_EL2_SYNC ): +return true; +default : +return false; + } + } +} +/** * kvm_handle_mmio_return -- Handle MMIO loads after user space emulation * or in-kernel IO emulation
@@ -84,9 +109,12 @@ int kvm_handle_mmio_return(struct kvm_vcpu *vcpu)unsigned int len;int mask; -/* Detect an already handled MMIO return */ -if (unlikely (!vcpu->mmio_needed)) -return 0 ; +/* +* Detect if the MMIO return was already handled or if userspace aborted +* the MMIO access. +*/ +if (unlikely (!vcpu->mmio_needed ||kvm_pending_sync_exception (vcpu))) +return 1 ; vcpu->mmio_needed =0 ;
@@ -117,7 +145,7 @@ int kvm_handle_mmio_return(struct kvm_vcpu *vcpu)*/ kvm_incr_pc (vcpu); -return 0 ; +return 1 ; }int io_mem_abort (struct kvm_vcpu *vcpu,phys_addr_t fault_ipa)
arch/arm64/mm/context.c +2 -2
@@ -32,9 +32,9 @@ static unsigned long nr_pinned_asids;static unsigned long *pinned_asid_map;#define ASID_MASK (~GENMASK(asid_bits - 1, 0)) -#define ASID_FIRST_VERSION (1UL << asid_bits) +#define ASID_FIRST_VERSION (1UL << 16) -#define NUM_USER_ASIDS ASID_FIRST_VERSION +#define NUM_USER_ASIDS (1UL << asid_bits)#define ctxid2asid (asid) ((asid) & ~ASID_MASK)#define asid2ctxid (asid, genid) ((asid) | (genid))
arch/loongarch/include/asm/hugetlb.h +10 -0
@@ -29,6 +29,16 @@ static inline int prepare_hugepage_range(struct file *file,return 0 ; } +#define __HAVE_ARCH_HUGE_PTE_CLEAR +static inline void huge_pte_clear (struct mm_struct *mm,unsigned long addr, +pte_t *ptep,unsigned long sz) +{ +pte_t clear; + +pte_val (clear) = (unsigned long )invalid_pte_table; +set_pte_at (mm, addr, ptep, clear); +} +#define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEARstatic inline pte_t huge_ptep_get_and_clear (struct mm_struct *mm,unsigned long addr,pte_t *ptep)
arch/loongarch/mm/tlb.c +1 -1
@@ -292,7 +292,7 @@ static void setup_tlb_handler(int cpu)/* Avoid lockdep warning */ rcu_cpu_starting (cpu); -#ifdef CONFIG_NUMA +#if defined(CONFIG_NUMA ) && !defined(CONFIG_PREEMPT_RT ) vec_sz =sizeof (exception_handlers);if (pcpu_handlers[cpu])
arch/mips/boot/dts/loongson/ls7a-pch.dtsi +60 -13
215 lines not on this page · raw message
arch/powerpc/kernel/prom_init.c +27 -2
@@ -2924,7 +2924,7 @@ static void __init fixup_device_tree_chrp(void)#endif #if defined(CONFIG_PPC64 ) && defined(CONFIG_PPC_PMAC ) -static void __init fixup_device_tree_pmac (void ) +static void __init fixup_device_tree_pmac64 (void ) {phandle u3, i2c, mpic;u32 u3_rev;
@@ -2964,7 +2964,31 @@ static void __init fixup_device_tree_pmac(void) &parent, sizeof(parent)); }#else -#define fixup_device_tree_pmac () +#define fixup_device_tree_pmac64 () +#endif + +#ifdef CONFIG_PPC_PMAC +static void __init fixup_device_tree_pmac (void ) +{ +__be32 val =1 ; +char type[8 ]; +phandle node; + +// Some pmacs are missing #size-cells on escc nodes +for (node =0 ;prom_next_node (&node); ) { + type[0 ] ='\0' ; +prom_getprop (node,"device_type" , type,sizeof (type)); +if (prom_strcmp (type,"escc" )) +continue ; + +if (prom_getproplen (node,"#size-cells" ) !=PROM_ERROR ) +continue ; + +prom_setprop (node,NULL ,"#size-cells" , &val,sizeof (val)); + } +} +#else +static inline void fixup_device_tree_pmac (void ) { }#endif #ifdef CONFIG_PPC_EFIKA
@@ -3189,6 +3213,7 @@ static void __init fixup_device_tree(void)fixup_device_tree_maple_memory_controller ();fixup_device_tree_chrp ();fixup_device_tree_pmac (); +fixup_device_tree_pmac64 ();fixup_device_tree_efika ();fixup_device_tree_pasemi (); }
arch/powerpc/kernel/vdso/Makefile +17 -19
@@ -10,28 +10,11 @@ obj-vdso64 = sigtramp64-64.o gettimeofday-64.o datapage-64.o cacheflush-64.o not ifneq ($(c-gettimeofday-y),) CFLAGS_vgettimeofday-32.o += -include $(c-gettimeofday-y) - CFLAGS_vgettimeofday-32.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) - CFLAGS_vgettimeofday-32.o += $(call cc-option, -fno-stack-protector) - CFLAGS_vgettimeofday-32.o += -DDISABLE_BRANCH_PROFILING - CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables - CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE) - CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc - # This flag is supported by clang for 64-bit but not 32-bit so it will cause - # an unused command line flag warning for this file. - ifdef CONFIG_CC_IS_CLANG - CFLAGS_REMOVE_vgettimeofday-32.o += -fno-stack-clash-protection - endif - CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y) - CFLAGS_vgettimeofday-64.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) - CFLAGS_vgettimeofday-64.o += $(call cc-option, -fno-stack-protector) - CFLAGS_vgettimeofday-64.o += -DDISABLE_BRANCH_PROFILING - CFLAGS_vgettimeofday-64.o += -ffreestanding -fasynchronous-unwind-tables - CFLAGS_REMOVE_vgettimeofday-64.o = $(CC_FLAGS_FTRACE) # Go prior to 1.16.x assumes r30 is not clobbered by any VDSO code. That used to be true # by accident when the VDSO was hand-written asm code, but may not be now that the VDSO is # compiler generated. To avoid breaking Go tell GCC not to use r30. Impact on code # generation is minimal, it will just use r29 instead. - CFLAGS_vgettimeofday-64.o += $(call cc-option, -ffixed-r30) + CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y) $(call cc-option, -ffixed-r30) endif # Build rules
@@ -54,6 +37,11 @@ KASAN_SANITIZE := n KCSAN_SANITIZE := n ccflags-y := -fno-common -fno-builtin +ccflags-y += $(DISABLE_LATENT_ENTROPY_PLUGIN) +ccflags-y += $(call cc-option, -fno-stack-protector) +ccflags-y += -DDISABLE_BRANCH_PROFILING +ccflags-y += -ffreestanding -fasynchronous-unwind-tables +ccflags-remove-y := $(CC_FLAGS_FTRACE) ldflags-y := -Wl,--hash-style=both -nostdlib -shared -z noexecstack $(CLANG_FLAGS) ldflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld) ldflags-$(CONFIG_LD_ORPHAN_WARN) += -Wl,--orphan-handling=$(CONFIG_LD_ORPHAN_WARN_LEVEL)
@@ -62,6 +50,16 @@ ldflags-$(CONFIG_LD_ORPHAN_WARN) += -Wl,--orphan-handling=$(CONFIG_LD_ORPHAN_WAR ldflags-y += $(filter-out $(CC_AUTO_VAR_INIT_ZERO_ENABLER) $(CC_FLAGS_FTRACE) -Wa$(comma)%, $(KBUILD_CFLAGS)) CC32FLAGS := -m32 +CC32FLAGSREMOVE := -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc +ifdef CONFIG_CC_IS_CLANG +# This flag is supported by clang for 64-bit but not 32-bit so it will cause +# an unused command line flag warning for this file. +CC32FLAGSREMOVE += -fno-stack-clash-protection +# -mstack-protector-guard values from the 64-bit build are not valid for the +# 32-bit one. clang validates the values passed to these arguments during +# parsing, even when -fno-stack-protector is passed afterwards. +CC32FLAGSREMOVE += -mstack-protector-guard% +endif LD32FLAGS := -Wl,-soname=linux-vdso32.so.1 AS32FLAGS := -D__VDSO32__
@@ -108,7 +106,7 @@ quiet_cmd_vdso32ld_and_check = VDSO32L $@ quiet_cmd_vdso32as = VDSO32A $@ cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) $(AS32FLAGS) -c -o $@ $< quiet_cmd_vdso32cc = VDSO32C $@ - cmd_vdso32cc = $(VDSOCC) $(c_flags) $(CC32FLAGS) -c -o $@ $< + cmd_vdso32cc = $(VDSOCC) $(filter-out $(CC32FLAGSREMOVE), $(c_flags)) $(CC32FLAGS) -c -o $@ $< quiet_cmd_vdso64ld_and_check = VDSO64L $@ cmd_vdso64ld_and_check = $(VDSOCC) $(ldflags-y) $(LD64FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^); $(cmd_vdso_check)
arch/s390/kernel/perf_cpum_sf.c +3 -1
@@ -1922,7 +1922,9 @@ static void cpumsf_pmu_stop(struct perf_event *event, int flags) event->hw.state |=PERF_HES_STOPPED ;if ((flags &PERF_EF_UPDATE ) && !(event->hw.state &PERF_HES_UPTODATE )) { -hw_perf_event_update (event,1 ); +/* CPU hotplug off removes SDBs. No samples to extract. */ +if (cpuhw->flags &PMU_F_RESERVED ) +hw_perf_event_update (event,1 ); event->hw.state |=PERF_HES_UPTODATE ; }perf_pmu_enable (event->pmu);
arch/x86/events/amd/core.c +8 -2
@@ -895,11 +895,12 @@ static int amd_pmu_handle_irq(struct pt_regs *regs)static int amd_pmu_v2_handle_irq (struct pt_regs *regs) {struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events); +static atomic64_t status_warned =ATOMIC64_INIT (0 ); +u64 reserved, status, mask, new_bits, prev_bits;struct perf_sample_data data;struct hw_perf_event *hwc;struct perf_event *event;int handled =0 , idx; -u64 reserved, status, mask;bool pmu_enabled;/*
@@ -964,7 +965,12 @@ static int amd_pmu_v2_handle_irq(struct pt_regs *regs)* the corresponding PMCs are expected to be inactive according to the * active_mask */ -WARN_ON (status >0 ); +if (status >0 ) { + prev_bits =atomic64_fetch_or (status, &status_warned); +// A new bit was set for the very first time. + new_bits = status & ~prev_bits; +WARN (new_bits,"New overflows for inactive PMCs: %llx\n" , new_bits); + }/* Clear overflow and freeze bits */ amd_pmu_ack_global_status (~status);
arch/x86/include/asm/pgtable_types.h +6 -2
@@ -36,10 +36,12 @@#define _PAGE_BIT_DEVMAP _PAGE_BIT_SOFTW4#ifdef CONFIG_X86_64 -#define _PAGE_BIT_SAVED_DIRTY _PAGE_BIT_SOFTW5/* Saved Dirty bit */ +#define _PAGE_BIT_SAVED_DIRTY _PAGE_BIT_SOFTW5/* Saved Dirty bit (leaf) */ +#define _PAGE_BIT_NOPTISHADOW _PAGE_BIT_SOFTW5/* No PTI shadow (root PGD) */ #else /* Shared with _PAGE_BIT_UFFD_WP which is not supported on 32 bit */ -#define _PAGE_BIT_SAVED_DIRTY _PAGE_BIT_SOFTW2/* Saved Dirty bit */ +#define _PAGE_BIT_SAVED_DIRTY _PAGE_BIT_SOFTW2/* Saved Dirty bit (leaf) */ +#define _PAGE_BIT_NOPTISHADOW _PAGE_BIT_SOFTW2/* No PTI shadow (root PGD) */ #endif /* If _PAGE_BIT_PRESENT is clear, we use these: */
@@ -139,6 +141,8 @@#define _PAGE_PROTNONE (_AT(pteval_t, 1) << _PAGE_BIT_PROTNONE) +#define _PAGE_NOPTISHADOW (_AT(pteval_t, 1) << _PAGE_BIT_NOPTISHADOW) +/* * Set of bits not changed in pte_modify. The pte's * protection key is treated like _PAGE_RW, for
arch/x86/kernel/cpu/amd.c +1 -1
@@ -1205,7 +1205,7 @@ static void init_amd(struct cpuinfo_x86 *c)*/ if (spectre_v2_in_eibrs_mode (spectre_v2_enabled) &&cpu_has (c,X86_FEATURE_AUTOIBRS )) -WARN_ON_ONCE (msr_set_bit (MSR_EFER , _EFER_AUTOIBRS)); +WARN_ON_ONCE (msr_set_bit (MSR_EFER , _EFER_AUTOIBRS) <0 );if (!cpu_has (c,X86_FEATURE_HYPERVISOR ) &&cpu_has_amd_erratum (c, amd_erratum_1485))
arch/x86/kernel/relocate_kernel_64.S +8 -0
@@ -11,6 +11,7 @@ #include <asm/pgtable_types.h> #include <asm/nospec-branch.h> #include <asm/unwind_hints.h> +#include <asm/asm-offsets.h> /* * Must be relocatable PIC code callable as a C function, in particular
@@ -240,6 +241,13 @@ SYM_CODE_START_LOCAL_NOALIGN(virtual_mapped) movq CR0(%r8), %r8 movq %rax, %cr3 movq %r8, %cr0 + +#ifdef CONFIG_KEXEC_JUMP + /* Saved in save_processor_state. */ + movq $saved_context, %rax + lgdt saved_context_gdt_desc(%rax) +#endif + movq %rbp, %rax popf
arch/x86/kvm/mmu/mmu.c +8 -2
@@ -4363,6 +4363,7 @@ static bool is_page_fault_stale(struct kvm_vcpu *vcpu,static int direct_page_fault (struct kvm_vcpu *vcpu,struct kvm_page_fault *fault) { +kvm_pfn_t orig_pfn;int r;/* Dummy roots are used only for shadowing bad guest roots. */
@@ -4384,6 +4385,8 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *faultif (r !=RET_PF_CONTINUE )return r; + orig_pfn = fault->pfn; + r =RET_PF_RETRY ;write_lock (&vcpu->kvm->mmu_lock);
@@ -4398,7 +4401,7 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault out_unlock:write_unlock (&vcpu->kvm->mmu_lock); -kvm_release_pfn_clean (fault->pfn); +kvm_release_pfn_clean (orig_pfn);return r; }
@@ -4447,6 +4450,7 @@ EXPORT_SYMBOL_GPL(kvm_handle_page_fault);static int kvm_tdp_mmu_page_fault (struct kvm_vcpu *vcpu,struct kvm_page_fault *fault) { +kvm_pfn_t orig_pfn;int r;if (page_fault_handle_page_track (vcpu, fault))
@@ -4464,6 +4468,8 @@ static int kvm_tdp_mmu_page_fault(struct kvm_vcpu *vcpu,if (r !=RET_PF_CONTINUE )return r; + orig_pfn = fault->pfn; + r =RET_PF_RETRY ;read_lock (&vcpu->kvm->mmu_lock);
@@ -4474,7 +4480,7 @@ static int kvm_tdp_mmu_page_fault(struct kvm_vcpu *vcpu, out_unlock:read_unlock (&vcpu->kvm->mmu_lock); -kvm_release_pfn_clean (fault->pfn); +kvm_release_pfn_clean (orig_pfn); return r; }#endif
arch/x86/kvm/mmu/paging_tmpl.h +4 -1
@@ -777,6 +777,7 @@ static int FNAME(fetch)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault,static int FNAME (page_fault )(struct kvm_vcpu *vcpu,struct kvm_page_fault *fault) {struct guest_walker walker; +kvm_pfn_t orig_pfn;int r;WARN_ON_ONCE (fault->is_tdp);
@@ -835,6 +836,8 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault walker.pte_access &= ~ACC_EXEC_MASK ; } + orig_pfn = fault->pfn; + r =RET_PF_RETRY ;write_lock (&vcpu->kvm->mmu_lock);
@@ -848,7 +851,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault out_unlock:write_unlock (&vcpu->kvm->mmu_lock); -kvm_release_pfn_clean (fault->pfn); +kvm_release_pfn_clean (orig_pfn);return r; }
arch/x86/mm/ident_map.c +3 -3
@@ -88,7 +88,7 @@ static int ident_p4d_init(struct x86_mapping_info *info, p4d_t *p4d_page,if (result)return result; -set_p4d (p4d,__p4d (__pa (pud) | info->kernpg_flag)); +set_p4d (p4d,__p4d (__pa (pud) | info->kernpg_flag | _PAGE_NOPTISHADOW)); }return 0 ;
@@ -132,14 +132,14 @@ int kernel_ident_mapping_init(struct x86_mapping_info *info, pgd_t *pgd_page,if (result)return result;if (pgtable_l5_enabled ()) { -set_pgd (pgd,__pgd (__pa (p4d) | info->kernpg_flag)); +set_pgd (pgd,__pgd (__pa (p4d) | info->kernpg_flag | _PAGE_NOPTISHADOW)); }else {/* * With p4d folded, pgd is equal to p4d. * The pgd entry has to point to the pud page table in this case. */ pud_t *pud =pud_offset (p4d,0 ); -set_pgd (pgd,__pgd (__pa (pud) | info->kernpg_flag)); +set_pgd (pgd,__pgd (__pa (pud) | info->kernpg_flag | _PAGE_NOPTISHADOW)); } }
arch/x86/mm/pti.c +1 -1
@@ -132,7 +132,7 @@ pgd_t __pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd)* Top-level entries added to init_mm's usermode pgd after boot * will not be automatically propagated to other mms. */ -if (!pgdp_maps_userspace (pgdp)) +if (!pgdp_maps_userspace (pgdp) || (pgd.pgd & _PAGE_NOPTISHADOW))return pgd;/*
arch/x86/pci/acpi.c +119 -0
125 lines not on this page · raw message
drivers/acpi/x86/utils.c +62 -15
133 lines not on this page · raw message
drivers/base/cacheinfo.c +8 -6
@@ -58,7 +58,7 @@ bool last_level_cache_is_valid(unsigned int cpu) {struct cacheinfo *llc; -if (!cache_leaves (cpu)) +if (!cache_leaves (cpu) || !per_cpu_cacheinfo (cpu))return false; llc =per_cpu_cacheinfo_idx (cpu,cache_leaves (cpu) -1 );
@@ -478,11 +478,9 @@ int __weak populate_cache_leaves(unsigned int cpu)return -ENOENT ; } -static inline -int allocate_cache_info (int cpu) +static inline int allocate_cache_info (int cpu) { -per_cpu_cacheinfo (cpu) =kcalloc (cache_leaves (cpu), -sizeof (struct cacheinfo ),GFP_ATOMIC ); +per_cpu_cacheinfo (cpu) =kcalloc (cache_leaves (cpu),sizeof (struct cacheinfo ),GFP_ATOMIC );if (!per_cpu_cacheinfo (cpu)) {cache_leaves (cpu) =0 ;return -ENOMEM ;
@@ -554,7 +552,11 @@ static inline int init_level_allocate_ci(unsigned int cpu)*/ ci_cacheinfo (cpu)->early_ci_levels = false; -if (cache_leaves (cpu) <= early_leaves) +/* +* Some architectures (e.g., x86) do not use early initialization. +* Allocate memory now in such case. +*/ +if (cache_leaves (cpu) <= early_leaves &&per_cpu_cacheinfo (cpu))return 0 ;kfree (per_cpu_cacheinfo (cpu));
drivers/base/core.c +38 -31
139 lines not on this page · raw message
drivers/base/regmap/internal.h +1 -0
@@ -59,6 +59,7 @@ struct regmap {unsigned long raw_spinlock_flags; }; }; +struct lock_class_key *lock_key;regmap_lock lock;regmap_unlock unlock;void *lock_arg;/* This is passed to lock/unlock functions */
drivers/base/regmap/regcache-maple.c +3 -0
@@ -356,6 +356,9 @@ static int regcache_maple_init(struct regmap *map)mt_init (mt); +if (!mt_external_lock (mt) && map->lock_key) +lockdep_set_class_and_subclass (&mt->ma_lock, map->lock_key,1 ); +if (!map->num_reg_defaults)return 0 ;
drivers/base/regmap/regmap.c +13 -0
@@ -598,6 +598,17 @@ int regmap_attach_dev(struct device *dev, struct regmap *map, }EXPORT_SYMBOL_GPL (regmap_attach_dev); +static int dev_get_regmap_match (struct device *dev,void *res,void *data); + +static int regmap_detach_dev (struct device *dev,struct regmap *map) +{ +if (!dev) +return 0 ; + +return devres_release (dev, dev_get_regmap_release, + dev_get_regmap_match, (void *)map->name); +} +static enum regmap_endian regmap_get_reg_endian (const struct regmap_bus *bus,const struct regmap_config *config) {
@@ -745,6 +756,7 @@ struct regmap *__regmap_init(struct device *dev, lock_key, lock_name); } map->lock_arg = map; + map->lock_key = lock_key; }/*
@@ -1442,6 +1454,7 @@ void regmap_exit(struct regmap *map) {struct regmap_async *async; +regmap_detach_dev (map->dev, map);regcache_exit (map);regmap_debugfs_exit (map);regmap_range_exit (map);
drivers/block/zram/Kconfig +10 -1
@@ -69,9 +69,18 @@ config ZRAM_WRITEBACK See Documentation/admin-guide/blockdev/zram.rst for more information. +config ZRAM_TRACK_ENTRY_ACTIME + bool "Track access time of zram entries" + depends on ZRAM + help + With this feature zram tracks access time of every stored + entry (page), which can be used for a more fine grained IDLE + pages writeback. + config ZRAM_MEMORY_TRACKING bool "Track zRam block status" depends on ZRAM && DEBUG_FS + select ZRAM_TRACK_ENTRY_ACTIME help With this feature, admin can track the state of allocated blocks of zRAM. Admin could see the information via
@@ -86,4 +95,4 @@ config ZRAM_MULTI_COMP This will enable multi-compression streams, so that ZRAM can re-compress pages using a potentially slower but more effective compression algorithm. Note, that IDLE page recompression - requires ZRAM_MEMORY_TRACKING. + requires ZRAM_TRACK_ENTRY_ACTIME.
drivers/block/zram/zram_drv.c +31 -19
89 lines not on this page · raw message
drivers/block/zram/zram_drv.h +1 -1
@@ -69,7 +69,7 @@ struct zram_table_entry {unsigned long element; };unsigned long flags; -#ifdef CONFIG_ZRAM_MEMORY_TRACKING +#ifdef CONFIG_ZRAM_TRACK_ENTRY_ACTIME ktime_t ac_time;#endif };
drivers/bluetooth/btusb.c +4 -0
@@ -555,6 +555,8 @@ static const struct usb_device_id quirks_table[] = { BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x13d3, 0x3591), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0489, 0xe123), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x0489, 0xe125), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH },
@@ -4488,6 +4490,8 @@ static int btusb_probe(struct usb_interface *intf,set_bit (HCI_QUIRK_BROKEN_SET_RPA_TIMEOUT , &hdev->quirks);set_bit (HCI_QUIRK_BROKEN_EXT_SCAN , &hdev->quirks);set_bit (HCI_QUIRK_BROKEN_READ_ENC_KEY_SIZE , &hdev->quirks); +set_bit (HCI_QUIRK_BROKEN_EXT_CREATE_CONN , &hdev->quirks); +set_bit (HCI_QUIRK_BROKEN_WRITE_AUTH_PAYLOAD_TIMEOUT , &hdev->quirks); }if (!reset)
drivers/clk/clk-en7523.c +2 -2
@@ -284,6 +284,8 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_datu32 rate;int i; + clk_data->num =EN7523_NUM_CLOCKS ; +for (i =0 ; i <ARRAY_SIZE (en7523_base_clks); i++) {const struct en_clk_desc *desc = &en7523_base_clks[i];
@@ -302,8 +304,6 @@ static void en7523_register_clocks(struct device *dev, struct clk_hw_onecell_dat hw =en7523_register_pcie_clk (dev, np_base); clk_data->hws[EN7523_CLK_PCIE ] = hw; - - clk_data->num =EN7523_NUM_CLOCKS ; }static int en7523_clk_probe (struct platform_device *pdev)
drivers/clk/qcom/clk-rcg.h +1 -0
@@ -176,6 +176,7 @@ extern const struct clk_ops clk_byte2_ops;extern const struct clk_ops clk_pixel_ops;extern const struct clk_ops clk_gfx3d_ops;extern const struct clk_ops clk_rcg2_shared_ops; +extern const struct clk_ops clk_rcg2_shared_floor_ops;extern const struct clk_ops clk_rcg2_shared_no_init_park_ops;extern const struct clk_ops clk_dp_ops;
drivers/clk/qcom/clk-rcg2.c +43 -5
74 lines not on this page · raw message
drivers/clk/qcom/clk-rpmh.c +13 -0
@@ -385,6 +385,18 @@ DEFINE_CLK_RPMH_BCM(ipa, "IP0");DEFINE_CLK_RPMH_BCM (pka,"PKA0" );DEFINE_CLK_RPMH_BCM (qpic_clk,"QP0" ); +static struct clk_hw *sar2130p_rpmh_clocks[] = { + [RPMH_CXO_CLK ] = &clk_rpmh_bi_tcxo_div1.hw, + [RPMH_CXO_CLK_A ] = &clk_rpmh_bi_tcxo_div1_ao.hw, + [RPMH_RF_CLK1 ] = &clk_rpmh_rf_clk1_a.hw, + [RPMH_RF_CLK1_A ] = &clk_rpmh_rf_clk1_a_ao.hw, +}; + +static const struct clk_rpmh_desc clk_rpmh_sar2130p = { + .clks = sar2130p_rpmh_clocks, + .num_clks =ARRAY_SIZE (sar2130p_rpmh_clocks), +}; +static struct clk_hw *sdm845_rpmh_clocks[] = { [RPMH_CXO_CLK ] = &clk_rpmh_bi_tcxo_div2.hw, [RPMH_CXO_CLK_A ] = &clk_rpmh_bi_tcxo_div2_ao.hw,
@@ -804,6 +816,7 @@ static int clk_rpmh_probe(struct platform_device *pdev)static const struct of_device_id clk_rpmh_match_table[] = { { .compatible ="qcom,qdu1000-rpmh-clk" , .data = &clk_rpmh_qdu1000}, { .compatible ="qcom,sa8775p-rpmh-clk" , .data = &clk_rpmh_sa8775p}, + { .compatible ="qcom,sar2130p-rpmh-clk" , .data = &clk_rpmh_sar2130p}, { .compatible ="qcom,sc7180-rpmh-clk" , .data = &clk_rpmh_sc7180}, { .compatible ="qcom,sc8180x-rpmh-clk" , .data = &clk_rpmh_sc8180x}, { .compatible ="qcom,sc8280xp-rpmh-clk" , .data = &clk_rpmh_sc8280xp},
drivers/clk/qcom/tcsrcc-sm8550.c +16 -2
@@ -129,6 +129,13 @@ static struct clk_branch tcsr_usb3_clkref_en = { }, }; +static struct clk_regmap *tcsr_cc_sar2130p_clocks[] = { + [TCSR_PCIE_0_CLKREF_EN ] = &tcsr_pcie_0_clkref_en.clkr, + [TCSR_PCIE_1_CLKREF_EN ] = &tcsr_pcie_1_clkref_en.clkr, + [TCSR_USB2_CLKREF_EN ] = &tcsr_usb2_clkref_en.clkr, + [TCSR_USB3_CLKREF_EN ] = &tcsr_usb3_clkref_en.clkr, +}; +static struct clk_regmap *tcsr_cc_sm8550_clocks[] = { [TCSR_PCIE_0_CLKREF_EN ] = &tcsr_pcie_0_clkref_en.clkr, [TCSR_PCIE_1_CLKREF_EN ] = &tcsr_pcie_1_clkref_en.clkr,
@@ -146,6 +153,12 @@ static const struct regmap_config tcsr_cc_sm8550_regmap_config = { .fast_io = true, }; +static const struct qcom_cc_desc tcsr_cc_sar2130p_desc = { + .config = &tcsr_cc_sm8550_regmap_config, + .clks = tcsr_cc_sar2130p_clocks, + .num_clks =ARRAY_SIZE (tcsr_cc_sar2130p_clocks), +}; +static const struct qcom_cc_desc tcsr_cc_sm8550_desc = { .config = &tcsr_cc_sm8550_regmap_config, .clks = tcsr_cc_sm8550_clocks,
@@ -153,7 +166,8 @@ static const struct qcom_cc_desc tcsr_cc_sm8550_desc = { };static const struct of_device_id tcsr_cc_sm8550_match_table[] = { - { .compatible ="qcom,sm8550-tcsr" }, + { .compatible ="qcom,sar2130p-tcsr" , .data = &tcsr_cc_sar2130p_desc }, + { .compatible ="qcom,sm8550-tcsr" , .data = &tcsr_cc_sm8550_desc }, { } };MODULE_DEVICE_TABLE (of, tcsr_cc_sm8550_match_table);
@@ -162,7 +176,7 @@ static int tcsr_cc_sm8550_probe(struct platform_device *pdev) {struct regmap *regmap; - regmap =qcom_cc_map (pdev, &tcsr_cc_sm8550_desc); + regmap =qcom_cc_map (pdev,of_device_get_match_data (&pdev->dev));if (IS_ERR (regmap))return PTR_ERR (regmap);
drivers/dma-buf/dma-fence-array.c +27 -1
@@ -103,10 +103,36 @@ static bool dma_fence_array_enable_signaling(struct dma_fence *fence)static bool dma_fence_array_signaled (struct dma_fence *fence) {struct dma_fence_array *array =to_dma_fence_array (fence); +int num_pending; +unsigned int i; -if (atomic_read (&array->num_pending) >0 ) +/* +* We need to read num_pending before checking the enable_signal bit +* to avoid racing with the enable_signaling() implementation, which +* might decrement the counter, and cause a partial check. +* atomic_read_acquire() pairs with atomic_dec_and_test() in +* dma_fence_array_enable_signaling() +* +* The !--num_pending check is here to account for the any_signaled case +* if we race with enable_signaling(), that means the !num_pending check +* in the is_signalling_enabled branch might be outdated (num_pending +* might have been decremented), but that's fine. The user will get the +* right value when testing again later. +*/ + num_pending =atomic_read_acquire (&array->num_pending); +if (test_bit (DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT , &array->base.flags)) { +if (num_pending <=0 ) + goto signal;return false; + } + +for (i =0 ; i < array->num_fences; ++i) { +if (dma_fence_is_signaled (array->fences[i]) && !--num_pending) + goto signal; + } +return false; +signal:dma_fence_array_clear_pending_error (array);return true; }
drivers/dma-buf/dma-fence-unwrap.c +61 -65
159 lines not on this page · raw message
drivers/gpio/gpio-grgpio.c +15 -11
@@ -328,6 +328,7 @@ static const struct irq_domain_ops grgpio_irq_domain_ops = {static int grgpio_probe (struct platform_device *ofdev) {struct device_node *np = ofdev->dev.of_node; +struct device *dev = &ofdev->dev;void __iomem *regs;struct gpio_chip *gc;struct grgpio_priv *priv;
@@ -337,7 +338,7 @@ static int grgpio_probe(struct platform_device *ofdev)int size;int i; - priv =devm_kzalloc (&ofdev->dev,sizeof (*priv),GFP_KERNEL ); + priv =devm_kzalloc (dev,sizeof (*priv),GFP_KERNEL );if (!priv)return -ENOMEM ;
@@ -346,28 +347,31 @@ static int grgpio_probe(struct platform_device *ofdev)return PTR_ERR (regs); gc = &priv->gc; - err =bgpio_init (gc, &ofdev->dev,4 , regs +GRGPIO_DATA , + err =bgpio_init (gc, dev,4 , regs +GRGPIO_DATA , regs +GRGPIO_OUTPUT ,NULL , regs +GRGPIO_DIR ,NULL ,BGPIOF_BIG_ENDIAN_BYTE_ORDER );if (err) { -dev_err (&ofdev->dev,"bgpio_init() failed\n" ); +dev_err (dev,"bgpio_init() failed\n" );return err; } priv->regs = regs; priv->imask = gc->read_reg (regs +GRGPIO_IMASK ); - priv->dev = &ofdev->dev; + priv->dev = dev; gc->owner =THIS_MODULE ; gc->to_irq = grgpio_to_irq; - gc->label =devm_kasprintf (&ofdev->dev,GFP_KERNEL ,"%pOF" , np); + gc->label =devm_kasprintf (dev,GFP_KERNEL ,"%pOF" , np); +if (!gc->label) +return -ENOMEM ; + gc->base =-1 ; err =of_property_read_u32 (np,"nbits" , &prop);if (err || prop <=0 || prop >GRGPIO_MAX_NGPIO ) { gc->ngpio =GRGPIO_MAX_NGPIO ; -dev_dbg (&ofdev->dev, -"No or invalid nbits property: assume %d\n" , gc->ngpio); +dev_dbg (dev,"No or invalid nbits property: assume %d\n" , + gc->ngpio); }else { gc->ngpio = prop; }
@@ -379,7 +383,7 @@ static int grgpio_probe(struct platform_device *ofdev) irqmap = (s32 *)of_get_property (np,"irqmap" , &size);if (irqmap) {if (size < gc->ngpio) { -dev_err (&ofdev->dev, +dev_err (dev,"irqmap shorter than ngpio (%d < %d)\n" , size, gc->ngpio);return -EINVAL ;
@@ -389,7 +393,7 @@ static int grgpio_probe(struct platform_device *ofdev) &grgpio_irq_domain_ops, priv);if (!priv->domain) { -dev_err (&ofdev->dev,"Could not add irq domain\n" ); +dev_err (dev,"Could not add irq domain\n" );return -EINVAL ; }
@@ -419,13 +423,13 @@ static int grgpio_probe(struct platform_device *ofdev) err =gpiochip_add_data (gc, priv);if (err) { -dev_err (&ofdev->dev,"Could not add gpiochip\n" ); +dev_err (dev,"Could not add gpiochip\n" );if (priv->domain)irq_domain_remove (priv->domain);return err; } -dev_info (&ofdev->dev,"regs=0x%p, base=%d, ngpio=%d, irqs=%s\n" , +dev_info (dev,"regs=0x%p, base=%d, ngpio=%d, irqs=%s\n" , priv->regs, gc->base, gc->ngpio, priv->domain ?"on" :"off" );return 0 ;
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +1 -0
@@ -798,6 +798,7 @@ int amdgpu_acpi_power_shift_control(struct amdgpu_device *adev,return -EIO ; } +kfree (info);return 0 ; }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +46 -2
90 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +4 -1
@@ -794,7 +794,7 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_device *bdev,/* Map SG to device */ r =dma_map_sgtable (adev->dev, ttm->sg, direction,0 );if (r) - goto release_sg; + goto release_sg_table;/* convert SG to linear array of pages and dma addresses */ drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address,
@@ -802,6 +802,8 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_device *bdev,return 0 ; +release_sg_table: +sg_free_table (ttm->sg); release_sg:kfree (ttm->sg); ttm->sg =NULL ;
@@ -1833,6 +1835,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)mutex_init (&adev->mman.gtt_window_lock); +dma_set_max_seg_size (adev->dev,UINT_MAX );/* No others user of address space so set it to 0 */ r = ttm_device_init(&adev->mman.bdev, &amdgpu_bo_driver, adev->dev, adev_to_drm(adev)->anon_inode->i_mapping,
drivers/gpu/drm/amd/amdgpu/hdp_v5_2.c +4 -2
@@ -31,13 +31,15 @@static void hdp_v5_2_flush_hdp (struct amdgpu_device *adev,struct amdgpu_ring *ring) { -if (!ring || !ring->funcs->emit_wreg) +if (!ring || !ring->funcs->emit_wreg) {WREG32_NO_KIQ ((adev->rmmio_remap.reg_offset +KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >>2 ,0 ); -else +RREG32_NO_KIQ ((adev->rmmio_remap.reg_offset +KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >>2 ); + }else {amdgpu_ring_emit_wreg (ring, (adev->rmmio_remap.reg_offset +KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL ) >>2 ,0 ); + } } static void hdp_v5_2_update_mem_power_gating(struct amdgpu_device *adev,
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c +22 -8
@@ -77,6 +77,20 @@ static int vcn_v4_0_3_early_init(void *handle)return amdgpu_vcn_early_init (adev); } +static int vcn_v4_0_3_fw_shared_init (struct amdgpu_device *adev,int inst_idx) +{ +struct amdgpu_vcn4_fw_shared *fw_shared; + + fw_shared = adev->vcn.inst[inst_idx].fw_shared.cpu_addr; + fw_shared->present_flag_0 =cpu_to_le32 (AMDGPU_FW_SHARED_FLAG_0_UNIFIED_QUEUE ); + fw_shared->sq.is_enabled =1 ; + +if (amdgpu_vcnfw_log) +amdgpu_vcn_fwlog_init (&adev->vcn.inst[inst_idx]); + +return 0 ; +} +/** * vcn_v4_0_3_sw_init - sw init for VCN block *
@@ -107,8 +121,6 @@ static int vcn_v4_0_3_sw_init(void *handle)return r;for (i =0 ; i < adev->vcn.num_vcn_inst; i++) { -volatile struct amdgpu_vcn4_fw_shared *fw_shared; - vcn_inst =GET_INST (VCN , i); ring = &adev->vcn.inst[i].ring_enc[0 ];
@@ -131,12 +143,7 @@ static int vcn_v4_0_3_sw_init(void *handle)if (r)return r; - fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr; - fw_shared->present_flag_0 =cpu_to_le32 (AMDGPU_FW_SHARED_FLAG_0_UNIFIED_QUEUE ); - fw_shared->sq.is_enabled = true; - -if (amdgpu_vcnfw_log) -amdgpu_vcn_fwlog_init (&adev->vcn.inst[i]); +vcn_v4_0_3_fw_shared_init (adev, i); }if (amdgpu_sriov_vf (adev)) {
@@ -221,6 +228,8 @@ static int vcn_v4_0_3_hw_init(void *handle) } }else {for (i =0 ; i < adev->vcn.num_vcn_inst; ++i) { +struct amdgpu_vcn4_fw_shared *fw_shared; + vcn_inst =GET_INST (VCN , i); ring = &adev->vcn.inst[i].ring_enc[0 ];
@@ -244,6 +253,11 @@ static int vcn_v4_0_3_hw_init(void *handle) regVCN_RB1_DB_CTRL); } +/* Re-init fw_shared when RAS fatal error occurred */ + fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr; +if (!fw_shared->sq.is_enabled) +vcn_v4_0_3_fw_shared_init (adev, i); + r =amdgpu_ring_test_helper (ring);if (r) goto done;
drivers/gpu/drm/amd/amdgpu/vega20_ih.c +27 -0
@@ -114,6 +114,33 @@ static int vega20_ih_toggle_ring_interrupts(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,RB_ENABLE , (enable ?1 :0 )); tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,RB_GPU_TS_ENABLE ,1 ); +if (enable) { +/* Unset the CLEAR_OVERFLOW bit to make sure the next step +* is switching the bit from 0 to 1 +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +if (amdgpu_sriov_vf (adev) &&amdgpu_sriov_reg_indirect_ih (adev)) { +if (psp_reg_program (&adev->psp, ih_regs->psp_reg_id, tmp)) +return -ETIMEDOUT ; + }else { +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + } + +/* Clear RB_OVERFLOW bit */ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 ); +if (amdgpu_sriov_vf (adev) &&amdgpu_sriov_reg_indirect_ih (adev)) { +if (psp_reg_program (&adev->psp, ih_regs->psp_reg_id, tmp)) +return -ETIMEDOUT ; + }else { +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + } + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); + } +/* enable_intr field is only valid in ring0 */ if (ih == &adev->irq.ih) tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,ENABLE_INTR , (enable ?1 :0 ));
drivers/gpu/drm/bridge/ite-it6505.c +6 -5
@@ -2611,10 +2611,10 @@ static int it6505_poweron(struct it6505 *it6505)/* time interval between OVDD and SYSRSTN at least be 10ms */ if (pdata->gpiod_reset) {usleep_range (10000 ,20000 ); -gpiod_set_value_cansleep (pdata->gpiod_reset,0 ); -usleep_range (1000 ,2000 );gpiod_set_value_cansleep (pdata->gpiod_reset,1 ); -usleep_range (10000 ,20000 ); +usleep_range (1000 ,2000 ); +gpiod_set_value_cansleep (pdata->gpiod_reset,0 ); +usleep_range (25000 ,35000 ); } it6505->powered = true;
@@ -2640,7 +2640,7 @@ static int it6505_poweroff(struct it6505 *it6505) }if (pdata->gpiod_reset) -gpiod_set_value_cansleep (pdata->gpiod_reset,0 ); +gpiod_set_value_cansleep (pdata->gpiod_reset,1 );if (pdata->pwr18) { err =regulator_disable (pdata->pwr18);
@@ -3132,7 +3132,7 @@ static int it6505_init_pdata(struct it6505 *it6505)return PTR_ERR (pdata->ovdd); } - pdata->gpiod_reset =devm_gpiod_get (dev,"reset" ,GPIOD_OUT_LOW ); + pdata->gpiod_reset =devm_gpiod_get (dev,"reset" ,GPIOD_OUT_HIGH );if (IS_ERR (pdata->gpiod_reset)) {dev_err (dev,"gpiod_reset gpio not found" );return PTR_ERR (pdata->gpiod_reset);
@@ -3503,6 +3503,7 @@ static const struct of_device_id it6505_of_match[] = { { .compatible = "ite,it6505" }, { } }; +MODULE_DEVICE_TABLE (of, it6505_of_match);static struct i2c_driver it6505_i2c_driver = { .driver = {
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c +2 -2
@@ -160,11 +160,11 @@ EXPORT_SYMBOL(drm_dp_dual_mode_write);static bool is_hdmi_adaptor (const char hdmi_id[DP_DUAL_MODE_HDMI_ID_LEN ]) { -static const char dp_dual_mode_hdmi_id[DP_DUAL_MODE_HDMI_ID_LEN ] = +static const char dp_dual_mode_hdmi_id[DP_DUAL_MODE_HDMI_ID_LEN +1 ] ="DP-HDMI ADAPTOR\x04" ;return memcmp (hdmi_id, dp_dual_mode_hdmi_id, -sizeof (dp_dual_mode_hdmi_id)) ==0 ; +DP_DUAL_MODE_HDMI_ID_LEN ) ==0 ; }static bool is_type1_adaptor (uint8_t adaptor_id)
drivers/gpu/drm/display/drm_dp_mst_topology.c +53 -2
97 lines not on this page · raw message
drivers/gpu/drm/drm_panel_orientation_quirks.c +18 -0
@@ -184,6 +184,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* AYA NEO AYANEO 2 */ + .matches = { +DMI_EXACT_MATCH (DMI_SYS_VENDOR ,"AYANEO" ), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYANEO 2"), + }, + .driver_data = (void *)&lcd1200x1920_rightside_up, }, { /* AYA NEO 2021 */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYADEVICE"),
@@ -196,6 +202,18 @@ static const struct dmi_system_id orientation_data[] = { DMI_MATCH(DMI_PRODUCT_NAME, "AIR"), }, .driver_data = (void *)&lcd1080x1920_leftside_up, + }, { /* AYA NEO Founder */ + .matches = { +DMI_EXACT_MATCH (DMI_SYS_VENDOR ,"AYA NEO" ), + DMI_MATCH(DMI_PRODUCT_NAME, "AYA NEO Founder"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* AYA NEO GEEK */ + .matches = { +DMI_EXACT_MATCH (DMI_SYS_VENDOR ,"AYANEO" ), + DMI_MATCH(DMI_PRODUCT_NAME, "GEEK"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, }, { /* AYA NEO NEXT */ .matches = { DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
drivers/gpu/drm/mcde/mcde_drv.c +1 -0
@@ -465,6 +465,7 @@ static const struct of_device_id mcde_of_match[] = { }, {}, }; +MODULE_DEVICE_TABLE (of, mcde_of_match);static struct platform_driver mcde_driver = { .driver = {
drivers/gpu/drm/panel/panel-simple.c +28 -0
@@ -4087,6 +4087,31 @@ static const struct panel_desc yes_optoelectronics_ytc700tlag_05_201c = { .connector_type = DRM_MODE_CONNECTOR_LVDS, }; +static const struct drm_display_mode mchp_ac69t88a_mode = { + .clock =25000 , + .hdisplay =800 , + .hsync_start =800 +88 , + .hsync_end =800 +88 +5 , + .htotal =800 +88 +5 +40 , + .vdisplay =480 , + .vsync_start =480 +23 , + .vsync_end =480 +23 +5 , + .vtotal =480 +23 +5 +1 , +}; + +static const struct panel_desc mchp_ac69t88a = { + .modes = &mchp_ac69t88a_mode, + .num_modes =1 , + .bpc =8 , + .size = { + .width =108 , + .height =65 , + }, + .bus_flags =DRM_BUS_FLAG_DE_HIGH , + .bus_format =MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA , + .connector_type =DRM_MODE_CONNECTOR_LVDS , +}; +static const struct drm_display_mode arm_rtsm_mode[] = { { .clock =65000 ,
@@ -4522,6 +4547,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "yes-optoelectronics,ytc700tlag-05-201c", .data = &yes_optoelectronics_ytc700tlag_05_201c, + }, { + .compatible = "microchip,ac69t88a", + .data = &mchp_ac69t88a, }, { /* Must be the last entry */ .compatible = "panel-dpi",
drivers/gpu/drm/radeon/r600_cs.c +1 -1
@@ -2104,7 +2104,7 @@ static int r600_packet3_check(struct radeon_cs_parser *p,return -EINVAL ; } - offset =radeon_get_ib_value (p, idx+1 ) <<8 ; + offset = (u64 )radeon_get_ib_value (p, idx+1 ) <<8 ;if (offset != track->vgt_strmout_bo_offset[idx_value]) {DRM_ERROR ("bad STRMOUT_BASE_UPDATE, bo offset does not match: 0x%llx, 0x%x\n" , offset, track->vgt_strmout_bo_offset[idx_value]);
drivers/gpu/drm/scheduler/sched_main.c +8 -0
@@ -635,6 +635,14 @@ int drm_sched_job_init(struct drm_sched_job *job,if (!entity->rq)return -ENOENT ; +/* +* We don't know for sure how the user has allocated. Thus, zero the +* struct so that unallowed (i.e., too early) usage of pointers that +* this function does not set is guaranteed to lead to a NULL pointer +* exception instead of UB. +*/ +memset (job,0 ,sizeof (*job)); + job->entity = entity; job->s_fence =drm_sched_fence_alloc (entity, owner);if (!job->s_fence)
drivers/gpu/drm/sti/sti_mixer.c +1 -1
@@ -137,7 +137,7 @@ static void mixer_dbg_crb(struct seq_file *s, int val) } } -static void mixer_dbg_mxn (struct seq_file *s,void *addr) +static void mixer_dbg_mxn (struct seq_file *s,void __iomem *addr) {int i;
drivers/gpu/drm/v3d/v3d_perfmon.c +1 -1
@@ -51,9 +51,9 @@ void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon)V3D_CORE_WRITE (0 ,V3D_V4_PCTR_0_SRC_X (source), channel); } +V3D_CORE_WRITE (0 ,V3D_V4_PCTR_0_EN , mask);V3D_CORE_WRITE (0 ,V3D_V4_PCTR_0_CLR , mask);V3D_CORE_WRITE (0 ,V3D_PCTR_0_OVERFLOW , mask); -V3D_CORE_WRITE (0 ,V3D_V4_PCTR_0_EN , mask); v3d->active_perfmon = perfmon; }
drivers/gpu/drm/vc4/vc4_hdmi.c +1 -1
@@ -2396,7 +2396,7 @@ static int vc4_hdmi_audio_startup(struct device *dev, void *data) }if (!vc4_hdmi_audio_can_stream (vc4_hdmi)) { - ret = -ENODEV ; + ret = -ENOTSUPP ; goto out_dev_exit; }
drivers/gpu/drm/vc4/vc4_hvs.c +11 -0
@@ -956,6 +956,17 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) SCALER_DISPCTRL_SCLEIRQ); +/* Set AXI panic mode. +* VC4 panics when < 2 lines in FIFO. +* VC5 panics when less than 1 line in the FIFO. +*/ + dispctrl &= ~(SCALER_DISPCTRL_PANIC0_MASK | +SCALER_DISPCTRL_PANIC1_MASK | +SCALER_DISPCTRL_PANIC2_MASK ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC0 ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC1 ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC2 ); +/* Set AXI panic mode. * VC4 panics when < 2 lines in FIFO. * VC5 panics when less than 1 line in the FIFO.
drivers/hid/hid-core.c +3 -2
@@ -2607,9 +2607,10 @@ static bool hid_check_device_match(struct hid_device *hdev,/* * hid-generic implements .match(), so we must be dealing with a * different HID driver here, and can simply check if -* hid_ignore_special_drivers is set or not. +* hid_ignore_special_drivers or HID_QUIRK_IGNORE_SPECIAL_DRIVER +* are set or not. */ -return !hid_ignore_special_drivers; +return !hid_ignore_special_drivers && !(hdev->quirks &HID_QUIRK_IGNORE_SPECIAL_DRIVER ); }static int __hid_device_probe (struct hid_device *hdev,struct hid_driver *hdrv)
drivers/hid/hid-generic.c +3 -0
@@ -40,6 +40,9 @@ static bool hid_generic_match(struct hid_device *hdev,if (ignore_special_driver)return true; +if (hdev->quirks &HID_QUIRK_IGNORE_SPECIAL_DRIVER ) +return true; +if (hdev->quirks &HID_QUIRK_HAVE_SPECIAL_DRIVER )return false;
drivers/hid/hid-ids.h +1 -0
@@ -94,6 +94,7 @@#define USB_DEVICE_ID_APPLE_MAGICMOUSE2 0x0269#define USB_DEVICE_ID_APPLE_MAGICTRACKPAD 0x030e#define USB_DEVICE_ID_APPLE_MAGICTRACKPAD2 0x0265 +#define USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC 0x0324#define USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI 0x020e#define USB_DEVICE_ID_APPLE_FOUNTAIN_ISO 0x020f#define USB_DEVICE_ID_APPLE_GEYSER_ANSI 0x0214
drivers/hid/hid-magicmouse.c +41 -15
146 lines not on this page · raw message
drivers/hid/wacom_sys.c +2 -1
@@ -2234,7 +2234,8 @@ static void wacom_update_name(struct wacom *wacom, const char *suffix)if (hid_is_usb (wacom->hdev)) {struct usb_interface *intf =to_usb_interface (wacom->hdev->dev.parent);struct usb_device *dev =interface_to_usbdev (intf); - product_name = dev->product; +if (dev->product !=NULL ) + product_name = dev->product; }if (wacom->hdev->bus ==BUS_I2C ) {
drivers/hwmon/nct6775-platform.c +2 -0
@@ -1350,6 +1350,8 @@ static const char * const asus_msi_boards[] = {"Pro H610M-CT D4" ,"Pro H610T D4" ,"Pro Q670M-C" , +"Pro WS 600M-CL" , +"Pro WS 665-ACE" ,"Pro WS W680-ACE" ,"Pro WS W680-ACE IPMI" , "Pro WS W790-ACE",
drivers/i3c/master.c +166 -27
285 lines not on this page · raw message
drivers/i3c/master/mipi-i3c-hci/dma.c +1 -1
@@ -174,10 +174,10 @@ static void hci_dma_cleanup(struct i3c_hci *hci)for (i =0 ; i < rings->total; i++) { rh = &rings->headers[i]; +rh_reg_write (INTR_SIGNAL_ENABLE ,0 );rh_reg_write (RING_CONTROL ,0 );rh_reg_write (CR_SETUP ,0 );rh_reg_write (IBI_SETUP ,0 ); -rh_reg_write (INTR_SIGNAL_ENABLE ,0 );if (rh->xfer) dma_free_coherent(&hci->master.dev,
drivers/i3c/master/svc-i3c-master.c +130 -10
223 lines not on this page · raw message
drivers/iio/common/inv_sensors/inv_sensors_timestamp.c +4 -0
@@ -70,6 +70,10 @@ int inv_sensors_timestamp_update_odr(struct inv_sensors_timestamp *ts,if (mult != ts->mult) ts->new_mult = mult; +/* When FIFO is off, directly apply the new ODR */ +if (!fifo) +inv_sensors_timestamp_apply_odr (ts,0 ,0 ,0 ); +return 0 ; }EXPORT_SYMBOL_NS_GPL (inv_sensors_timestamp_update_odr,IIO_INV_SENSORS_TIMESTAMP );
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c +0 -2
@@ -99,7 +99,6 @@ static int inv_icm42600_accel_update_scan_mode(struct iio_dev *indio_dev, const unsigned long *scan_mask) {struct inv_icm42600_state *st =iio_device_get_drvdata (indio_dev); -struct inv_sensors_timestamp *ts =iio_priv (indio_dev);struct inv_icm42600_sensor_conf conf =INV_ICM42600_SENSOR_CONF_INIT ;unsigned int fifo_en =0 ;unsigned int sleep_temp =0 ;
@@ -127,7 +126,6 @@ static int inv_icm42600_accel_update_scan_mode(struct iio_dev *indio_dev, }/* update data FIFO write */ -inv_sensors_timestamp_apply_odr (ts,0 ,0 ,0 ); ret =inv_icm42600_buffer_set_fifo_en (st, fifo_en | st->fifo.en); out_unlock:
drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c +0 -2
@@ -99,7 +99,6 @@ static int inv_icm42600_gyro_update_scan_mode(struct iio_dev *indio_dev, const unsigned long *scan_mask) {struct inv_icm42600_state *st =iio_device_get_drvdata (indio_dev); -struct inv_sensors_timestamp *ts =iio_priv (indio_dev);struct inv_icm42600_sensor_conf conf =INV_ICM42600_SENSOR_CONF_INIT ;unsigned int fifo_en =0 ;unsigned int sleep_gyro =0 ;
@@ -127,7 +126,6 @@ static int inv_icm42600_gyro_update_scan_mode(struct iio_dev *indio_dev, }/* update data FIFO write */ -inv_sensors_timestamp_apply_odr (ts,0 ,0 ,0 ); ret =inv_icm42600_buffer_set_fifo_en (st, fifo_en | st->fifo.en); out_unlock:
drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c +0 -1
@@ -111,7 +111,6 @@ int inv_mpu6050_prepare_fifo(struct inv_mpu6050_state *st, bool enable)if (enable) {/* reset timestamping */ inv_sensors_timestamp_reset (&st->timestamp); -inv_sensors_timestamp_apply_odr (&st->timestamp,0 ,0 ,0 );
Lines of this file are not shown. View the raw message.
drivers/iio/magnetometer/yamaha-yas530.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/media/usb/cx231xx/cx231xx-cards.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/mmc/host/mtk-sd.c +25 -39
64 lines not on this page · raw message
drivers/mmc/host/sdhci-pci-core.c +72 -0
72 lines not on this page · raw message
drivers/net/can/ifi_canfd/ifi_canfd.c +40 -18
58 lines not on this page · raw message
drivers/net/can/sja1000/sja1000.c +39 -28
67 lines not on this page · raw message
drivers/net/can/spi/hi311x.c +31 -19
50 lines not on this page · raw message
drivers/net/can/spi/mcp251xfd/mcp251xfd-tef.c +28 -1
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/ems_usb.c +33 -25
58 lines not on this page · raw message
drivers/net/ethernet/freescale/enetc/enetc.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fec_mpc52xx_phy.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fman/fman.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fman/fman.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fman/mac.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igb/igb_main.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbevf/ipsec.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h +14 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c +12 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.c +51 -45
96 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qed/qed_mcp.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/realtek/r8169_main.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/rocker/rocker_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac4.h +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/libipw_rx.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/fw.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/pinctrl/pinmux.c +96 -77
173 lines not on this page · raw message
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/pinctrl/qcom/pinctrl-spmi-mpp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/platform/x86/asus-wmi.c +55 -54
109 lines not on this page · raw message
drivers/scsi/lpfc/lpfc_sli.c +36 -5
41 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_bsg.c +92 -32
124 lines not on this page · raw message
drivers/soc/fsl/qe/qmc.c +88 -53
141 lines not on this page · raw message
drivers/soc/imx/soc-imx8m.c +85 -22
107 lines not on this page · raw message
drivers/tty/serial/amba-pl011.c +43 -36
79 lines not on this page · raw message
drivers/ufs/core/ufshcd.c +46 -12
58 lines not on this page · raw message
drivers/usb/dwc3/gadget.c +38 -51
89 lines not on this page · raw message
drivers/usb/host/xhci-dbgcap.c +82 -53
135 lines not on this page · raw message
drivers/vfio/pci/mlx5/cmd.c +35 -12
47 lines not on this page · raw message
drivers/watchdog/xilinx_wwdt.c +63 -12
75 lines not on this page · raw message
fs/btrfs/volumes.c +42 -8
50 lines not on this page · raw message
fs/f2fs/extent_cache.c +41 -28
69 lines not on this page · raw message
fs/notify/fanotify/fanotify_user.c +48 -37
85 lines not on this page · raw message
fs/smb/client/dfs.c +17 -171
188 lines not on this page · raw message
fs/smb/client/inode.c +85 -9
94 lines not on this page · raw message
fs/smb/client/readdir.c +34 -20
54 lines not on this page · raw message
fs/smb/client/reparse.c +52 -32
84 lines not on this page · raw message
fs/unicode/mkutf8data.c +70 -0
70 lines not on this page · raw message
fs/unicode/utf8data.c_shipped +3357 -3346
6,703 lines not on this page · raw message
include/drm/display/drm_dp_mst_helper.h +7 -0
Lines of this file are not shown. View the raw message.
include/linux/platform_data/x86/asus-wmi.h +1 -0
Lines of this file are not shown. View the raw message.
kernel/bpf/hashtab.c +39 -17
56 lines not on this page · raw message
kernel/bpf/lpm_trie.c +34 -21
55 lines not on this page · raw message
kernel/kcsan/debugfs.c +36 -38
74 lines not on this page · raw message
kernel/sched/deadline.c +96 -82
178 lines not on this page · raw message
kernel/sched/fair.c +66 -32
98 lines not on this page · raw message
mm/mempolicy.c +163 -179
342 lines not on this page · raw message
net/ethtool/bitset.c +44 -4
48 lines not on this page · raw message
net/netfilter/nft_inner.c +45 -12
57 lines not on this page · raw message
net/smc/af_smc.c +137 -89
226 lines not on this page · raw message
net/smc/smc_clc.c +172 -125
297 lines not on this page · raw message
net/smc/smc_clc.h +24 -26
50 lines not on this page · raw message
net/smc/smc_core.c +87 -11
98 lines not on this page · raw message
net/smc/smc_ism.c +59 -7
66 lines not on this page · raw message
net/vmw_vsock/af_vsock.c +43 -27
70 lines not on this page · raw message
scripts/setlocalversion +38 -16
54 lines not on this page · raw message
sound/core/seq/seq_ump_client.c +19 -91
110 lines not on this page · raw message
sound/core/ump.c +72 -5
77 lines not on this page · raw message
sound/pci/hda/hda_auto_parser.c +50 -11
61 lines not on this page · raw message
sound/soc/codecs/hdmi-codec.c +77 -63
140 lines not on this page · raw message
sound/soc/mediatek/mt8188/mt8188-mt6359.c +1 -3
Lines of this file are not shown. View the raw message.
sound/usb/mixer.c +15 -43
58 lines not on this page · raw message
tools/testing/selftests/arm64/fp/fp-stress.c +7 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/arm64/pauth/pac.c +3 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/hid/run-hid-tools-tests.sh +9 -7
Lines of this file are not shown. View the raw message.
tools/testing/selftests/resctrl/resctrl_val.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/resctrl/resctrlfs.c +1 -1
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.