This is the start of the stable review cycle for the 6.4.4 release.
There are 800 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.4.4-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.4.4-rc1
Andres Freund <[email protected]>
io_uring: Use io_schedule* in cqring wait
Sherry Sun <[email protected]>
tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
Jason A. Donenfeld <[email protected]>
wireguard: netlink: send staged packets when setting initial private key
Jason A. Donenfeld <[email protected]>
wireguard: queueing: use saner cpu selection wrapping
Thadeu Lima de Souza Cascardo <[email protected]>
netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
Thadeu Lima de Souza Cascardo <[email protected]>
netfilter: nf_tables: do not ignore genmask when looking up chain by id
Florent Revest <[email protected]>
netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
Tao Zhou <[email protected]>
drm/amdgpu: check RAS irq existence for VCN/JPEG
Kenneth Feng <[email protected]>
drm/amd/pm: add abnormal fan detection for smu 13.0.0
Alex Deucher <[email protected]>
drm/amdgpu/sdma4: set align mask to 255
Evan Quan <[email protected]>
drm/amd/pm: revise the ASPM settings for thunderbolt attached scenario
Jiadong Zhu <[email protected]>
drm/amdgpu: Skip mark offset for high priority rings
Christian König <[email protected]>
drm/amdgpu: make sure that BOs have a backing store
Christian König <[email protected]>
drm/amdgpu: make sure BOs are locked in amdgpu_vm_get_memory
WANG Xuerui <[email protected]>
LoongArch: Include KBUILD_CPPFLAGS in CHECKFLAGS invocation
Zhihao Cheng <[email protected]>
ovl: fix null pointer dereference in ovl_get_acl_rcu()
Zhihao Cheng <[email protected]>
ovl: let helper ovl_i_path_real() return the realinode
Zhihao Cheng <[email protected]>
ovl: fix null pointer dereference in ovl_permission()
Masahiro Yamada <[email protected]>
kbuild: add $(CLANG_FLAGS) to KBUILD_CPPFLAGS
Nathan Chancellor <[email protected]>
kbuild: Add KBUILD_CPPFLAGS to as-option invocation
Nathan Chancellor <[email protected]>
kbuild: Add CLANG_FLAGS to as-instr
Nathan Chancellor <[email protected]>
powerpc/vdso: Include CLANG_FLAGS explicitly in ldflags-y
Nathan Chancellor <[email protected]>
mips: Include KBUILD_CPPFLAGS in CHECKFLAGS invocation
Arnd Bergmann <[email protected]>
Input: ads7846 - fix pointer cast warning
Jan Kara <[email protected]>
fs: no need to check source
Yu Kuai <[email protected]>
md/raid1-10: fix casting from randomized structure in raid1_submit_write()
Linus Walleij <[email protected]>
Input: ads7846 - Fix usage of match data
Yu Kuai <[email protected]>
blktrace: use inline function for blk_trace_remove() while blktrace is disabled
Christian Marangi <[email protected]>
leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
Arnd Bergmann <[email protected]>
ARM: orion5x: fix d2net gpio initialization
Krzysztof Kozlowski <[email protected]>
ARM: dts: qcom: ipq4019: fix broken NAND controller properties override
Linus Walleij <[email protected]>
ARM: dts: qcom: msm8660: Fix regulator node names
Krzysztof Kozlowski <[email protected]>
regulator: tps65219: Fix matching interrupts for their regulators
Ricardo Ribalda Delgado <[email protected]>
ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
Ricardo Ribalda Delgado <[email protected]>
ASoC: mediatek: mt8173: Fix irq error path
Filipe Manana <[email protected]>
btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block()
Filipe Manana <[email protected]>
btrfs: fix extent buffer leak after tree mod log failure at split_node()
Filipe Manana <[email protected]>
btrfs: add missing error handling when logging operation while COWing extent buffer
Filipe Manana <[email protected]>
btrfs: fix race when deleting quota root from the dirty cow roots list
Naohiro Aota <[email protected]>
btrfs: move out now unused BG from the reclaim list
Naohiro Aota <[email protected]>
btrfs: reinsert BGs failed to reclaim
David Sterba <[email protected]>
btrfs: add block-group tree to lockdep classes
Naohiro Aota <[email protected]>
btrfs: bail out reclaim process if filesystem is read-only
Naohiro Aota <[email protected]>
btrfs: delete unused BGs while reclaiming BGs
Boris Burkov <[email protected]>
btrfs: warn on invalid slot in tree mod log rewind
Boris Burkov <[email protected]>
btrfs: insert tree mod log move in push_node_left
Christoph Hellwig <[email protected]>
btrfs: fix dirty_metadata_bytes for redirtied buffers
Matt Corallo <[email protected]>
btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
Abhijeet Rastogi <[email protected]>
ipvs: increase ip_vs_conn_tab_bits range for 64BIT
Mario Limonciello <[email protected]>
usb: typec: ucsi: Mark dGPUs as DEVICE scope
Jan Kara <[email protected]>
fs: Lock moved directories
Jan Kara <[email protected]>
fs: Establish locking order for unrelated directories
Jan Kara <[email protected]>
Revert "udf: Protect rename against modification of moved directory"
Jan Kara <[email protected]>
Revert "f2fs: fix potential corruption when moving a directory"
Jan Kara <[email protected]>
ext4: Remove ext4 locking of moved directory
Thomas Weißschuh <[email protected]>
fs: avoid empty option when generating legacy mount string
Fabian Frederick <[email protected]>
jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
Christian Brauner <[email protected]>
nfsd: use vfs setgid helper
Roberto Sassu <[email protected]>
shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
Ryan Roberts <[email protected]>
mm/damon/ops-common: atomically test and clear young on ptes and pmds
Arnd Bergmann <[email protected]>
autofs: use flexible array in ioctl structure
Tianjia Zhang <[email protected]>
integrity: Fix possible multiple allocation in integrity_inode_get()
Kees Cook <[email protected]>
um: Use HOST_DIR for mrproper
Siddh Raman Pant <[email protected]>
watch_queue: prevent dangling pipe pointer
Zheng Wang <[email protected]>
bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
Zheng Wang <[email protected]>
bcache: Remove unnecessary NULL point check in node allocations
Mingzhe Zou <[email protected]>
bcache: fixup btree_cache_wait list damage
Quan Zhou <[email protected]>
wifi: mt76: mt7921e: fix init command fail with enabled device
Felix Fietkau <[email protected]>
wifi: cfg80211: fix receiving mesh packets without RFC1042 header
Alexander Wetzel <[email protected]>
wifi: ath10k: Serialize wake_tx_queue ops
Johannes Berg <[email protected]>
wifi: cfg80211: fix regulatory disconnect for non-MLO
Chevron Li <[email protected]>
mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
Ulf Hansson <[email protected]>
mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
Robert Marko <[email protected]>
mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
Robert Marko <[email protected]>
mmc: core: disable TRIM on Kingston EMMC04G-M627
Yu Zhao <[email protected]>
mm/mglru: make memcg_lru->lock irq safe
Jens Axboe <[email protected]>
io_uring: wait interruptibly for request completions on exit
Jianmin Lv <[email protected]>
irqchip/loongson-pch-pic: Fix initialization of HT vector register
Dai Ngo <[email protected]>
NFSD: add encoding of op_recall flag for write delegation
Liu Peibao <[email protected]>
irqchip/loongson-pch-pic: Fix potential incorrect hwirq assignment
Jeff Layton <[email protected]>
nfsd: move init of percpu reply_cache_stats counters back to nfsd_init_net
Jianmin Lv <[email protected]>
irqchip/loongson-liointc: Fix IRQ trigger polarity
Mark Brown <[email protected]>
arm64/signal: Restore TPIDR2 register rather than memory state
Daniel Miess <[email protected]>
Revert "drm/amd/display: Move DCN314 DOMAIN power control to DMCUB"
Geert Uytterhoeven <[email protected]>
lib: dhry: fix sleeping allocations inside non-preemptable section
Matthew Wilcox (Oracle) <[email protected]>
writeback: account the number of pages written back
Robert Hancock <[email protected]>
i2c: xiic: Don't try to handle more interrupt events after error
John Johansen <[email protected]>
apparmor: fix profile verification and enable it
John Johansen <[email protected]>
apparmor: fix policy_compat permission remap with extended permissions
John Johansen <[email protected]>
apparmor: add missing failure check in compute_xmatch_perms
Danila Chernetsov <[email protected]>
apparmor: fix missing error check for rhashtable_insert_fast
Artur Rojek <[email protected]>
sh: dma: Fix DMA channel offset calculation
Marc Zyngier <[email protected]>
risc-v: Fix order of IPI enablement vs RCU startup
Thorsten Winkler <[email protected]>
s390/qeth: Fix vipa deletion
David Howells <[email protected]>
afs: Fix accidental truncation when storing data
Hariprasad Kelam <[email protected]>
octeontx-af: fix hardware timestamp configuration
Vladimir Oltean <[email protected]>
net: dsa: sja1105: always enable the send_meta options
Vladimir Oltean <[email protected]>
net: dsa: tag_sja1105: fix MAC DA patching from meta frames
Guillaume Nault <[email protected]>
pptp: Fix fib lookup calls.
Woody Zhang <[email protected]>
riscv: move memblock_allow_resize() after linear mapping is ready
Amir Goldstein <[email protected]>
fanotify: disallow mount/sb marks on kernel internal pseudo fs
Ville Syrjälä <[email protected]>
drm/i915/psr: Fix BDW PSR AUX CH data register offsets
Lin Ma <[email protected]>
net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
Ilya Maximets <[email protected]>
xsk: Honor SO_BINDTODEVICE on bind
SeongJae Park <[email protected]>
bpf, btf: Warn but return no error for NULL btf from __register_btf_kfunc_id_set()
Maxime Coquelin <[email protected]>
vduse: fix NULL pointer dereference
Eric Dumazet <[email protected]>
tcp: annotate data races in __tcp_oow_rate_limited()
Eric Dumazet <[email protected]>
net: fix net_dev_start_xmit trace event vs skb_transport_offset()
Vladimir Oltean <[email protected]>
net: dsa: tag_sja1105: fix source port decoding in vlan_filtering=0 bridge mode
Vladimir Oltean <[email protected]>
net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
Pali Rohár <[email protected]>
powerpc: dts: turris1x.dts: Fix PCIe MEM size for pci2 node
Randy Dunlap <[email protected]>
powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
Zeng Heng <[email protected]>
ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr()
Hariprasad Kelam <[email protected]>
octeontx2-af: Reset MAC features in FLR
Hariprasad Kelam <[email protected]>
octeontx2-af: Add validation before accessing cgx and lmac
Hariprasad Kelam <[email protected]>
octeontx2-af: Fix mapping for NIX block from CGX connection
Hariprasad Kelam <[email protected]>
octeontx2-af: cn10kb: fix interrupt csr addresses
Chao Yu <[email protected]>
f2fs: fix error path handling in truncate_dnode()
Nishanth Menon <[email protected]>
mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
Mario Limonciello <[email protected]>
drm/amd: Don't try to enable secure display TA multiple times
Christian König <[email protected]>
drm/amdgpu: fix number of fence calculations
Jonas Gorski <[email protected]>
spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
Zhengchao Shao <[email protected]>
mlxsw: minimal: fix potential memory leak in mlxsw_m_linecards_init
Pawel Dembicki <[email protected]>
net: dsa: vsc73xx: fix MTU configuration
Nick Child <[email protected]>
ibmvnic: Do not reset dql stats on NON_FATAL err
Martin Habets <[email protected]>
sfc: support for devlink port requires MAE access
Luiz Augusto von Dentz <[email protected]>
Bluetooth: MGMT: Fix marking SCAN_RSP as not connectable
Pauli Virtanen <[email protected]>
Bluetooth: ISO: use hci_sync for setting CIG parameters
Johan Hovold <[email protected]>
Bluetooth: fix invalid-bdaddr quirk for non-persistent setup
Tobias Heider <[email protected]>
Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
Vladimir Oltean <[email protected]>
net: dsa: tag_sja1105: always prefer source port information from INCL_SRCPT
Vladimir Oltean <[email protected]>
net: dsa: sja1105: always enable the INCL_SRCPT option
Vladimir Oltean <[email protected]>
net: dsa: felix: don't drop PTP frames with tag_8021q when RX timestamping is disabled
Vladimir Oltean <[email protected]>
net: mscc: ocelot: don't keep PTP configuration of all ports in single structure
Vladimir Oltean <[email protected]>
net: mscc: ocelot: don't report that RX timestamping is enabled by default
Dmitry Baryshkov <[email protected]>
spi: spi-geni-qcom: enable SPI_CONTROLLER_MUST_TX for GPI DMA mode
Florian Westphal <[email protected]>
net/sched: act_ipt: zero skb->cb before calling target
Florian Westphal <[email protected]>
net/sched: act_ipt: add sanity checks on skb before calling target
Florian Westphal <[email protected]>
net/sched: act_ipt: add sanity checks on table name and hook locations
Chengfeng Ye <[email protected]>
sctp: fix potential deadlock on &net->sctp.addr_wq_lock
Randy Dunlap <[email protected]>
media: cec: i2c: ch7322: also select REGMAP
Arnd Bergmann <[email protected]>
media: tc358746: select CONFIG_GENERIC_PHY
Peng Fan <[email protected]>
tools/virtio: fix build break for aarch64
Dragos Tatulea <[email protected]>
virtio-vdpa: Fix unchecked call to NULL set_vq_affinity
Chao Yu <[email protected]>
f2fs: check return value of freeze_super()
Vinay Belgaumkar <[email protected]>
drm/i915/guc/slpc: Apply min softlimit correctly
Jouni Högander <[email protected]>
drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times
Christophe JAILLET <[email protected]>
rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
Jinke Han <[email protected]>
blk-throttle: Fix io statistics for cgroup v1
Ian Rogers <[email protected]>
perf bpf: Move the declaration of struct rq
Li Nan <[email protected]>
md/raid10: fix the condition to call bio_end_io_acct()
Shuijing Li <[email protected]>
pwm: mtk_disp: Fix the disable flow of disp_pwm
Dan Carpenter <[email protected]>
pwm: ab8500: Fix error code in probe()
Marek Vasut <[email protected]>
pwm: sysfs: Do not apply state to already disabled PWMs
Fancy Fang <[email protected]>
pwm: imx-tpm: force 'real_period' to be zero in suspend
Yury Norov <[email protected]>
lib/bitmap: drop optimization of bitmap_{from,to}_arr64
Claudiu Beznea <[email protected]>
phy: tegra: xusb: check return value of devm_kzalloc()
Christophe JAILLET <[email protected]>
mfd: stmpe: Only disable the regulators if they are enabled
Neil Armstrong <[email protected]>
phy: qcom: qmp-combo: fix Display Port PHY configuration for SM8550
Yicong Yang <[email protected]>
hwtracing: hisi_ptt: Fix potential sleep in atomic context
Dmitry Baryshkov <[email protected]>
clk: qcom: mmcc-msm8974: fix MDSS_GDSC power flags
Claudiu Beznea <[email protected]>
misc: fastrpc: check return value of devm_kasprintf()
Daniel Golle <[email protected]>
cpufreq: mediatek: correct voltages for MT7622 and MT7623
Christian Borntraeger <[email protected]>
KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler
Pierre Morel <[email protected]>
KVM: s390: vsie: fix the length of APCB bitmap
Amelie Delaunay <[email protected]>
mfd: stmfx: Nullify stmfx->vdd in case of error
Amelie Delaunay <[email protected]>
mfd: stmfx: Fix error path in stmfx_chip_init
Laurentiu Tudor <[email protected]>
bus: fsl-mc: don't assume child devices are all fsl-mc devices
Phil Elwell <[email protected]>
nvmem: rmem: Use NVMEM_DEVID_AUTO
Mirsad Goran Todorovac <[email protected]>
test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
Alexander Stein <[email protected]>
nvmem: imx-ocotp: Reverse MAC addresses on all i.MX derivates
Yi Yingao <[email protected]>
nvmem: sunplus-ocotp: release otp->clk before return
Nipun Gupta <[email protected]>
cdx: fix driver managed dma support
Matti Vaittinen <[email protected]>
drivers: fwnode: fix fwnode_irq_get[_byname]()
Tony Lindgren <[email protected]>
serial: 8250_omap: Use force_suspend and resume for system suspend
Greg Kroah-Hartman <[email protected]>
Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection"
Jiasheng Jiang <[email protected]>
mfd: intel-lpss: Add missing check for platform_get_resource
Christophe JAILLET <[email protected]>
mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe()
Daniel Bristot de Oliveira <[email protected]>
rtla/hwnoise: Reduce runtime to 75%
Christophe JAILLET <[email protected]>
usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
Prashanth K <[email protected]>
usb: common: usb-conn-gpio: Set last role to unknown before initial detection
Christophe JAILLET <[email protected]>
usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
Christophe JAILLET <[email protected]>
usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
Nico Boehr <[email protected]>
KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
Chao Yu <[email protected]>
f2fs: flush error flags in workqueue
Jaegeuk Kim <[email protected]>
f2fs: fix the wrong condition to determine atomic context
Chao Yu <[email protected]>
f2fs: support errors=remount-ro|continue|panic mountoption
Chao Yu <[email protected]>
f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
Chao Yu <[email protected]>
f2fs: fix potential deadlock due to unpaired node_write lock use
Bob Peterson <[email protected]>
gfs2: Fix duplicate should_fault_in_pages() call
Sergey Shtylyov <[email protected]>
sh: Avoid using IRQ0 on SH3 and SH4
Hans de Goede <[email protected]>
media: atomisp: ov2680: Stop using half pixelclock for binned modes
Dan Carpenter <[email protected]>
media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
Hans de Goede <[email protected]>
media: atomisp: gc0310: Fix double free in gc0310_remove()
Rikard Falkeborn <[email protected]>
media: venus: helpers: Fix ALIGN() of non power of two
Stephan Gerhold <[email protected]>
mfd: rt5033: Drop rt5033-battery sub-device
ChiYuan Huang <[email protected]>
power: supply: rt9467: Make charger-enable control as logic level
Mike Leach <[email protected]>
coresight: etm4x: Fix missing trctraceidr file in sysfs
James Clark <[email protected]>
coresight: Fix loss of connection info when a module is unloaded
Clark Wang <[email protected]>
i3c: master: svc: fix cpu schedule in spin lock
Yue Zhao <[email protected]>
lkdtm: replace ll_rw_block with submit_bh
Muchun Song <[email protected]>
kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
John Ogness <[email protected]>
serial: 8250: lock port for UART_IER access in omap8250_irq()
John Ogness <[email protected]>
serial: core: lock port for start_rx() in uart_resume_port()
John Ogness <[email protected]>
serial: 8250: lock port for stop_rx() in omap8250_irq()
John Ogness <[email protected]>
serial: core: lock port for stop_rx() in uart_suspend_port()
Bhupesh Sharma <[email protected]>
usb: misc: eud: Fix eud sysfs path (use 'qcom_eud')
Arnd Bergmann <[email protected]>
usb: hide unused usbfs_notify_suspend/resume functions
Li Yang <[email protected]>
usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
Andy Shevchenko <[email protected]>
extcon: Fix kernel doc of property capability fields to avoid warnings
Andy Shevchenko <[email protected]>
extcon: Fix kernel doc of property fields to avoid warnings
Prashanth K <[email protected]>
usb: gadget: u_serial: Add null pointer check in gserial_suspend
Vladislav Efanov <[email protected]>
usb: dwc3: qcom: Fix potential memory leak
Krzysztof Kozlowski <[email protected]>
soundwire: debugfs: fix unbalanced pm_runtime_put()
Krzysztof Kozlowski <[email protected]>
soundwire: qcom: fix unbalanced pm_runtime_put()
Krzysztof Kozlowski <[email protected]>
soundwire: qcom: use consistently 'ctrl' as state variable name
Arnd Bergmann <[email protected]>
staging: vchiq_arm: mark vchiq_platform_init() static
Dmitry Baryshkov <[email protected]>
clk: qcom: mmcc-msm8974: use clk_rcg2_shared_ops for mdp_clk_src clock
Kathiravan T <[email protected]>
clk: qcom: ipq5332: fix the order of SLEEP_CLK and XO clock
Kathiravan T <[email protected]>
clk: qcom: ipq5332: fix the src parameter in ftbl_gcc_apss_axi_clk_src
Konrad Dybcio <[email protected]>
clk: qcom: dispcc-qcm2290: Fix GPLL0_OUT_DIV handling
Konrad Dybcio <[email protected]>
clk: qcom: dispcc-qcm2290: Fix BI_TCXO_AO handling
Robert Marko <[email protected]>
clk: qcom: ipq6018: fix networking resets
Yunfei Dong <[email protected]>
media: mediatek: vcodec: using decoder status instead of core work count
Martin Kepplinger <[email protected]>
media: hi846: fix usage of pm_runtime_get_if_in_use()
Geert Uytterhoeven <[email protected]>
media: renesas: fdp1: Identify R-Car Gen2 versions
Daniel Scally <[email protected]>
media: i2c: Correct format propagation for st-mipid02
Dan Carpenter <[email protected]>
media: i2c: imx296: fix error checking in imx296_read_temperature()
Duoming Zhou <[email protected]>
media: usb: siano: Fix warning due to null work_func_t function pointer
Marek Vasut <[email protected]>
media: videodev2.h: Fix struct v4l2_input tuner index comment
Ming Qian <[email protected]>
media: amphion: initiate a drain of the capture queue in dynamic resolution change
Daniel Lundberg Pedersen <[email protected]>
media: videodev2.h: Fix p_s32 and p_s64 pointer types
Christophe JAILLET <[email protected]>
media: common: saa7146: Avoid a leak in vmalloc_to_sg()
Ming Qian <[email protected]>
media: amphion: drop repeated codec data for vc1g format
Ming Qian <[email protected]>
media: amphion: drop repeated codec data for vc1l format
Daniil Dulov <[email protected]>
media: usb: Check az6007_read() return value
Konrad Dybcio <[email protected]>
clk: qcom: gcc-qcm2290: Mark RCGs shared where applicable
Mantas Pucka <[email protected]>
clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
Taniya Das <[email protected]>
clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs
Dmitry Baryshkov <[email protected]>
clk: qcom: mmcc-msm8974: remove oxili_ocmemgx_clk
Kathiravan T <[email protected]>
clk: qcom: gcc: ipq5332: Use floor ops for SDCC clocks
Konrad Dybcio <[email protected]>
interconnect: qcom: rpm: Don't use clk_get_optional for bus clocks anymore
Konrad Dybcio <[email protected]>
interconnect: qcom: rpm: Rename icc provider num_clocks to num_bus_clocks
Tony Lindgren <[email protected]>
serial: 8250: omap: Fix freeing of resources on failed register
Christophe JAILLET <[email protected]>
usb: dwc2: Fix some error handling paths
Basavaraj Natikar <[email protected]>
xhci: Improve the XHCI system resume time
Basavaraj Natikar <[email protected]>
USB: Extend pci resume function to handle PM events
Christophe JAILLET <[email protected]>
cpufreq: tegra194: Fix an error handling path in tegra194_cpufreq_probe()
John Paul Adrian Glaubitz <[email protected]>
sh: j2: Use ioremap() to translate device tree address into kernel memory
Yangtao Li <[email protected]>
f2fs: do not allow to defragment files have FI_COMPRESS_RELEASED
Konrad Dybcio <[email protected]>
dt-bindings: power: reset: qcom-pon: Only allow reboot-mode pre-pmk8350
Dan Carpenter <[email protected]>
w1: fix loop in w1_fini()
Stefan Wahren <[email protected]>
w1: w1_therm: fix locking behavior in convert_t
Thomas Gleixner <[email protected]>
x86/efi: Make efi_set_virtual_address_map IBT safe
Will Deacon <[email protected]>
arm64: sme: Use STR P to clear FFR context field in streaming SVE mode
Arnd Bergmann <[email protected]>
ksmbd: avoid field overflow warning
Paulo Alcantara <[email protected]>
smb: client: fix shared DFS root mounts with different prefixes
Paulo Alcantara <[email protected]>
smb: client: fix broken file attrs with nodfs mounts
Shyam Prasad N <[email protected]>
cifs: do all necessary checks for credits within or before locking
Shyam Prasad N <[email protected]>
cifs: prevent use-after-free by freeing the cfile later
Ard Biesheuvel <[email protected]>
efi/libstub: Disable PCI DMA before grabbing the EFI memory map
Masahiro Yamada <[email protected]>
kbuild: deb-pkg: remove the CONFIG_MODULES check in buildeb
Josh Triplett <[email protected]>
kbuild: builddeb: always make modules_install, to install modules.builtin*
Vishal Verma <[email protected]>
tools/testing/cxl: Fix command effects for inject/clear poison
Dan Williams <[email protected]>
cxl/region: Fix state transitions after reset failure
Dan Williams <[email protected]>
cxl/region: Flag partially torn down regions as unusable
Dan Williams <[email protected]>
cxl/region: Move cache invalidation before region teardown, and before setup
Sami Tolvanen <[email protected]>
kbuild: Disable GCOV for *.mod.o
Sami Tolvanen <[email protected]>
kbuild: Fix CFI failures with GCOV
Ding Hui <[email protected]>
SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
Filipe Manana <[email protected]>
btrfs: do not BUG_ON() on tree mod log failure at balance_level()
Filipe Manana <[email protected]>
btrfs: fix race when deleting free space root from the dirty cow roots list
Christian Loehle <[email protected]>
mmc: block: ioctl: do write error check for spi
Demi Marie Obenour <[email protected]>
block: increment diskseq on all media change events
Michael Schmitz <[email protected]>
block: change all __u32 annotations to __be32 in affs_hardblocks.h
Michael Schmitz <[email protected]>
block: add overflow checks for Amiga partition support
Michael Schmitz <[email protected]>
block: fix signed int overflow in Amiga partition support
John Johansen <[email protected]>
apparmor: fix: kzalloc perms tables for shared dfas
Takashi Iwai <[email protected]>
ALSA: pcm: Fix potential data race at PCM memory allocation helpers
Takashi Iwai <[email protected]>
ALSA: jack: Fix mutex call in snd_jack_report()
Werner Sembach <[email protected]>
ALSA: hda/realtek: Add quirk for Clevo NPx0SNx
Andy Chi <[email protected]>
ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook
Martin Kaiser <[email protected]>
hwrng: st - keep clock enabled while hwrng is registered
Tarun Sahu <[email protected]>
dax/kmem: Pass valid argument to memory_group_register_static
Dan Williams <[email protected]>
dax: Introduce alloc_dev_dax_id()
Dan Williams <[email protected]>
dax: Fix dax_mapping_release() use after free
Bharath SM <[email protected]>
SMB3: Do not send lease break acknowledgment if all file handles have been closed
Olga Kornievskaia <[email protected]>
NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
Qi Zheng <[email protected]>
NFSv4.2: fix wrong shrinker_id
Hareshx Sankar Raj <[email protected]>
crypto: qat - unmap buffers before free for RSA
Hareshx Sankar Raj <[email protected]>
crypto: qat - unmap buffer before free for DH
Masahiro Yamada <[email protected]>
ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
Dan Carpenter <[email protected]>
modpost: fix off by one in is_executable_section()
Pierre-Clément Tosi <[email protected]>
scripts/mksysmap: Fix badly escaped '$'
Bhupesh Sharma <[email protected]>
dt-bindings: qcom-qce: Fix compatible combinations for SM8150 and IPQ4019 SoCs
Stephan Müller <[email protected]>
crypto: jitter - correct health test during initialization
Arnd Bergmann <[email protected]>
crypto: marvell/cesa - Fix type mismatch warning
Masahiro Yamada <[email protected]>
modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
Masahiro Yamada <[email protected]>
modpost: fix section mismatch message for R_ARM_ABS32
Randy Dunlap <[email protected]>
crypto: nx - fix build warnings when DEBUG_FS is not enabled
Masahiro Yamada <[email protected]>
modpost: remove broken calculation of exception_table_entry size
Herbert Xu <[email protected]>
hwrng: virtio - Fix race on data_avail and actual data
Eric Farman <[email protected]>
vfio/mdev: Move the compat_class initialization to module init
Xinghui Li <[email protected]>
PCI: vmd: Fix uninitialized variable usage in vmd_enable_domain()
Yoshihiro Shimoda <[email protected]>
PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction
Shunsuke Mie <[email protected]>
PCI: endpoint: Fix a Kconfig prompt of vNTB driver
Song Shuai <[email protected]>
riscv: hibernate: remove WARN_ON in save_processor_state
Namhyung Kim <[email protected]>
perf test: Set PERF_EXEC_PATH for script execution
Aneesh Kumar K.V <[email protected]>
powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
Aneesh Kumar K.V <[email protected]>
powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo
Tiezhu Yang <[email protected]>
riscv: uprobes: Restore thread.bad_cause
Xi Pardee <[email protected]>
platform/x86:intel/pmc: Update maps for Meteor Lake P/M platforms
Manivannan Sadhasivam <[email protected]>
PCI: qcom: Disable write access to read only registers for IP v2.9.0
Manivannan Sadhasivam <[email protected]>
PCI: qcom: Use DWC helpers for modifying the read-only DBI registers
Song Shuai <[email protected]>
riscv: hibernation: Remove duplicate call of suspend_restore_csrs
Aditya Gupta <[email protected]>
powerpc: update ppc_save_regs to save current r1 in pt_regs
Colin Ian King <[email protected]>
powerpc/powernv/sriov: perform null check on iov before dereferencing iov
Stanley Chu <[email protected]>
scsi: ufs: core: mcq: Fix the incorrect OCS value for the device command
Bart Van Assche <[email protected]>
scsi: ufs: core: Remove a ufshcd_add_command_trace() call
Namhyung Kim <[email protected]>
perf stat: Reset aggr stats for each run
Claudiu Beznea <[email protected]>
pinctrl: at91-pio4: check return value of devm_kasprintf()
Claudiu Beznea <[email protected]>
pinctrl: microchip-sgpio: check return value of devm_kasprintf()
Xiaolei Wang <[email protected]>
pinctrl: freescale: Fix a memory out of bounds when num_configs is 1
Nicholas Piggin <[email protected]>
powerpc/64s: Fix VAS mm use after free
Ian Rogers <[email protected]>
perf tool x86: Fix perf_env memory leak
Ravi Bangoria <[email protected]>
perf tool x86: Consolidate is_amd check into single function
Michal Wilczynski <[email protected]>
platform/x86/dell/dell-rbtn: Fix resources leaking on error path
Aditya Gupta <[email protected]>
perf tests task_analyzer: Skip tests if no libtraceevent support
Aditya Gupta <[email protected]>
perf tests task_analyzer: Fix bad substitution ${$1}
Kan Liang <[email protected]>
perf metric: Fix no group check
Namhyung Kim <[email protected]>
perf dwarf-aux: Fix off-by-one in die_get_varname()
David E. Box <[email protected]>
platform/x86/intel/pmc/mtl: Put devices in D3 during resume
David E. Box <[email protected]>
platform/x86/intel/pmc: Add resume callback
Mark Pearson <[email protected]>
platform/x86: thinkpad_acpi: Fix lkp-tests warnings for platform profiles
Arnaldo Carvalho de Melo <[email protected]>
perf script: Fix allocation of evsel->priv related to per-event dump files
Christophe Leroy <[email protected]>
powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe()
Christophe Leroy <[email protected]>
powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare()
Christophe Leroy <[email protected]>
kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
Jiasheng Jiang <[email protected]>
pinctrl: npcm7xx: Add missing check for ioremap
Wells Lu <[email protected]>
pinctrl:sunplus: Add check for kmalloc
Mark Pearson <[email protected]>
platform/x86: think-lmi: Correct NVME password handling
Mark Pearson <[email protected]>
platform/x86: think-lmi: Correct System password interface
Mark Pearson <[email protected]>
platform/x86: think-lmi: mutex protection around multiple WMI calls
Xi Pardee <[email protected]>
platform/x86:intel/pmc: Remove Meteor Lake S platform support
Andy Shevchenko <[email protected]>
pinctrl: cherryview: Return correct value if pin in push-pull mode
Arnaldo Carvalho de Melo <[email protected]>
perf bench: Add missing setlocale() call to allow usage of %'d style formatting
Thierry Reding <[email protected]>
pinctrl: tegra: Duplicate pinmux functions table
Bart Van Assche <[email protected]>
scsi: ufs: core: Fix handling of lrbp->cmd
Bart Van Assche <[email protected]>
scsi: ufs: core: Increase the START STOP UNIT timeout from one to ten seconds
Justin Tee <[email protected]>
scsi: lpfc: Revise NPIV ELS unsol rcv cmpl logic to drop ndlp based on nlp_state
Sui Jingfeng <[email protected]>
PCI: Add pci_clear_master() stub for non-CONFIG_PCI
Bart Van Assche <[email protected]>
scsi: ufs: Declare ufshcd_{hold,release}() once
Wells Lu <[email protected]>
pinctrl: sunplus: Add check for kmalloc
Junyan Ye <[email protected]>
PCI: ftpci100: Release the clock resources
Ian Rogers <[email protected]>
perf evsel: Don't let for_each_group() treat the head of the list as one of its nodes
Rongguang Wei <[email protected]>
PCI: pciehp: Cancel bringup sequence if card is not present
Dan Carpenter <[email protected]>
pinctrl: at91: fix a couple NULL vs IS_ERR() checks
Yuchen Yang <[email protected]>
scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
Ding Hui <[email protected]>
PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
Hans de Goede <[email protected]>
platform/x86: lenovo-yogabook: Set default keyboard backligh brightness on probe()
Hans de Goede <[email protected]>
platform/x86: lenovo-yogabook: Reprobe devices on remove()
Hans de Goede <[email protected]>
platform/x86: lenovo-yogabook: Fix work race on remove()
Christophe JAILLET <[email protected]>
pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
Jinhong Zhu <[email protected]>
scsi: qedf: Fix NULL dereference in error handling
Nirmal Patel <[email protected]>
PCI: vmd: Reset VMD config register between soft reboots
Siddharth Vadapalli <[email protected]>
PCI: cadence: Fix Gen2 Link Retraining process
Jason Gunthorpe <[email protected]>
iommufd: Call iopt_area_contig_done() under the lock
Jason Gunthorpe <[email protected]>
iommufd: Do not access the area pointer after unlocking
Paul Cercueil <[email protected]>
MIPS: DTS: CI20: Raise VDDCORE voltage to 1.125 volts
Paul Cercueil <[email protected]>
MIPS: DTS: CI20: Add parent supplies to ACT8600 regulators
Syed Saba Kareem <[email protected]>
ASoC: amd: acp: clear pdm dma interrupt mask
Michael Walle <[email protected]>
ARM: dts: lan966x: kontron-d10: fix SPI CS
Michael Walle <[email protected]>
ARM: dts: lan966x: kontron-d10: fix board reset
Fei Shao <[email protected]>
clk: Fix memory leak in devm_clk_notifier_register()
Claudiu Beznea <[email protected]>
ASoC: imx-audmix: check return value of devm_kasprintf()
Amir Goldstein <[email protected]>
ovl: update of dentry revalidate flags after copy up
Alexey Romanov <[email protected]>
drivers: meson: secure-pwrc: always enable DMA domain
Claudiu Beznea <[email protected]>
clk: clocking-wizard: check return value of devm_kasprintf()
Claudiu Beznea <[email protected]>
clk: ti: clkctrl: check return value of kasprintf()
Claudiu Beznea <[email protected]>
clk: keystone: sci-clk: check return value of kasprintf()
Claudiu Beznea <[email protected]>
clk: si5341: free unused memory on probe failure
Claudiu Beznea <[email protected]>
clk: si5341: check return value of {devm_}kasprintf()
Claudiu Beznea <[email protected]>
clk: si5341: return error if one synth clock registration fails
Claudiu Beznea <[email protected]>
clk: cdce925: check return value of kasprintf()
Claudiu Beznea <[email protected]>
clk: vc5: check memory returned by kasprintf()
AngeloGioacchino Del Regno <[email protected]>
clk: mediatek: clk-mt8173-apmixedsys: Fix iomap not released issue
AngeloGioacchino Del Regno <[email protected]>
clk: mediatek: clk-mt8173-apmixedsys: Fix return value for of_iomap() error
AngeloGioacchino Del Regno <[email protected]>
clk: mediatek: clk-mtk: Grab iomem pointer for divider clocks
Dmitry Baryshkov <[email protected]>
drm/msm/dpu: correct MERGE_3D length
Dmitry Baryshkov <[email protected]>
drm/msm/dpu: fix sc7280 and sc7180 PINGPONG done interrupts
Marijn Suijten <[email protected]>
drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above
Marijn Suijten <[email protected]>
drm/msm/dpu: Move autorefresh disable from CMD encoder to pingpong
Marijn Suijten <[email protected]>
drm/msm/dpu: Drop unused poll_timeout_wr_ptr PINGPONG callback
Luben Tuikov <[email protected]>
drm/amdgpu: Fix usage of UMC fill record in RAS
Srinivasan Shanmugam <[email protected]>
drm/amdgpu: Fix memcpy() in sienna_cichlid_append_powerplay_table function.
Daniel Golle <[email protected]>
arm64: dts: mt7986: increase bl2 partition on NAND of Bananapi R3
Nícolas F. R. A. Prado <[email protected]>
arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz
Allen-KH Cheng <[email protected]>
arm64: dts: mediatek: Add cpufreq nodes for MT8192
Bjorn Andersson <[email protected]>
drm/msm/dp: Free resources after unregistering them
Bjorn Andersson <[email protected]>
drm/msm/dp: Drop aux devices together with DP controller
Jessica Zhang <[email protected]>
drm/msm/dsi: Remove incorrect references to slice_count
Jessica Zhang <[email protected]>
drm/msm/dpu: Fix slice_last_group_size calculation
Dmitry Baryshkov <[email protected]>
drm/msm/dpu: do not enable color-management if DSPPs are not available
Su Hui <[email protected]>
ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
Nishanth Menon <[email protected]>
arm64: dts: ti: k3-am69-sk: Fix main_i2c0 alias
Thejasvi Konduru <[email protected]>
arm64: dts: ti: k3-j784s4: Fix wakeup pinmux range and pinctrl node offsets
Nishanth Menon <[email protected]>
arm64: dts: ti: k3-j784s4-evm: Fix main_i2c0 alias
Andrew Davis <[email protected]>
arm64: dts: ti: k3-j721e-beagleboneai64: Fix mailbox node status
Yuan Can <[email protected]>
clk: tegra: tegra124-emc: Fix potential memory leak
Dan Carpenter <[email protected]>
clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider()
Dan Carpenter <[email protected]>
clk: bcm: rpi: Fix off by one in raspberrypi_discover_clocks()
Abel Vesa <[email protected]>
arm64: dts: qcom: sm8550: Add missing interconnect path to USB HC
Marijn Suijten <[email protected]>
arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k
Konrad Dybcio <[email protected]>
arm64: dts: qcom: sm8550: Flush RSC sleep & wake votes
Konrad Dybcio <[email protected]>
arm64: dts: qcom: sdm845: Flush RSC sleep & wake votes
Konrad Dybcio <[email protected]>
arm64: dts: qcom: sdm670: Flush RSC sleep & wake votes
Konrad Dybcio <[email protected]>
arm64: dts: qcom: qdu1000: Flush RSC sleep & wake votes
Bosi Zhang <[email protected]>
clk: mediatek: fix of_iomap memory leak
Yuxing Liu <[email protected]>
clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
Zhanhao Hu <[email protected]>
clk: imx93: fix memory leak and missing unwind goto in imx93_clocks_probe
Hao Luo <[email protected]>
clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
Kai Ma <[email protected]>
clk: imx: clk-imxrt1050: fix memory leak in imxrt1050_clocks_probe
Adam Ford <[email protected]>
clk: imx: composite-8m: Add imx8m_divider_determine_rate
Kashyap Desai <[email protected]>
RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
Kashyap Desai <[email protected]>
RDMA/bnxt_re: wraparound mbox producer index
Dmitry Baryshkov <[email protected]>
drm/msm/a5xx: really check for A510 in a5xx_gpu_init
Dmitry Baryshkov <[email protected]>
drm/msm/a6xx: don't set IO_PGTABLE_QUIRK_ARM_OUTER_WBWA with coherent SMMU
Chia-I Wu <[email protected]>
amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
Bob Pearson <[email protected]>
RDMA/rxe: Fix access checks in rxe_check_bind_mw
Geert Uytterhoeven <[email protected]>
HID: uclogic: Modular KUnit tests should not depend on KUNIT=y
Nikita Zhandarovich <[email protected]>
drm/radeon: fix possible division-by-zero errors
Aurabindo Pillai <[email protected]>
drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode
Chen-Yu Tsai <[email protected]>
soc: mediatek: SVS: Fix MT8192 GPU node name
Daniil Dulov <[email protected]>
drm/amdkfd: Fix potential deallocation of previously deallocated memory.
Christophe JAILLET <[email protected]>
drm/amd/display: Fix a test dml32_rq_dlg_get_rq_reg()
Christophe JAILLET <[email protected]>
drm/amd/display: Fix a test CalculatePrefetchSchedule()
Paul Cercueil <[email protected]>
MIPS: DTS: CI20: Fix ACT8600 regulator node names
Maxime Ripard <[email protected]>
clk: Export clk_hw_forward_rate_request()
Christian Lamparter <[email protected]>
ARM: dts: BCM5301X: fix duplex-full => full-duplex
Guenter Roeck <[email protected]>
hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
Tim Harvey <[email protected]>
hwmon: (gsc-hwmon) fix fan pwm temperature scaling
Olivier Moysan <[email protected]>
ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
Dan Carpenter <[email protected]>
accel/habanalabs: fix gaudi2_get_tpc_idle_status() return
Marek Vasut <[email protected]>
ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
Chris Morgan <[email protected]>
arm64: dts: rockchip: Fix compatible for Bluetooth on rk3566-anbernic
Caleb Connolly <[email protected]>
Input: pm8941-powerkey - fix debounce on gen2+ PMICs
Keerthy <[email protected]>
arm64: dts: ti: k3-j7200: Fix physical address of pin
Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Assign ES8316 MCLK rate on rk3588-rock-5b
Ville Syrjälä <[email protected]>
drm/i915: No 10bit gamma on desktop gen3 parts
Matt Roper <[email protected]>
drm/i915/display: Make display responsible for probing its own IP
Matt Roper <[email protected]>
drm/i915/display: Move display runtime info to display structure
Matt Roper <[email protected]>
drm/i915: Convert INTEL_INFO()->display to a pointer
Matt Roper <[email protected]>
drm/i915/display: Move display device info to header under display/
Jani Nikula <[email protected]>
drm/i915: hide mkwrite_device_info() better
Ville Syrjälä <[email protected]>
drm/i915: Fix limited range csc matrix
Bjorn Andersson <[email protected]>
dt-bindings: arm-smmu: Fix SC8280XP Adreno binding
Christophe JAILLET <[email protected]>
fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
Kuogee Hsieh <[email protected]>
drm/msm/dpu: always clear every individual pending flush mask
Kuogee Hsieh <[email protected]>
drm/msm/dpu: set DSC flush bit correctly at MDP CTL flush register
Wolfram Sang <[email protected]>
arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
Geert Uytterhoeven <[email protected]>
ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
Chengchang Tang <[email protected]>
RDMA/hns: Fix hns_roce_table_get return value
Brendan Cunningham <[email protected]>
IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
Arnd Bergmann <[email protected]>
RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes
Randy Dunlap <[email protected]>
soc/fsl/qe: fix usb.c build errors
Martin Blumenstingl <[email protected]>
ARM: dts: meson8: correct uart_B and uart_C clock references
Cristian Ciocaltea <[email protected]>
ASoC: es8316: Do not set rate constraints for unsupported MCLKs
Cristian Ciocaltea <[email protected]>
ASoC: es8316: Increment max value for ALC Capture Target Volume control
Dmitry Baryshkov <[email protected]>
ARM: dts: qcom: apq8074-dragonboard: Set DMA as remotely controlled
Krzysztof Kozlowski <[email protected]>
memory: brcmstb_dpfe: fix testing array offset after use
Marek Vasut <[email protected]>
ARM: dts: stm32: Shorten the AV96 HDMI sound card name
Douglas Anderson <[email protected]>
arm64: dts: mediatek: mt8195: Add mediatek,broken-save-restore-fw to cherry
Douglas Anderson <[email protected]>
arm64: dts: mediatek: mt8192: Add mediatek,broken-save-restore-fw to asurada
Douglas Anderson <[email protected]>
arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: apq8096: fix fixed regulator name property
Luca Weiss <[email protected]>
arm64: dts: qcom: pm7250b: add missing spmi-vadc include
Arnd Bergmann <[email protected]>
ARM: omap2: fix missing tick_broadcast() prototype
Arnd Bergmann <[email protected]>
ARM: ep93xx: fix missing-prototype warnings
Dario Binacchi <[email protected]>
drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
Adam Ford <[email protected]>
drm: bridge: samsung-dsim: Fix PMS Calculator on imx8m[mnp]
Frieder Schrempf <[email protected]>
drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec
Stephan Gerhold <[email protected]>
arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion
Stephan Gerhold <[email protected]>
arm64: dts: qcom: apq8016-sbc: Fix regulator constraints
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sdm845-polaris: add missing touchscreen child node reg
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm8550: correct pinctrl unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm8550: correct crypto unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm8350: correct USB phy unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm8350: correct PCI phy unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm8350: correct DMA controller unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sm6115: correct thermal-sensor unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sdm845: correct camss unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: sdm630: correct camss unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8996: correct camss unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8994: correct SPMI unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8976: correct MMC unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8953: correct WCNSS unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8953: correct IOMMU unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8916: correct WCNSS unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8916: correct MMC unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: msm8916: correct camss unit address
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: ipq6018: correct qrng unit address
Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: pm8998: don't use GIC_SPI for SPMI interrupts
Krzysztof Kozlowski <[email protected]>
ARM: dts: qcom: msm8974: do not use underscore in node name (again)
Linus Walleij <[email protected]>
ARM/musb: omap2: Remove global GPIO numbers from TUSB6010
Linus Walleij <[email protected]>
ARM: omap2: Rewrite WLAN quirk to use GPIO descriptors
Linus Walleij <[email protected]>
ARM: omap2: Get USB hub reset GPIO from descriptor
Linus Walleij <[email protected]>
ARM/gpio: Push OMAP2 quirk down into TWL4030 driver
Linus Walleij <[email protected]>
ARM: omap1: Exorcise the legacy GPIO header
Linus Walleij <[email protected]>
ARM: omap1: Make serial wakeup GPIOs use descriptors
Linus Walleij <[email protected]>
ARM: omap1: Fix up the Nokia 770 board device IRQs
Linus Walleij <[email protected]>
ARM/mmc: Convert old mmci-omap to GPIO descriptors
Linus Walleij <[email protected]>
Input: ads7846 - Convert to use software nodes
Linus Walleij <[email protected]>
ARM: omap1: Remove reliance on GPIO numbers from SX1
Linus Walleij <[email protected]>
ARM: omap1: Remove reliance on GPIO numbers from PalmTE
Linus Walleij <[email protected]>
ARM: omap1: Drop header on AMS Delta
Linus Walleij <[email protected]>
ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1
Nícolas F. R. A. Prado <[email protected]>
drm/bridge: anx7625: Prevent endless probe loop
Bhupesh Sharma <[email protected]>
arm64: dts: qcom: qrb4210-rb2: Fix CD gpio for SDHC2
Tony Lindgren <[email protected]>
ARM: dts: gta04: Move model property out of pinctrl node
Biju Das <[email protected]>
clk: renesas: rzg2l: Fix CPG_SIPLL5_CLK1 register write
Jean-Philippe Brucker <[email protected]>
iommu/virtio: Return size mapped for a detached domain
Jean-Philippe Brucker <[email protected]>
iommu/virtio: Detach domain on endpoint release
Arnd Bergmann <[email protected]>
drm/nouveau: dispnv50: fix missing-prototypes warning
Konrad Dybcio <[email protected]>
drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK
Marijn Suijten <[email protected]>
drm/msm/dpu: Use V4.0 PCC DSPP sub-block in SC7[12]80
Arnaud Vrac <[email protected]>
drm/msm/dpu: fix cursor block register bit offset in msm8998 hw catalog
Dmitry Baryshkov <[email protected]>
drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate
Dmitry Baryshkov <[email protected]>
drm/msm/dpu: enable DSPP_2/3 for LM_2/3 on sm8450
Kalesh AP <[email protected]>
RDMA/bnxt_re: Fix to remove an unnecessary log
Kalesh AP <[email protected]>
RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid
Kalesh AP <[email protected]>
RDMA/bnxt_re: Use unique names while registering interrupts
Kalesh AP <[email protected]>
RDMA/bnxt_re: Fix to remove unnecessary return labels
Selvin Xavier <[email protected]>
RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
Nikita Zhandarovich <[email protected]>
hwmon: (f71882fg) prevent possible division by zero
Dan Carpenter <[email protected]>
clk: imx: scu: use _safe list iterator to avoid a use after free
Devi Priya <[email protected]>
arm64: dts: qcom: ipq9574: Update the size of GICC & GICV regions
Alexander Stein <[email protected]>
drm/bridge: tc358767: Switch to devm MIPI-DSI helpers
Robert Marko <[email protected]>
arm64: dts: microchip: sparx5: do not use PSCI on reference boards
Tony Lindgren <[email protected]>
bus: ti-sysc: Fix dispc quirk masking bool variables
Marek Vasut <[email protected]>
ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
Maíra Canal <[email protected]>
drm/vkms: Fix RGB565 pixel conversion
Maíra Canal <[email protected]>
drm: Add fixed-point helper to get rounded integer values
Maíra Canal <[email protected]>
drm/vkms: isolate pixel conversion functionality
Bard Liao <[email protected]>
ASoC: Intel: sof_sdw: start set codec init function with an adr index
Bard Liao <[email protected]>
ASoC: Intel: sof_sdw: remove SOF_SDW_TGL_HDMI for MeteorLake devices
Trevor Wu <[email protected]>
ASoC: dt-bindings: mediatek,mt8188-afe: correct clock name
Dan Carpenter <[email protected]>
driver: soc: xilinx: use _safe loop iterator to avoid a use after free
Dmitry Baryshkov <[email protected]>
drm/panel: sharp-ls043t1le01: adjust mode settings
XuDong Liu <[email protected]>
drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks`
Marek Vasut <[email protected]>
Input: adxl34x - do not hardcode interrupt trigger type
Marek Vasut <[email protected]>
clk: rs9: Fix .driver_data content in i2c_device_id
Marek Vasut <[email protected]>
clk: vc7: Fix .driver_data content in i2c_device_id
Marek Vasut <[email protected]>
clk: vc5: Fix .driver_data content in i2c_device_id
[email protected] <[email protected]>
ARM: dts: meson8b: correct uart_B and uart_C clock references
Rafał Miłecki <[email protected]>
ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
Luc Ma <[email protected]>
drm/vram-helper: fix function names in vram helper doc
Dmitry Torokhov <[email protected]>
Input: tests - fix input_test_match_device_id test
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix THS_TRAILCNT computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix TXTAGOCNT computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix THS_ZEROCNT computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix TCLK_TRAILCNT computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix TCLK_ZEROCNT computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix PLL target frequency
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: fix PLL parameters computation
Francesco Dolcini <[email protected]>
drm/bridge: tc358768: always enable HS video mode
Alexander Stein <[email protected]>
drm/bridge: ti-sn65dsi83: Fix enable error path
Geert Uytterhoeven <[email protected]>
Input: tests - modular KUnit tests should not depend on KUNIT=y
Geert Uytterhoeven <[email protected]>
Input: tests - fix use-after-free and refcount underflow in input_test_exit()
Duoming Zhou <[email protected]>
Input: cyttsp4_core - change del_timer_sync() to timer_shutdown_sync()
Luca Weiss <[email protected]>
Input: drv260x - sleep between polling GO bit
Markus Elfring <[email protected]>
drm/bridge: it6505: Move a variable assignment behind a null pointer check in receive_timing_debugfs_show()
Vinay Belgaumkar <[email protected]>
drm/i915/guc/slpc: Provide sysfs for efficient freq
Nicholas Kazlauskas <[email protected]>
drm/amd/display: Explicitly specify update type per plane info change
Nikita Zhandarovich <[email protected]>
radeon: avoid double free in ci_dpm_init()
Arnd Bergmann <[email protected]>
drm/amd/display: fix is_timing_changed() prototype
Wesley Chalmers <[email protected]>
drm/amd/display: Add logging for display MALL refresh setting
Srinivasan Shanmugam <[email protected]>
drm/amd/display: Unconditionally print when DP sink power state fails
Dan Carpenter <[email protected]>
drm/imx/lcdc: fix a NULL vs IS_ERR() bug in probe
Kuniyuki Iwashima <[email protected]>
netlink: Add __sock_i_ino() for __netlink_diag_dump().
Vladimir Oltean <[email protected]>
net: dsa: avoid suspicious RCU usage for synced VLAN-aware MAC addresses
Cambda Zhu <[email protected]>
ipvlan: Fix return value of ipvlan_queue_xmit()
Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: fix underflow in chain reference counter
Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: unbind non-anonymous set if rule construction fails
Ilia.Gavrilov <[email protected]>
netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
Florian Westphal <[email protected]>
netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
Jeremy Sowden <[email protected]>
lib/ts_bm: reset initial match offset for every block of text
Lin Ma <[email protected]>
net: nfc: Fix use-after-free caused by nfc_llcp_find_local
Edward Cree <[email protected]>
sfc: fix crash when reading stats while NIC is resetting
David Howells <[email protected]>
ocfs2: Fix use of slab data with sendpage
Maxim Kochetkov <[email protected]>
net: axienet: Move reset before 64-bit DMA detection
Kuniyuki Iwashima <[email protected]>
gtp: Fix use-after-free in __gtp_encap_destroy().
Sabrina Dubroca <[email protected]>
selftests: rtnetlink: remove netdevsim device after ipsec offload test
Eric Dumazet <[email protected]>
sch_netem: fix issues in netem_change() vs get_dist_table()
Eric Dumazet <[email protected]>
bonding: do not assume skb mac_header is set
Eric Dumazet <[email protected]>
netlink: do not hard code device address lenth in fdb dumps
Eric Dumazet <[email protected]>
netlink: fix potential deadlock in netlink_set_err()
Bartosz Golaszewski <[email protected]>
net: stmmac: fix double serdes powerdown
Vinicius Costa Gomes <[email protected]>
igc: Work around HW bug causing missing timestamps
Vinicius Costa Gomes <[email protected]>
igc: Retrieve TX timestamp during interrupt handling
Vinicius Costa Gomes <[email protected]>
igc: Check if hardware TX timestamping is enabled earlier
Vinicius Costa Gomes <[email protected]>
igc: Fix race condition in PTP tx code
Jimmy Assarsson <[email protected]>
can: kvaser_pciefd: Set hardware timestamp on transmitted packets
Jimmy Assarsson <[email protected]>
can: kvaser_pciefd: Add function to set skb hwtstamps
Vincent Mailhol <[email protected]>
can: length: fix bitstuffing count
Gilad Sever <[email protected]>
bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings
Gilad Sever <[email protected]>
bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint
Gilad Sever <[email protected]>
bpf: Factor out socket lookup functions for the TC hookpoint.
Dmitry Antipov <[email protected]>
wifi: ath9k: convert msecs to jiffies where needed
Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: check only affected links
Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection
Marek Vasut <[email protected]>
mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019
Douglas Anderson <[email protected]>
watchdog/hardlockup: keep kernel.nmi_watchdog sysctl as 0444 if probe fails
Lecopzer Chen <[email protected]>
watchdog/perf: adapt the watchdog_perf interface for async model
Douglas Anderson <[email protected]>
watchdog/hardlockup: rename some "NMI watchdog" constants/function
Douglas Anderson <[email protected]>
watchdog/hardlockup: move perf hardlockup checking/panic to common watchdog.c
Lecopzer Chen <[email protected]>
watchdog/hardlockup: change watchdog_nmi_enable() to void
Lecopzer Chen <[email protected]>
watchdog: remove WATCHDOG_DEFAULT
Mathieu Desnoyers <[email protected]>
mm: move mm_count into its own cache line
Ilan Peer <[email protected]>
wifi: ieee80211: Fix the common size calculation for reconfiguration ML
Johannes Berg <[email protected]>
wifi: cfg80211: fix regulatory disconnect with OCB/NAN
Benjamin Berg <[email protected]>
wifi: cfg80211: drop incorrect nontransmitted BSS update code
Benjamin Berg <[email protected]>
wifi: cfg80211: rewrite merging of inherited elements
Nicolas Cavallari <[email protected]>
wifi: mac80211: Remove "Missing iftype sband data/EHT cap" spam
Anjaneyulu <[email protected]>
wifi: iwlwifi: pcie: fix NULL pointer dereference in iwl_pcie_irq_rx_msix_handler()
Johannes Berg <[email protected]>
wifi: iwlwifi: pull from TXQs with softirqs disabled
Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: correctly access HE/EHT sband capa
Gregory Greenman <[email protected]>
wifi: iwlwifi: mvm: add support for Extra EHT LTF
Johannes Berg <[email protected]>
wifi: mac80211: add helpers to access sband iftype data
Ziyang Huang <[email protected]>
wifi: ath11k: Add missing hw_ops->get_ring_selector() for IPQ5018
Ziyang Huang <[email protected]>
wifi: ath11k: Restart firmware after cold boot calibration for IPQ5018
Ziyang Huang <[email protected]>
wifi: ath11k: Add missing ops config for IPQ5018 in ath11k_ahb_probe()
Jiasheng Jiang <[email protected]>
wifi: ath11k: Add missing check for ioremap
Edwin Peer <[email protected]>
rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
Mukesh Sisodiya <[email protected]>
wifi: iwlwifi: fw: print PC register value instead of address
Mukesh Sisodiya <[email protected]>
wifi: iwlwifi: mvm: Handle return value for iwl_mvm_sta_init
Ilan Peer <[email protected]>
wifi: mac80211: Fix permissions for valid_links debugfs entry
Eduard Zingerman <[email protected]>
bpf: Verify scalar ids mapping in regsafe() using check_ids()
Eduard Zingerman <[email protected]>
bpf: Use scalar ids in mark_chain_precision()
Remi Pommarel <[email protected]>
wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
Eduard Zingerman <[email protected]>
selftests/bpf: Fix invalid pointer check in get_xlated_program()
Arnd Bergmann <[email protected]>
memstick r592: make memstick_debug_get_tpc_name() static
Douglas Anderson <[email protected]>
mmc: mediatek: Avoid ugly error message when SDIO wakeup IRQ isn't used
Zhen Lei <[email protected]>
kexec: fix a memory leak in crash_shrink_memory()
Douglas Anderson <[email protected]>
watchdog/perf: more properly prevent false positives with turbo modes
Douglas Anderson <[email protected]>
watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
Haifeng Xu <[email protected]>
selftests: cgroup: fix unexpected failure on test_memcg_low
Karol Kolacinski <[email protected]>
ice: handle extts in the miscellaneous interrupt thread
Marek Vasut <[email protected]>
wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
Marek Vasut <[email protected]>
wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
Vijaya Krishna Nivarthi <[email protected]>
spi: spi-geni-qcom: Do not do DMA map/unmap inside driver, use framework instead
Vijaya Krishna Nivarthi <[email protected]>
soc: qcom: geni-se: Add interfaces geni_se_tx_init_dma() and geni_se_rx_init_dma()
Jesper Dangaard Brouer <[email protected]>
selftests/bpf: Fix check_mtu using wrong variable type
Johannes Berg <[email protected]>
wifi: mac80211: recalc min chandef for new STA links
Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: send time sync only if needed
Viktor Malik <[email protected]>
tools/resolve_btfids: Fix setting HOSTCFLAGS
Dave Marchevsky <[email protected]>
bpf: Make bpf_refcount_acquire fallible for non-owning refs
Dave Marchevsky <[email protected]>
bpf: Fix __bpf_{list,rbtree}_add's beginning-of-node calculation
Dave Marchevsky <[email protected]>
bpf: Set kptr_struct_meta for node param to list and rbtree insert funcs
Dave Marchevsky <[email protected]>
bpf: Remove anonymous union in bpf_kfunc_call_arg_meta
Youghandhar Chintala <[email protected]>
wifi: ath10k: Trigger STA disconnect after reconfig complete on hardware restart
Jesper Dangaard Brouer <[email protected]>
samples/bpf: xdp1 and xdp2 reduce XDPBUFSIZE to 60
Sascha Hauer <[email protected]>
wifi: rtw88: usb: silence log flooding error message
Fedor Pchelkin <[email protected]>
wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
Christophe JAILLET <[email protected]>
wifi: ray_cs: Fix an error handling path in ray_probe()
Christophe JAILLET <[email protected]>
wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
Christophe JAILLET <[email protected]>
wifi: atmel: Fix an error handling path in atmel_probe()
Christophe JAILLET <[email protected]>
wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
Christophe JAILLET <[email protected]>
wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
Geert Uytterhoeven <[email protected]>
regulator: core: Streamline debugfs operations
Geert Uytterhoeven <[email protected]>
regulator: core: Fix more error checking for debugfs_create_dir()
Sebastian Reichel <[email protected]>
regulator: rk808: fix asynchronous probing
Alexey Gladkov <[email protected]>
selftests/bpf: Do not use sign-file as testcase
Yafang Shao <[email protected]>
bpf: Fix memleak due to fentry attach failure
Yafang Shao <[email protected]>
bpf: Remove bpf trampoline selector
Alan Maguire <[email protected]>
bpftool: JIT limited misreported as negative value on aarch64
Krzysztof Kozlowski <[email protected]>
nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
Joy Chakraborty <[email protected]>
spi: dw: Round of n_bytes to power of 2
Stanislav Fomichev <[email protected]>
bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen
Andrii Nakryiko <[email protected]>
libbpf: fix offsetof() and container_of() to work with CO-RE
Edward Cree <[email protected]>
sfc: release encap match in efx_tc_flow_free()
Alexander Mikhalitsyn <[email protected]>
sctp: add bpf_bypass_getsockopt proto callback
Chuck Lever <[email protected]>
net/handshake: Unpin sock->file if a handshake is cancelled
Christophe JAILLET <[email protected]>
wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
Dan Carpenter <[email protected]>
wifi: rtw88: unlock on error path in rtw_ops_add_interface()
Amisha Patel <[email protected]>
wifi: wilc1000: fix for absent RSN capabilities WFA testcase
Vijaya Krishna Nivarthi <[email protected]>
spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
Pengcheng Yang <[email protected]>
samples/bpf: Fix buffer overflow in tcp_basertt
Dan Carpenter <[email protected]>
wifi: rtw89: fix rtw89_read_chip_ver() for RTL8852B and RTL8851B
Andrii Nakryiko <[email protected]>
bpf: fix propagate_precision() logic for inner frames
Andrii Nakryiko <[email protected]>
bpf: maintain bitmasks across all active frames in __mark_chain_precision
Andrii Nakryiko <[email protected]>
bpf: improve precision backtrack logging
Andrii Nakryiko <[email protected]>
bpf: encapsulate precision backtracking bookkeeping
Martin KaFai Lau <[email protected]>
libbpf: btf_dump_type_data_check_overflow needs to consider BTF_MEMBER_BITFIELD_SIZE
Fedor Pchelkin <[email protected]>
wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
Peter Seiderer <[email protected]>
wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
Jesper Dangaard Brouer <[email protected]>
igc: Enable and fix RX hash usage by netstack
Hao Jia <[email protected]>
sched/core: Avoid multiple calling update_rq_clock() in __cfsb_csd_unthrottle()
Jiasheng Jiang <[email protected]>
pstore/ram: Add check for kstrdup
Roberto Sassu <[email protected]>
ima: Fix build warnings
Roberto Sassu <[email protected]>
evm: Fix build warnings
Roberto Sassu <[email protected]>
evm: Complete description of evm_inode_setattr()
Mark Rutland <[email protected]>
locking/atomic: arm: fix sync ops
Tetsuo Handa <[email protected]>
reiserfs: Initialize sec->length in reiserfs_security_init().
Juergen Gross <[email protected]>
x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
Ravi Bangoria <[email protected]>
perf/ibs: Fix interface via core pmu events
Mark Brown <[email protected]>
selftests/ftace: Fix KTAP output ordering
Colin Ian King <[email protected]>
kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME is undefined
Thomas Weißschuh <[email protected]>
tools/nolibc: ensure fast64 integer types have 64 bits
Juergen Gross <[email protected]>
x86/xen: Set MTRR state when running as Xen PV initial domain
Juergen Gross <[email protected]>
x86/mtrr: Replace size_or_mask and size_and_mask with a much easier concept
Juergen Gross <[email protected]>
x86/hyperv: Set MTRR state when running as SEV-SNP Hyper-V guest
Juergen Gross <[email protected]>
x86/mtrr: Support setting MTRR state for software defined MTRRs
Juergen Gross <[email protected]>
x86/mtrr: Remove physical address size calculation
Qiuxu Zhuo <[email protected]>
rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
Qiuxu Zhuo <[email protected]>
rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
Paul E. McKenney <[email protected]>
rcutorture: Correct name of use_softirq module parameter
Paul E. McKenney <[email protected]>
rcu-tasks: Stop rcu_tasks_invoke_cbs() from using never-onlined CPUs
Paul E. McKenney <[email protected]>
rcu: Make rcu_cpu_starting() rely on interrupts being disabled
Daniel Latypov <[email protected]>
kunit: tool: undo type subscripts for subprocess.Popen
Peng Fan <[email protected]>
thermal/drivers/qoriq: Only enable supported sensors
Christophe JAILLET <[email protected]>
thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
Stephan Gerhold <[email protected]>
thermal/drivers/qcom/tsens-v0_1: Add mdm9607 correction offsets
Stephan Gerhold <[email protected]>
thermal/drivers/qcom/tsens-v0_1: Fix mdm9607 slope values
Matti Lehtimäki <[email protected]>
thermal/drivers/qcom/tsens-v0_1: Add support for MSM8226
Tero Kristo <[email protected]>
cpufreq: intel_pstate: Fix energy_performance_preference for passive
Arnd Bergmann <[email protected]>
ARM: 9303/1: kprobes: avoid missing-declaration warnings
Ulf Hansson <[email protected]>
PM: domains: Move the verification of in-params from genpd_add_device()
Zhang Rui <[email protected]>
powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
Sumeet Pawnikar <[email protected]>
powercap: RAPL: fix invalid initialization for pl4_supported field
Li Yang <[email protected]>
APEI: GHES: correctly return NULL for ghes_get_devices()
Robin Murphy <[email protected]>
perf/arm_cspmu: Fix event attribute type
Ilkka Koskinen <[email protected]>
perf: arm_cspmu: Set irq affinitiy only if overflow interrupt is used
Junhao He <[email protected]>
drivers/perf: hisi: Don't migrate perf to the CPU going to teardown
Kirill A. Shutemov <[email protected]>
x86/tdx: Fix race between set_memory_encrypted() and load_unaligned_zeropad()
Kirill A. Shutemov <[email protected]>
x86/mm: Allow guest.enc_status_change_prepare() to fail
Marc Zyngier <[email protected]>
drivers/perf: apple_m1: Force 63bit counters for M2 CPUs
Robin Murphy <[email protected]>
perf/arm-cmn: Fix DTC reset
Nikita Zhandarovich <[email protected]>
PM: domains: fix integer overflow issues in genpd_parse_state()
Feng Mingxi <[email protected]>
clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
Ming Lei <[email protected]>
blk-mq: don't insert passthrough request into sw queue
Christoph Hellwig <[email protected]>
btrfs: fix file_offset for REQ_BTRFS_ONE_ORDERED bios that get split
Christoph Hellwig <[email protected]>
btrfs: don't treat zoned writeback as being from an async helper thread
Christoph Hellwig <[email protected]>
btrfs: only call __extent_writepage_io from extent_write_locked_range
Christoph Hellwig <[email protected]>
btrfs: don't fail writeback when allocating the compression context fails
Christoph Hellwig <[email protected]>
btrfs: fix range_end calculation in extent_write_locked_range
Christoph Hellwig <[email protected]>
btrfs: submit a writeback bio per extent_buffer
Christoph Hellwig <[email protected]>
btrfs: return bool from lock_extent_buffer_for_io
Christoph Hellwig <[email protected]>
btrfs: don't use btrfs_bio_ctrl for extent buffer reading
Christoph Hellwig <[email protected]>
btrfs: always read the entire extent_buffer
Sebastian Andrzej Siewior <[email protected]>
tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
Wen Yang <[email protected]>
tick/rcu: Fix bogus ratelimit condition
Thomas Gleixner <[email protected]>
posix-timers: Prevent RT livelock in itimer_delete()
Gao Xiang <[email protected]>
erofs: fix compact 4B support for 16k block size
Chuck Lever <[email protected]>
svcrdma: Prevent page release when nothing was received
John Paul Adrian Glaubitz <[email protected]>
irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
Antonio Borneo <[email protected]>
irqchip/stm32-exti: Fix warning on initialized field overwritten
Christoph Hellwig <[email protected]>
splice: don't call file_accessed in copy_splice_read
Jianmin Lv <[email protected]>
irqchip/loongson-eiointc: Fix irq affinity setting during resume
Yu Kuai <[email protected]>
block: fix blktrace debugfs entries leakage
Yu Kuai <[email protected]>
md/raid1-10: submit write io directly if bitmap is not enabled
Yu Kuai <[email protected]>
md/raid1-10: factor out a helper to submit normal write
Yu Kuai <[email protected]>
md/raid1-10: factor out a helper to add bio to plug
Li Nan <[email protected]>
md/raid10: fix io loss while replacement replace rdev
Li Nan <[email protected]>
md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
Li Nan <[email protected]>
md/raid10: fix wrong setting of max_corr_read_errors
Li Nan <[email protected]>
md/raid10: fix overflow of md/safe_mode_delay
Li Nan <[email protected]>
md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
Chaitanya Kulkarni <[email protected]>
nvme-core: fix dev_pm_qos memleak
Chaitanya Kulkarni <[email protected]>
nvme-core: add missing fault-injection cleanup
Chaitanya Kulkarni <[email protected]>
nvme-core: fix memory leak in dhchap_ctrl_secret
Chaitanya Kulkarni <[email protected]>
nvme-core: fix memory leak in dhchap_secret_store
NeilBrown <[email protected]>
lockd: drop inappropriate svc_get() from locked_get()
Yu Kuai <[email protected]>
blk-mq: fix potential io hang by wrong 'wake_batch'
Arnd Bergmann <[email protected]>
virt: sevguest: Add CONFIG_CRYPTO dependency
Waiman Long <[email protected]>
blk-cgroup: Reinit blkg_iostat_set after clearing in blkcg_reset_stats()
Tom Lendacky <[email protected]>
x86/sev: Fix calculation of end address based on number of pages
Li Nan <[email protected]>
blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
Eric Biggers <[email protected]>
fsverity: don't use bio_first_page_all() in fsverity_verify_bio()
Eric Biggers <[email protected]>
fsverity: use shash API instead of ahash API
Shawn Wang <[email protected]>
x86/resctrl: Only show tasks' pid in current pid namespace
Gao Xiang <[email protected]>
erofs: kill hooked chains to avoid loops on deduplicated compressed images
David Howells <[email protected]>
splice: Fix filemap_splice_read() to use the correct inode
Yu Kuai <[email protected]>
block/rq_qos: protect rq_qos apis with a new lock
Bart Van Assche <[email protected]>
block: Fix the type of the second bdev_op_is_zoned_write() argument
Ming Lei <[email protected]>
blk-mq: don't queue plugged passthrough requests into scheduler
Alexander Gordeev <[email protected]>
s390/kasan: fix insecure W+X mapping warning
Arnd Bergmann <[email protected]>
fs: pipe: reveal missing function protoypes
Hersen Wu <[email protected]>
Revert "drm/amd/display: edp do not add non-edid timings"
Sean Nyekjaer <[email protected]>
iio: accel: fxls8962af: fixup buffer scan element type
Sean Nyekjaer <[email protected]>
iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF
Fabrizio Lamarque <[email protected]>
iio: adc: ad7192: Fix internal/external clock selection
Fabrizio Lamarque <[email protected]>
iio: adc: ad7192: Fix null ad7192_state pointer access
Rasmus Villemoes <[email protected]>
iio: addac: ad74413: don't set DIN_SINK for functions other than digital input
Fabrizio Lamarque <[email protected]>
dt-bindings: iio: ad7192: Add mandatory reference voltage source
Alvin Šipraga <[email protected]>
extcon: usbc-tusb320: Unregister typec port on driver removal
EJ Hsu <[email protected]>
phy: tegra: xusb: Clear the driver reference in usb-phy dev
Krishna Kurapati <[email protected]>
usb: dwc3: gadget: Propagate core init errors to UDC during pullup
Davide Tronchin <[email protected]>
USB: serial: option: add LARA-R6 01B PIDs
[email protected] <[email protected]>
start_kernel: Add __no_stack_protector function attribute
-------------
Diffstat:
Documentation/ABI/testing/sysfs-driver-eud | 2 +-
.../devicetree/bindings/crypto/qcom-qce.yaml | 6 +
.../devicetree/bindings/iio/adc/adi,ad7192.yaml | 5 +
.../devicetree/bindings/iommu/arm,smmu.yaml | 6 +-
.../devicetree/bindings/power/reset/qcom,pon.yaml | 4 +-
.../bindings/sound/mediatek,mt8188-afe.yaml | 36 +-
Documentation/fault-injection/provoke-crashes.rst | 2 +-
Documentation/filesystems/autofs-mount-control.rst | 2 +-
Documentation/filesystems/autofs.rst | 2 +-
Documentation/filesystems/directory-locking.rst | 26 +-
Documentation/filesystems/f2fs.rst | 16 +
Documentation/networking/af_xdp.rst | 9 +
Makefile | 4 +-
arch/arc/include/asm/linkage.h | 8 +-
arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 +-
arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 +-
arch/arm/boot/dts/bcm5301x.dtsi | 1 -
arch/arm/boot/dts/iwg20d-q7-common.dtsi | 2 +-
.../boot/dts/lan966x-kontron-kswitch-d10-mmt.dtsi | 16 +-
arch/arm/boot/dts/meson8.dtsi | 4 +-
arch/arm/boot/dts/meson8b.dtsi | 4 +-
arch/arm/boot/dts/omap3-gta04a5one.dts | 4 +-
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 4 +-
arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 4 +
arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1-c1.dts | 8 +-
arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi | 10 +-
arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi | 12 +-
arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +-
arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi | 11 +-
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi | 8 +-
.../boot/dts/stm32mp15xx-dhcor-drc-compact.dtsi | 6 +
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi | 6 -
arch/arm/boot/dts/stm32mp15xx-dhcor-testbench.dtsi | 8 +
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 2 +-
arch/arm/include/asm/assembler.h | 17 +
arch/arm/include/asm/sync_bitops.h | 29 +-
arch/arm/lib/bitops.h | 14 +-
arch/arm/lib/testchangebit.S | 4 +
arch/arm/lib/testclearbit.S | 4 +
arch/arm/lib/testsetbit.S | 4 +
arch/arm/mach-ep93xx/timer-ep93xx.c | 3 +-
arch/arm/mach-omap1/board-ams-delta.c | 1 -
arch/arm/mach-omap1/board-nokia770.c | 207 +++---
arch/arm/mach-omap1/board-osk.c | 146 +++--
arch/arm/mach-omap1/board-palmte.c | 51 +-
arch/arm/mach-omap1/board-sx1-mmc.c | 1 -
arch/arm/mach-omap1/board-sx1.c | 40 +-
arch/arm/mach-omap1/devices.c | 1 -
arch/arm/mach-omap1/gpio15xx.c | 1 -
arch/arm/mach-omap1/gpio16xx.c | 1 -
arch/arm/mach-omap1/irq.c | 1 -
arch/arm/mach-omap1/serial.c | 30 +-
arch/arm/mach-omap2/board-generic.c | 1 +
arch/arm/mach-omap2/board-n8x0.c | 156 ++---
arch/arm/mach-omap2/omap_device.c | 1 -
arch/arm/mach-omap2/pdata-quirks.c | 132 ++--
arch/arm/mach-omap2/usb-tusb6010.c | 20 +-
arch/arm/mach-omap2/usb-tusb6010.h | 12 +
arch/arm/mach-orion5x/board-dt.c | 3 +
arch/arm/mach-orion5x/common.h | 6 +
arch/arm/mach-pxa/spitz.c | 11 +-
arch/arm/probes/kprobes/checkers-common.c | 2 +-
arch/arm/probes/kprobes/core.c | 2 +-
arch/arm/probes/kprobes/opt-arm.c | 2 -
arch/arm/probes/kprobes/test-core.c | 2 +-
arch/arm/probes/kprobes/test-core.h | 4 +
.../dts/mediatek/mt7986a-bananapi-bpi-r3-nand.dtso | 6 +-
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 4 +
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 4 +
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 22 +-
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 4 +
arch/arm64/boot/dts/microchip/sparx5.dtsi | 2 +-
.../boot/dts/microchip/sparx5_pcb_common.dtsi | 12 +
arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 78 ++-
arch/arm64/boot/dts/qcom/apq8096-ifc6640.dts | 4 +-
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 6 +-
arch/arm64/boot/dts/qcom/msm8916.dtsi | 8 +-
arch/arm64/boot/dts/qcom/msm8953.dtsi | 4 +-
arch/arm64/boot/dts/qcom/msm8976.dtsi | 6 +-
arch/arm64/boot/dts/qcom/msm8994.dtsi | 2 +-
arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm7250b.dtsi | 1 +
arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +-
arch/arm64/boot/dts/qcom/qdu1000.dtsi | 1 +
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 3 +-
arch/arm64/boot/dts/qcom/sdm630.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sdm670.dtsi | 1 +
arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 +
arch/arm64/boot/dts/qcom/sdm845.dtsi | 3 +-
arch/arm64/boot/dts/qcom/sm6115.dtsi | 2 +-
.../boot/dts/qcom/sm8250-sony-xperia-edo.dtsi | 7 +-
arch/arm64/boot/dts/qcom/sm8350.dtsi | 6 +-
arch/arm64/boot/dts/qcom/sm8550.dtsi | 9 +-
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 3 +-
.../boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 2 +-
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 2 +
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 2 +-
.../boot/dts/ti/k3-j7200-common-proc-board.dts | 28 +-
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 5 +
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 32 +-
arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 29 +-
arch/arm64/include/asm/fpsimdmacros.h | 6 +-
arch/arm64/kernel/signal.c | 2 +-
arch/loongarch/Makefile | 2 +-
arch/mips/Makefile | 2 +-
arch/mips/alchemy/devboards/db1000.c | 11 +-
arch/mips/boot/dts/ingenic/ci20.dts | 38 +-
arch/powerpc/Kconfig.debug | 2 +-
arch/powerpc/boot/dts/turris1x.dts | 6 +-
arch/powerpc/include/asm/nmi.h | 4 +-
arch/powerpc/kernel/interrupt.c | 3 +-
arch/powerpc/kernel/ppc_save_regs.S | 6 +-
arch/powerpc/kernel/signal_32.c | 15 +-
arch/powerpc/kernel/smp.c | 1 +
arch/powerpc/kernel/vdso/Makefile | 2 +-
arch/powerpc/kernel/watchdog.c | 12 +-
arch/powerpc/mm/book3s64/radix_pgtable.c | 34 +-
arch/powerpc/mm/init_64.c | 2 +-
arch/powerpc/platforms/powernv/pci-sriov.c | 6 +-
arch/powerpc/platforms/powernv/vas-window.c | 2 +-
arch/powerpc/platforms/pseries/mobility.c | 4 +-
arch/powerpc/platforms/pseries/vas.c | 2 +-
arch/riscv/kernel/hibernate-asm.S | 1 -
arch/riscv/kernel/hibernate.c | 1 -
arch/riscv/kernel/probes/uprobes.c | 2 +
arch/riscv/kernel/smpboot.c | 5 +-
arch/riscv/mm/init.c | 4 +-
arch/s390/kvm/diag.c | 8 +-
arch/s390/kvm/kvm-s390.c | 4 +
arch/s390/kvm/vsie.c | 6 +-
arch/s390/mm/vmem.c | 14 +-
arch/sh/drivers/dma/dma-sh.c | 37 +-
arch/sh/include/mach-common/mach/highlander.h | 2 +-
arch/sh/include/mach-common/mach/r2d.h | 2 +-
arch/sh/include/mach-dreamcast/mach/sysasic.h | 2 +-
arch/sh/include/mach-se/mach/se7724.h | 2 +-
arch/sh/kernel/cpu/sh2/probe.c | 2 +-
arch/sh/kernel/cpu/sh3/entry.S | 4 +-
arch/sparc/kernel/nmi.c | 10 +-
arch/um/Makefile | 2 +-
arch/x86/coco/tdx/tdx.c | 51 +-
arch/x86/events/amd/core.c | 2 +-
arch/x86/events/amd/ibs.c | 53 +-
arch/x86/hyperv/ivm.c | 4 +
arch/x86/include/asm/mtrr.h | 40 +-
arch/x86/include/asm/perf_event.h | 2 +
arch/x86/include/asm/pgtable_64.h | 4 +-
arch/x86/include/asm/sev.h | 16 +-
arch/x86/include/asm/x86_init.h | 2 +-
arch/x86/include/uapi/asm/mtrr.h | 8 -
arch/x86/kernel/cpu/mtrr/cleanup.c | 18 +-
arch/x86/kernel/cpu/mtrr/generic.c | 124 +++-
arch/x86/kernel/cpu/mtrr/mtrr.c | 73 +--
arch/x86/kernel/cpu/mtrr/mtrr.h | 4 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 8 +-
arch/x86/kernel/setup.c | 2 +
arch/x86/kernel/sev.c | 14 +-
arch/x86/kernel/x86_init.c | 2 +-
arch/x86/mm/mem_encrypt_amd.c | 4 +-
arch/x86/mm/pat/set_memory.c | 3 +-
arch/x86/platform/efi/efi_64.c | 6 +-
arch/x86/xen/enlighten_pv.c | 52 ++
block/blk-cgroup.c | 20 +-
block/blk-core.c | 1 +
block/blk-iocost.c | 7 +-
block/blk-mq-debugfs.c | 2 +-
block/blk-mq-tag.c | 15 +-
block/blk-mq.c | 13 +-
block/blk-mq.h | 3 +-
block/blk-rq-qos.c | 20 +-
block/blk-throttle.c | 6 -
block/blk-throttle.h | 9 +
block/blk-wbt.c | 2 +
block/disk-events.c | 1 +
block/genhd.c | 5 +-
block/partitions/amiga.c | 102 ++-
crypto/jitterentropy.c | 9 +-
drivers/accel/habanalabs/gaudi2/gaudi2.c | 2 +-
drivers/acpi/apei/ghes.c | 2 +
drivers/base/power/domain.c | 15 +-
drivers/base/property.c | 12 +-
drivers/bus/fsl-mc/dprc-driver.c | 6 +
drivers/bus/ti-sysc.c | 4 +-
drivers/cdx/cdx.c | 18 +
drivers/char/hw_random/st-rng.c | 21 +-
drivers/char/hw_random/virtio-rng.c | 10 +-
drivers/clk/bcm/clk-raspberrypi.c | 4 +-
drivers/clk/clk-cdce925.c | 12 +
drivers/clk/clk-renesas-pcie.c | 4 +-
drivers/clk/clk-si5341.c | 38 +-
drivers/clk/clk-versaclock5.c | 45 +-
drivers/clk/clk-versaclock7.c | 2 +-
drivers/clk/clk.c | 2 +
drivers/clk/imx/clk-composite-8m.c | 31 +
drivers/clk/imx/clk-imx8mn.c | 8 +-
drivers/clk/imx/clk-imx8mp.c | 24 +-
drivers/clk/imx/clk-imx93.c | 15 +-
drivers/clk/imx/clk-imxrt1050.c | 22 +-
drivers/clk/imx/clk-scu.c | 4 +-
drivers/clk/keystone/sci-clk.c | 2 +
drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 7 +-
drivers/clk/mediatek/clk-mtk.c | 13 +-
drivers/clk/qcom/camcc-sc7180.c | 19 +-
drivers/clk/qcom/dispcc-qcm2290.c | 12 +-
drivers/clk/qcom/gcc-ipq5332.c | 6 +-
drivers/clk/qcom/gcc-ipq6018.c | 34 +-
drivers/clk/qcom/gcc-qcm2290.c | 62 +-
drivers/clk/qcom/mmcc-msm8974.c | 23 +-
drivers/clk/renesas/rzg2l-cpg.c | 6 +-
drivers/clk/renesas/rzg2l-cpg.h | 3 -
drivers/clk/tegra/clk-tegra124-emc.c | 2 +
drivers/clk/ti/clkctrl.c | 7 +
drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 7 +-
drivers/clocksource/timer-cadence-ttc.c | 19 +-
drivers/cpufreq/intel_pstate.c | 2 +
drivers/cpufreq/mediatek-cpufreq.c | 13 +-
drivers/cpufreq/tegra194-cpufreq.c | 6 +-
.../crypto/intel/qat/qat_common/qat_asym_algs.c | 14 +-
drivers/crypto/marvell/cesa/cipher.c | 2 +-
drivers/crypto/nx/Makefile | 2 +-
drivers/crypto/nx/nx.h | 4 +-
drivers/cxl/core/region.c | 102 +--
drivers/cxl/cxl.h | 16 +-
drivers/dax/bus.c | 61 +-
drivers/dax/dax-private.h | 4 +-
drivers/dax/kmem.c | 2 +-
drivers/extcon/extcon-usbc-tusb320.c | 42 +-
drivers/extcon/extcon.c | 8 +
drivers/firmware/efi/libstub/efi-stub-helper.c | 6 +-
drivers/gpio/gpio-twl4030.c | 52 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 11 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.c | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 85 +--
drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c | 11 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 4 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 4 +-
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 13 +-
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +-
.../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 5 +-
.../dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.c | 3 +
drivers/gpu/drm/amd/display/dc/core/dc.c | 3 -
drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 6 +-
drivers/gpu/drm/amd/display/dc/dc.h | 3 +
.../gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.c | 23 -
.../gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h | 2 -
.../gpu/drm/amd/display/dc/dcn314/dcn314_init.c | 2 +-
.../amd/display/dc/dml/dcn21/display_mode_vba_21.c | 2 +-
.../display/dc/dml/dcn32/display_rq_dlg_calc_32.c | 2 +-
.../display/dc/link/protocols/link_dp_capability.c | 4 +-
.../drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 18 +-
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 1 +
drivers/gpu/drm/bridge/analogix/anx7625.c | 128 ++--
drivers/gpu/drm/bridge/ite-it6505.c | 3 +-
drivers/gpu/drm/bridge/samsung-dsim.c | 22 +-
drivers/gpu/drm/bridge/tc358767.c | 4 +-
drivers/gpu/drm/bridge/tc358768.c | 93 ++-
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 20 +-
drivers/gpu/drm/drm_gem_vram_helper.c | 6 +-
drivers/gpu/drm/i915/Makefile | 2 +
drivers/gpu/drm/i915/display/intel_color.c | 36 +-
drivers/gpu/drm/i915/display/intel_crtc.c | 2 +-
drivers/gpu/drm/i915/display/intel_cursor.c | 4 +-
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
drivers/gpu/drm/i915/display/intel_display.h | 10 +-
.../gpu/drm/i915/display/intel_display_device.c | 728 +++++++++++++++++++++
.../gpu/drm/i915/display/intel_display_device.h | 86 +++
drivers/gpu/drm/i915/display/intel_display_power.c | 6 +-
.../gpu/drm/i915/display/intel_display_reg_defs.h | 14 +-
drivers/gpu/drm/i915/display/intel_fb_pin.c | 2 +-
drivers/gpu/drm/i915/display/intel_fbc.c | 6 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 2 +-
drivers/gpu/drm/i915/display/intel_hti.c | 2 +-
drivers/gpu/drm/i915/display/intel_psr.c | 4 +-
drivers/gpu/drm/i915/display/intel_psr_regs.h | 2 +-
drivers/gpu/drm/i915/display/skl_universal_plane.c | 2 +-
drivers/gpu/drm/i915/display/skl_watermark.c | 8 +-
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 35 +
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 40 +-
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h | 1 +
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h | 1 +
drivers/gpu/drm/i915/i915_driver.c | 12 +-
drivers/gpu/drm/i915/i915_drv.h | 52 +-
drivers/gpu/drm/i915/i915_pci.c | 384 +----------
drivers/gpu/drm/i915/i915_reg.h | 33 -
drivers/gpu/drm/i915/intel_device_info.c | 140 ++--
drivers/gpu/drm/i915/intel_device_info.h | 69 +-
drivers/gpu/drm/i915/intel_step.c | 8 +-
drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 4 +-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 3 +-
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 3 +-
.../drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 12 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h | 8 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 12 +-
.../drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 12 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h | 12 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h | 10 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_3_sm6115.h | 2 +-
.../drm/msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h | 2 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 18 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 5 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 60 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 36 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 5 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 5 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 75 ++-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h | 31 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 4 +
drivers/gpu/drm/msm/dp/dp_display.c | 16 +-
drivers/gpu/drm/msm/dsi/dsi_host.c | 26 +-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c | 3 +
drivers/gpu/drm/nouveau/dispnv50/disp.c | 1 +
drivers/gpu/drm/nouveau/nv50_display.h | 4 +-
drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 11 +-
drivers/gpu/drm/panel/panel-simple.c | 4 +-
drivers/gpu/drm/radeon/ci_dpm.c | 28 +-
drivers/gpu/drm/radeon/cypress_dpm.c | 8 +-
drivers/gpu/drm/radeon/ni_dpm.c | 8 +-
drivers/gpu/drm/radeon/rv740_dpm.c | 8 +-
drivers/gpu/drm/sun4i/sun4i_tcon.c | 19 +-
drivers/gpu/drm/vkms/vkms_composer.c | 4 +-
drivers/gpu/drm/vkms/vkms_drv.h | 4 +-
drivers/gpu/drm/vkms/vkms_formats.c | 131 ++--
drivers/gpu/drm/vkms/vkms_formats.h | 2 +-
drivers/gpu/drm/vkms/vkms_plane.c | 2 +-
drivers/hid/Kconfig | 2 +-
drivers/hwmon/f71882fg.c | 7 +-
drivers/hwmon/gsc-hwmon.c | 6 +-
drivers/hwmon/pmbus/adm1275.c | 52 +-
drivers/hwtracing/coresight/coresight-core.c | 9 +-
.../hwtracing/coresight/coresight-etm4x-sysfs.c | 27 +-
drivers/hwtracing/ptt/hisi_ptt.c | 12 +-
drivers/hwtracing/ptt/hisi_ptt.h | 2 +
drivers/i2c/busses/i2c-designware-pcidrv.c | 13 +-
drivers/i2c/busses/i2c-nvidia-gpu.c | 3 +
drivers/i2c/busses/i2c-xiic.c | 2 +
drivers/i3c/master/svc-i3c-master.c | 19 +-
drivers/iio/accel/fxls8962af-core.c | 8 +-
drivers/iio/adc/ad7192.c | 8 +-
drivers/iio/addac/ad74413r.c | 11 +-
drivers/infiniband/hw/bnxt_re/main.c | 20 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 40 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 46 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 1 +
drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 +-
drivers/infiniband/hw/hfi1/mmu_rb.c | 101 +--
drivers/infiniband/hw/hfi1/mmu_rb.h | 3 +
drivers/infiniband/hw/hfi1/sdma.c | 23 +-
drivers/infiniband/hw/hfi1/sdma.h | 47 +-
drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 +
drivers/infiniband/hw/hfi1/user_sdma.c | 137 ++--
drivers/infiniband/hw/hfi1/user_sdma.h | 1 -
drivers/infiniband/hw/hfi1/vnic_sdma.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 7 +-
drivers/infiniband/hw/irdma/uk.c | 10 +-
drivers/infiniband/sw/rxe/rxe_mw.c | 17 +-
drivers/input/Kconfig | 2 +-
drivers/input/misc/adxl34x.c | 3 +-
drivers/input/misc/drv260x.c | 1 +
drivers/input/misc/pm8941-pwrkey.c | 19 +-
drivers/input/tests/input_test.c | 6 +-
drivers/input/touchscreen/ads7846.c | 114 ++--
drivers/input/touchscreen/cyttsp4_core.c | 3 +-
drivers/interconnect/qcom/icc-rpm.c | 12 +-
drivers/interconnect/qcom/icc-rpm.h | 4 +-
drivers/iommu/iommufd/device.c | 2 +-
drivers/iommu/iommufd/io_pagetable.c | 14 +-
drivers/iommu/virtio-iommu.c | 57 +-
drivers/irqchip/irq-jcore-aic.c | 7 +
drivers/irqchip/irq-loongson-eiointc.c | 2 +-
drivers/irqchip/irq-loongson-liointc.c | 12 +-
drivers/irqchip/irq-loongson-pch-pic.c | 10 +-
drivers/irqchip/irq-stm32-exti.c | 12 +
drivers/leds/trigger/ledtrig-netdev.c | 3 +
drivers/mailbox/ti-msgmgr.c | 12 +-
drivers/md/bcache/btree.c | 25 +-
drivers/md/bcache/btree.h | 1 +
drivers/md/bcache/super.c | 4 +-
drivers/md/bcache/writeback.c | 10 +
drivers/md/md-bitmap.c | 21 +-
drivers/md/md-bitmap.h | 7 +
drivers/md/md.c | 9 +-
drivers/md/raid1-10.c | 42 ++
drivers/md/raid1.c | 25 +-
drivers/md/raid10.c | 75 +--
drivers/media/cec/i2c/Kconfig | 1 +
drivers/media/common/saa7146/saa7146_core.c | 6 +-
drivers/media/i2c/Kconfig | 1 +
drivers/media/i2c/hi846.c | 3 +-
drivers/media/i2c/imx296.c | 4 +-
drivers/media/i2c/st-mipid02.c | 9 +-
drivers/media/platform/amphion/vdec.c | 7 +-
drivers/media/platform/amphion/venc.c | 4 +-
drivers/media/platform/amphion/vpu_malone.c | 12 +
drivers/media/platform/amphion/vpu_v4l2.c | 5 +-
drivers/media/platform/amphion/vpu_v4l2.h | 2 +-
.../platform/mediatek/vcodec/vdec_msg_queue.c | 33 +-
.../platform/mediatek/vcodec/vdec_msg_queue.h | 16 +-
drivers/media/platform/qcom/venus/helpers.c | 4 +-
drivers/media/platform/renesas/rcar_fdp1.c | 5 +
drivers/media/usb/dvb-usb-v2/az6007.c | 3 +-
drivers/media/usb/siano/smsusb.c | 3 +-
drivers/memory/brcmstb_dpfe.c | 4 +-
drivers/memstick/host/r592.c | 4 +-
drivers/mfd/intel-lpss-acpi.c | 3 +
drivers/mfd/rt5033.c | 3 -
drivers/mfd/stmfx.c | 7 +-
drivers/mfd/stmpe.c | 4 +-
drivers/mfd/tps65010.c | 14 +-
drivers/mfd/wcd934x.c | 9 +-
drivers/misc/fastrpc.c | 3 +
drivers/misc/lkdtm/core.c | 2 +-
drivers/mmc/core/block.c | 6 +
drivers/mmc/core/card.h | 30 +-
drivers/mmc/core/quirks.h | 27 +
drivers/mmc/core/sd.c | 2 +-
drivers/mmc/host/mmci.c | 1 +
drivers/mmc/host/mtk-sd.c | 2 +-
drivers/mmc/host/omap.c | 46 +-
drivers/mmc/host/sdhci.c | 4 +-
drivers/net/bonding/bond_main.c | 2 +-
drivers/net/can/kvaser_pciefd.c | 39 +-
drivers/net/dsa/ocelot/felix.c | 12 +
drivers/net/dsa/sja1105/sja1105.h | 2 +-
drivers/net/dsa/sja1105/sja1105_main.c | 14 +-
drivers/net/dsa/sja1105/sja1105_ptp.c | 48 +-
drivers/net/dsa/vitesse-vsc73xx-core.c | 6 +-
drivers/net/ethernet/broadcom/tg3.c | 1 +
drivers/net/ethernet/ibm/ibmvnic.c | 9 +-
drivers/net/ethernet/intel/ice/ice.h | 7 +
drivers/net/ethernet/intel/ice/ice_main.c | 29 +-
drivers/net/ethernet/intel/ice/ice_ptp.c | 12 +-
drivers/net/ethernet/intel/ice/ice_ptp.h | 4 +-
drivers/net/ethernet/intel/igc/igc.h | 36 +-
drivers/net/ethernet/intel/igc/igc_main.c | 45 +-
drivers/net/ethernet/intel/igc/igc_ptp.c | 142 ++--
drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 33 +-
drivers/net/ethernet/marvell/octeontx2/af/cgx.h | 2 +
.../ethernet/marvell/octeontx2/af/lmac_common.h | 3 +
drivers/net/ethernet/marvell/octeontx2/af/rpm.c | 32 +-
drivers/net/ethernet/marvell/octeontx2/af/rpm.h | 5 +-
drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 1 +
drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 12 +
.../net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 22 +-
drivers/net/ethernet/mellanox/mlxsw/minimal.c | 1 +
drivers/net/ethernet/mscc/ocelot.c | 1 -
drivers/net/ethernet/mscc/ocelot_ptp.c | 66 +-
drivers/net/ethernet/sfc/ef10.c | 13 +-
drivers/net/ethernet/sfc/efx_devlink.c | 3 +
drivers/net/ethernet/sfc/tc.c | 32 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 -
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 10 +-
drivers/net/gtp.c | 2 +
drivers/net/ipvlan/ipvlan_core.c | 9 +-
drivers/net/ppp/pptp.c | 31 +-
drivers/net/wireguard/netlink.c | 14 +-
drivers/net/wireguard/queueing.c | 1 +
drivers/net/wireguard/queueing.h | 25 +-
drivers/net/wireguard/receive.c | 2 +-
drivers/net/wireguard/send.c | 2 +-
drivers/net/wireless/ath/ath10k/core.c | 12 +-
drivers/net/wireless/ath/ath10k/core.h | 3 +
drivers/net/wireless/ath/ath10k/mac.c | 13 +-
drivers/net/wireless/ath/ath11k/ahb.c | 1 +
drivers/net/wireless/ath/ath11k/core.c | 1 +
drivers/net/wireless/ath/ath11k/hw.c | 2 +-
drivers/net/wireless/ath/ath11k/qmi.c | 5 +
drivers/net/wireless/ath/ath9k/ar9003_hw.c | 27 +-
drivers/net/wireless/ath/ath9k/htc_hst.c | 8 +-
drivers/net/wireless/ath/ath9k/main.c | 11 +-
drivers/net/wireless/ath/ath9k/wmi.c | 4 +
drivers/net/wireless/atmel/atmel_cs.c | 13 +-
drivers/net/wireless/intel/iwlwifi/fw/api/rs.h | 2 +
drivers/net/wireless/intel/iwlwifi/fw/dump.c | 7 +-
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 2 +
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 8 +-
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 9 +-
drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 10 +-
drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c | 58 +-
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 9 +-
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 2 +
drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 5 +-
drivers/net/wireless/intersil/orinoco/orinoco_cs.c | 13 +-
.../net/wireless/intersil/orinoco/spectrum_cs.c | 13 +-
drivers/net/wireless/legacy/ray_cs.c | 16 +-
drivers/net/wireless/legacy/wl3501_cs.c | 16 +-
drivers/net/wireless/marvell/mwifiex/scan.c | 6 +-
drivers/net/wireless/mediatek/mt76/mt7921/dma.c | 4 -
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 8 -
drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 8 +
drivers/net/wireless/microchip/wilc1000/hif.c | 8 +-
drivers/net/wireless/realtek/rtw88/mac80211.c | 4 +-
drivers/net/wireless/realtek/rtw88/usb.c | 2 +-
drivers/net/wireless/realtek/rtw89/core.c | 2 +-
drivers/net/wireless/rsi/rsi_91x_sdio.c | 9 +-
drivers/nvme/host/core.c | 16 +-
drivers/nvmem/imx-ocotp.c | 8 +-
drivers/nvmem/rmem.c | 1 +
drivers/nvmem/sunplus-ocotp.c | 9 +-
drivers/pci/controller/cadence/pcie-cadence-host.c | 27 +
drivers/pci/controller/dwc/pcie-qcom.c | 11 +-
drivers/pci/controller/pci-ftpci100.c | 14 +-
drivers/pci/controller/vmd.c | 11 +-
drivers/pci/endpoint/functions/Kconfig | 2 +-
drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
drivers/pci/hotplug/pciehp_ctrl.c | 8 +
drivers/pci/pcie/aspm.c | 21 +-
drivers/perf/apple_m1_cpu_pmu.c | 30 +-
drivers/perf/arm-cmn.c | 7 +-
drivers/perf/arm_cspmu/arm_cspmu.c | 11 +-
drivers/perf/arm_pmu.c | 2 +
drivers/perf/hisilicon/hisi_pcie_pmu.c | 2 +-
drivers/phy/Kconfig | 1 +
drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 8 +-
drivers/phy/tegra/xusb.c | 4 +
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 +-
drivers/pinctrl/freescale/pinctrl-scu.c | 3 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 15 +-
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 2 +
drivers/pinctrl/pinctrl-at91-pio4.c | 2 +
drivers/pinctrl/pinctrl-at91.c | 8 +-
drivers/pinctrl/pinctrl-microchip-sgpio.c | 3 +
drivers/pinctrl/sunplus/sppctl.c | 23 +-
drivers/pinctrl/tegra/pinctrl-tegra.c | 15 +-
drivers/pinctrl/tegra/pinctrl-tegra.h | 3 +-
drivers/pinctrl/tegra/pinctrl-tegra114.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra124.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra194.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra20.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra210.c | 7 +-
drivers/pinctrl/tegra/pinctrl-tegra30.c | 7 +-
drivers/platform/x86/dell/dell-rbtn.c | 13 +-
drivers/platform/x86/intel/pmc/core.c | 15 +-
drivers/platform/x86/intel/pmc/core.h | 31 +-
drivers/platform/x86/intel/pmc/mtl.c | 475 +++++++++++++-
drivers/platform/x86/lenovo-yogabook-wmi.c | 34 +-
drivers/platform/x86/think-lmi.c | 20 +-
drivers/platform/x86/thinkpad_acpi.c | 6 +-
drivers/power/supply/rt9467-charger.c | 2 +-
drivers/powercap/Kconfig | 4 +-
drivers/powercap/intel_rapl_msr.c | 17 +-
drivers/pwm/pwm-ab8500.c | 2 +-
drivers/pwm/pwm-imx-tpm.c | 7 +
drivers/pwm/pwm-mtk-disp.c | 13 +-
drivers/pwm/sysfs.c | 17 +
drivers/regulator/core.c | 30 +-
drivers/regulator/rk808-regulator.c | 1 +
drivers/regulator/tps65219-regulator.c | 6 +-
drivers/rtc/rtc-st-lpc.c | 2 +-
drivers/s390/net/qeth_l3_sys.c | 2 +-
drivers/scsi/3w-xxxx.c | 4 +-
drivers/scsi/lpfc/lpfc_els.c | 14 +-
drivers/scsi/qedf/qedf_main.c | 3 +-
drivers/soc/amlogic/meson-secure-pwrc.c | 2 +-
drivers/soc/fsl/qe/Kconfig | 1 +
drivers/soc/mediatek/mtk-svs.c | 4 +-
drivers/soc/qcom/qcom-geni-se.c | 67 +-
drivers/soc/xilinx/xlnx_event_manager.c | 6 +-
drivers/soundwire/debugfs.c | 3 +-
drivers/soundwire/qcom.c | 179 ++---
drivers/spi/spi-bcm-qspi.c | 10 +-
drivers/spi/spi-dw-core.c | 5 +-
drivers/spi/spi-geni-qcom.c | 111 ++--
drivers/staging/media/atomisp/i2c/atomisp-gc0310.c | 2 +-
drivers/staging/media/atomisp/i2c/atomisp-ov2680.c | 8 +-
drivers/staging/media/atomisp/i2c/ov2680.h | 1 +
.../media/atomisp/pci/atomisp_gmin_platform.c | 2 +-
.../vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 +-
drivers/thermal/qcom/tsens-v0_1.c | 56 +-
drivers/thermal/qcom/tsens.c | 19 +-
drivers/thermal/qcom/tsens.h | 6 +-
drivers/thermal/qoriq_thermal.c | 30 +-
drivers/thermal/sun8i_thermal.c | 55 +-
drivers/tty/serial/8250/8250_omap.c | 25 +-
drivers/tty/serial/fsl_lpuart.c | 1 +
drivers/tty/serial/serial_core.c | 10 +-
drivers/ufs/core/ufshcd-priv.h | 3 -
drivers/ufs/core/ufshcd.c | 21 +-
drivers/usb/core/devio.c | 2 +
drivers/usb/core/hcd-pci.c | 24 +-
drivers/usb/dwc2/platform.c | 16 +-
drivers/usb/dwc3/dwc3-meson-g12a.c | 5 +-
drivers/usb/dwc3/dwc3-qcom.c | 17 +-
drivers/usb/dwc3/gadget.c | 4 +-
drivers/usb/gadget/function/u_serial.c | 13 +-
drivers/usb/host/ehci-pci.c | 3 +-
drivers/usb/host/ohci-pci.c | 8 +-
drivers/usb/host/uhci-pci.c | 7 +-
drivers/usb/host/xhci-histb.c | 2 +-
drivers/usb/host/xhci-pci.c | 4 +-
drivers/usb/host/xhci-plat.c | 4 +-
drivers/usb/host/xhci-tegra.c | 2 +-
drivers/usb/host/xhci.c | 5 +-
drivers/usb/host/xhci.h | 2 +-
drivers/usb/musb/musb_core.c | 1 -
drivers/usb/musb/musb_core.h | 2 -
drivers/usb/musb/tusb6010.c | 53 +-
drivers/usb/phy/phy-tahvo.c | 2 +-
drivers/usb/serial/option.c | 4 +
drivers/usb/typec/ucsi/psy.c | 14 +
drivers/vdpa/vdpa_user/vduse_dev.c | 6 +-
drivers/vfio/mdev/mdev_core.c | 23 +-
drivers/video/fbdev/omap/lcd_mipid.c | 16 +-
drivers/virt/coco/sev-guest/Kconfig | 1 +
drivers/virtio/virtio_vdpa.c | 4 +-
drivers/w1/slaves/w1_therm.c | 31 +-
drivers/w1/w1.c | 4 +-
fs/afs/write.c | 8 +-
fs/btrfs/bio.c | 3 +-
fs/btrfs/block-group.c | 41 +-
fs/btrfs/ctree.c | 49 +-
fs/btrfs/disk-io.c | 7 +-
fs/btrfs/extent_io.c | 333 ++++------
fs/btrfs/extent_io.h | 5 +-
fs/btrfs/free-space-tree.c | 3 +
fs/btrfs/inode.c | 92 ++-
fs/btrfs/locking.c | 5 +-
fs/btrfs/qgroup.c | 2 +
fs/btrfs/tree-mod-log.c | 115 +++-
fs/erofs/zdata.c | 72 +-
fs/erofs/zmap.c | 6 +-
fs/ext4/namei.c | 17 +-
fs/f2fs/checkpoint.c | 7 +-
fs/f2fs/compress.c | 11 +-
fs/f2fs/data.c | 11 +-
fs/f2fs/f2fs.h | 23 +-
fs/f2fs/file.c | 13 +-
fs/f2fs/gc.c | 27 +-
fs/f2fs/namei.c | 16 +-
fs/f2fs/node.c | 7 +-
fs/f2fs/super.c | 160 ++++-
fs/fs_context.c | 3 +-
fs/gfs2/file.c | 2 +-
fs/inode.c | 42 ++
fs/internal.h | 2 +
fs/jffs2/build.c | 5 +-
fs/jffs2/xattr.c | 13 +-
fs/jffs2/xattr.h | 4 +-
fs/kernfs/dir.c | 2 +
fs/lockd/svc.c | 1 -
fs/namei.c | 25 +-
fs/nfs/nfs42xattr.c | 79 ++-
fs/nfs/nfs4proc.c | 1 +
fs/nfsd/cache.h | 2 +
fs/nfsd/nfs4xdr.c | 2 +-
fs/nfsd/nfscache.c | 25 +-
fs/nfsd/nfsctl.c | 10 +-
fs/nfsd/vfs.c | 4 +-
fs/notify/fanotify/fanotify_user.c | 14 +
fs/ntfs3/xattr.c | 3 +
fs/ocfs2/cluster/tcp.c | 23 +-
fs/overlayfs/copy_up.c | 2 +
fs/overlayfs/dir.c | 3 +-
fs/overlayfs/export.c | 3 +-
fs/overlayfs/inode.c | 17 +-
fs/overlayfs/namei.c | 3 +-
fs/overlayfs/overlayfs.h | 8 +-
fs/overlayfs/super.c | 2 +-
fs/overlayfs/util.c | 31 +-
fs/pstore/ram_core.c | 2 +
fs/ramfs/inode.c | 2 +-
fs/reiserfs/xattr_security.c | 1 +
fs/smb/client/cifs_debug.c | 16 +-
fs/smb/client/cifsglob.h | 10 +-
fs/smb/client/cifsproto.h | 2 +-
fs/smb/client/connect.c | 70 +-
fs/smb/client/dfs.c | 55 +-
fs/smb/client/dfs.h | 19 +-
fs/smb/client/dfs_cache.c | 8 +-
fs/smb/client/file.c | 25 +-
fs/smb/client/misc.c | 38 +-
fs/smb/client/smb2inode.c | 9 +-
fs/smb/client/smb2ops.c | 19 +-
fs/smb/client/transport.c | 20 +-
fs/smb/server/smb_common.c | 2 +-
fs/splice.c | 1 -
fs/udf/namei.c | 14 +-
fs/verity/enable.c | 19 +-
fs/verity/fsverity_private.h | 13 +-
fs/verity/hash_algs.c | 131 +---
fs/verity/verify.c | 113 ++--
include/drm/bridge/samsung-dsim.h | 3 +
include/drm/drm_fixed.h | 6 +
include/linux/bitmap.h | 8 +-
include/linux/blk-mq.h | 3 +-
include/linux/blkdev.h | 3 +-
include/linux/blktrace_api.h | 6 +-
include/linux/bpf.h | 1 -
include/linux/bpf_verifier.h | 52 +-
include/linux/can/length.h | 14 +-
include/linux/compiler_attributes.h | 12 +
include/linux/dsa/sja1105.h | 4 -
include/linux/ieee80211.h | 6 +-
include/linux/mfd/tps65010.h | 11 +-
include/linux/mfd/twl.h | 3 -
include/linux/mm_types.h | 23 +-
include/linux/mmc/card.h | 1 +
include/linux/netdevice.h | 9 +
include/linux/nmi.h | 35 +-
include/linux/pci.h | 1 +
include/linux/perf/arm_pmu.h | 2 +
include/linux/pipe_fs_i.h | 4 -
include/linux/platform_data/lcd-mipid.h | 2 -
include/linux/platform_data/mmc-omap.h | 2 -
include/linux/ramfs.h | 1 +
include/linux/sh_intc.h | 6 +-
include/linux/soc/qcom/geni-se.h | 4 +
include/linux/spi/ads7846.h | 2 -
include/linux/usb/hcd.h | 2 +-
include/linux/usb/musb.h | 13 -
include/linux/watch_queue.h | 3 +-
include/net/bluetooth/mgmt.h | 1 +
include/net/dsa.h | 12 +-
include/net/mac80211.h | 44 +-
include/net/regulatory.h | 13 +-
include/net/sock.h | 1 +
include/soc/mscc/ocelot.h | 10 +-
include/trace/events/net.h | 3 +-
include/trace/events/timer.h | 6 +-
include/uapi/linux/affs_hardblocks.h | 68 +-
include/uapi/linux/auto_dev-ioctl.h | 2 +-
include/uapi/linux/videodev2.h | 6 +-
include/ufs/ufshcd.h | 1 -
init/Makefile | 1 +
init/main.c | 3 +-
io_uring/io_uring.c | 35 +-
kernel/bpf/btf.c | 6 +-
kernel/bpf/cgroup.c | 15 +
kernel/bpf/helpers.c | 12 +-
kernel/bpf/trampoline.c | 32 +-
kernel/bpf/verifier.c | 716 +++++++++++++++-----
kernel/kcsan/core.c | 2 +
kernel/kexec_core.c | 5 +-
kernel/rcu/rcu.h | 6 +
kernel/rcu/rcuscale.c | 199 +++---
kernel/rcu/tasks.h | 7 +-
kernel/rcu/tree.c | 23 +-
kernel/sched/fair.c | 18 +
kernel/sched/sched.h | 22 +
kernel/time/posix-timers.c | 43 +-
kernel/time/tick-sched.c | 2 +-
kernel/watch_queue.c | 12 +-
kernel/watchdog.c | 302 ++++++---
kernel/watchdog_hld.c | 48 +-
lib/bitmap.c | 2 +-
lib/dhry_1.c | 11 +-
lib/test_firmware.c | 12 +-
lib/ts_bm.c | 4 +-
mm/damon/ops-common.c | 16 +-
mm/damon/ops-common.h | 4 +-
mm/damon/paddr.c | 4 +-
mm/damon/vaddr.c | 4 +-
mm/filemap.c | 4 +-
mm/page-writeback.c | 8 +-
mm/shmem.c | 2 +-
mm/vmscan.c | 13 +-
net/bluetooth/hci_conn.c | 47 +-
net/bluetooth/hci_event.c | 15 +-
net/bluetooth/hci_sync.c | 28 +-
net/bridge/br_if.c | 5 +-
net/core/filter.c | 126 +++-
net/core/rtnetlink.c | 104 +--
net/core/sock.c | 17 +-
net/dsa/dsa.c | 2 +-
net/dsa/slave.c | 84 ++-
net/dsa/switch.c | 4 +-
net/dsa/switch.h | 3 +
net/dsa/tag_sja1105.c | 90 +--
net/handshake/handshake.h | 1 +
net/handshake/request.c | 4 +
net/ipv4/tcp_input.c | 12 +-
net/mac80211/debugfs_netdev.c | 2 +-
net/mac80211/eht.c | 5 +-
net/mac80211/he.c | 3 +-
net/mac80211/mlme.c | 30 +-
net/mac80211/sta_info.c | 2 +
net/mac80211/util.c | 15 +-
net/netfilter/ipvs/Kconfig | 27 +-
net/netfilter/ipvs/ip_vs_conn.c | 4 +-
net/netfilter/nf_conntrack_helper.c | 4 +
net/netfilter/nf_conntrack_proto_dccp.c | 52 +-
net/netfilter/nf_conntrack_sip.c | 2 +-
net/netfilter/nf_tables_api.c | 17 +-
net/netfilter/nft_byteorder.c | 14 +-
net/netlink/af_netlink.c | 5 +-
net/netlink/diag.c | 7 +-
net/nfc/llcp.h | 1 -
net/nfc/llcp_commands.c | 15 +-
net/nfc/llcp_core.c | 49 +-
net/nfc/llcp_sock.c | 18 +-
net/nfc/netlink.c | 20 +-
net/nfc/nfc.h | 1 +
net/sched/act_ipt.c | 70 +-
net/sched/act_pedit.c | 1 +
net/sched/sch_netem.c | 59 +-
net/sctp/socket.c | 22 +-
net/sunrpc/svcsock.c | 23 +-
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 12 +-
net/wireless/core.c | 16 -
net/wireless/reg.c | 16 +-
net/wireless/scan.c | 367 ++++-------
net/wireless/util.c | 2 +
net/xdp/xsk.c | 5 +
samples/bpf/tcp_basertt_kern.c | 2 +-
samples/bpf/xdp1_kern.c | 2 +-
samples/bpf/xdp2_kern.c | 2 +-
scripts/Makefile.clang | 3 +-
scripts/Makefile.compiler | 4 +-
scripts/Makefile.modfinal | 2 +-
scripts/Makefile.vmlinux | 1 +
scripts/mksysmap | 4 +-
scripts/mod/modpost.c | 86 +--
scripts/package/builddeb | 14 +-
security/apparmor/policy.c | 13 +
security/apparmor/policy_compat.c | 20 +-
security/apparmor/policy_unpack.c | 100 +--
security/integrity/evm/evm_crypto.c | 2 +-
security/integrity/evm/evm_main.c | 4 +-
security/integrity/iint.c | 15 +-
security/integrity/ima/ima_modsig.c | 3 +
security/integrity/ima/ima_policy.c | 3 +-
sound/core/jack.c | 15 +-
sound/core/pcm_memory.c | 44 +-
sound/pci/ac97/ac97_codec.c | 4 +-
sound/pci/hda/patch_realtek.c | 7 +-
sound/soc/amd/acp/acp-pdm.c | 2 +-
sound/soc/codecs/es8316.c | 23 +-
sound/soc/fsl/imx-audmix.c | 9 +
sound/soc/intel/boards/sof_sdw.c | 18 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 13 +-
tools/bpf/bpftool/feature.c | 24 +-
tools/bpf/resolve_btfids/Makefile | 4 +-
tools/include/nolibc/stdint.h | 10 +-
tools/lib/bpf/bpf_helpers.h | 15 +-
tools/lib/bpf/btf_dump.c | 22 +-
tools/perf/arch/x86/util/Build | 1 +
tools/perf/arch/x86/util/env.c | 19 +
tools/perf/arch/x86/util/env.h | 7 +
tools/perf/arch/x86/util/evsel.c | 16 +-
tools/perf/arch/x86/util/mem-events.c | 19 +-
tools/perf/builtin-bench.c | 2 +
tools/perf/builtin-script.c | 16 +-
tools/perf/builtin-stat.c | 2 +
tools/perf/tests/shell/test_task_analyzer.sh | 26 +-
tools/perf/util/bpf_skel/lock_contention.bpf.c | 2 -
tools/perf/util/bpf_skel/vmlinux.h | 10 +
tools/perf/util/dwarf-aux.c | 2 +-
tools/perf/util/evsel.h | 24 +-
tools/perf/util/evsel_fprintf.c | 1 +
tools/perf/util/metricgroup.c | 2 +-
tools/testing/cxl/test/mem.c | 4 +-
tools/testing/kunit/kunit_kernel.py | 6 +-
tools/testing/kunit/mypy.ini | 6 +
tools/testing/kunit/run_checks.py | 2 +-
tools/testing/selftests/bpf/Makefile | 3 +-
tools/testing/selftests/bpf/prog_tests/check_mtu.c | 2 +-
.../testing/selftests/bpf/progs/refcounted_kptr.c | 2 +
.../selftests/bpf/progs/refcounted_kptr_fail.c | 4 +-
tools/testing/selftests/bpf/test_verifier.c | 24 +-
tools/testing/selftests/bpf/verifier/precise.c | 106 +--
tools/testing/selftests/cgroup/test_memcontrol.c | 4 +-
tools/testing/selftests/ftrace/ftracetest | 2 +-
tools/testing/selftests/net/rtnetlink.sh | 1 +
tools/testing/selftests/nolibc/nolibc-test.c | 6 +-
.../rcutorture/configs/rcu/BUSTED-BOOST.boot | 2 +-
.../selftests/rcutorture/configs/rcu/TREE03.boot | 2 +-
.../selftests/vDSO/vdso_test_clock_getres.c | 4 +-
tools/testing/selftests/wireguard/netns.sh | 30 +-
tools/tracing/rtla/src/osnoise_top.c | 8 +-
tools/virtio/Makefile | 13 +-
877 files changed, 10447 insertions(+), 6356 deletions(-)
From: Andres Freund <[email protected]>
commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
I observed poor performance of io_uring compared to synchronous IO. That
turns out to be caused by deeper CPU idle states entered with io_uring,
due to io_uring using plain schedule(), whereas synchronous IO uses
io_schedule().
The losses due to this are substantial. On my cascade lake workstation,
t/io_uring from the fio repository e.g. yields regressions between 20%
and 40% with the following command:
./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
This is repeatable with different filesystems, using raw block devices
and using different block devices.
Use io_schedule_prepare() / io_schedule_finish() in
io_cqring_wait_schedule() to address the difference.
After that using io_uring is on par or surpassing synchronous IO (using
registered files etc makes it reliably win, but arguably is a less fair
comparison).
There are other calls to schedule() in io_uring/, but none immediately
jump out to be similarly situated, so I did not touch them. Similarly,
it's possible that mutex_lock_io() should be used, but it's not clear if
there are cases where that matters.
Cc: [email protected] # 5.10+
Cc: Pavel Begunkov <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Andres Freund <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
[axboe: minor style fixup]
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
io_uring/io_uring.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -2575,6 +2575,8 @@ int io_run_task_work_sig(struct io_ring_
static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
struct io_wait_queue *iowq)
{
+ int token, ret;
+
if (unlikely(READ_ONCE(ctx->check_cq)))
return 1;
if (unlikely(!llist_empty(&ctx->work_llist)))
@@ -2585,11 +2587,20 @@ static inline int io_cqring_wait_schedul
return -EINTR;
if (unlikely(io_should_wake(iowq)))
return 0;
+
+ /*
+ * Use io_schedule_prepare/finish, so cpufreq can take into account
+ * that the task is waiting for IO - turns out to be important for low
+ * QD IO.
+ */
+ token = io_schedule_prepare();
+ ret = 0;
if (iowq->timeout == KTIME_MAX)
schedule();
else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
- return -ETIME;
- return 0;
+ ret = -ETIME;
+ io_schedule_finish(token);
+ return ret;
}
/*
On Mon, 17 Jul 2023 at 01:24, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 6.4.4 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.4.4-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.4.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Following kernel warnings / BUG noticed on qemu-arm64 while running
Kunit / KASAN tests while booting stable rc 6.4 kernel.
Similar issues have been reported on Linux next [1].
next: qemu-arm64: kernel BUG at fs/inode.c:1763!
[1] https://lore.kernel.org/linux-mm/[email protected]/
Reported-by: Linux Kernel Functional Testing <[email protected]>
Crash log:
---
<6>[ 928.522368] ok 67 Encryption test suite # SKIP
<6>[ 928.526361] KTAP version 1
<6>[ 928.527663] # Subtest: Handshake API tests
<6>[ 928.528569] 1..11
<6>[ 928.529461] KTAP version 1
<6>[ 928.530289] # Subtest: req_alloc API fuzzing
<6>[ 928.534580] ok 1 handshake_req_alloc NULL proto
<6>[ 928.540928] ok 2 handshake_req_alloc CLASS_NONE
<6>[ 928.546026] ok 3 handshake_req_alloc CLASS_MAX
<6>[ 928.556181] ok 4 handshake_req_alloc no callbacks
<6>[ 928.561854] ok 5 handshake_req_alloc no done callback
<6>[ 928.568591] ok 6 handshake_req_alloc excessive privsize
<6>[ 928.574197] ok 7 handshake_req_alloc all good
<6>[ 928.577290] # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7
<6>[ 928.578830] ok 1 req_alloc API fuzzing
<6>[ 928.589194] ok 2 req_submit NULL req arg
<6>[ 928.595860] ok 3 req_submit NULL sock arg
<6>[ 928.601760] ok 4 req_submit NULL sock->file
<6>[ 928.613613] ok 5 req_lookup works
<6>[ 928.621095] ok 6 req_submit max pending
<6>[ 928.627492] ok 7 req_submit multiple
<6>[ 928.633124] ok 8 req_cancel before accept
<6>[ 928.640751] ok 9 req_cancel after accept
<6>[ 928.646414] ok 10 req_cancel after done
<4>[ 928.650411] ------------[ cut here ]------------
<2>[ 928.654074] kernel BUG at fs/inode.c:1805!
<0>[ 928.655661] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP
<4>[ 928.657205] Modules linked in:
<4>[ 928.659307] CPU: 1 PID: 21 Comm: kworker/1:0 Tainted: G
N 6.4.4-rc1 #1
<4>[ 928.660829] Hardware name: linux,dummy-virt (DT)
<4>[ 928.662415] Workqueue: events delayed_fput
<4>[ 928.664806] pstate: 42400005 (nZcv daif +PAN -UAO +TCO -DIT
-SSBS BTYPE=--)
<4>[ 928.666592] pc : iput+0x2cc/0x2d0
<4>[ 928.667870] lr : iput+0x30/0x2d0
<4>[ 928.668975] sp : ffff8000081d7af0
<4>[ 928.669951] x29: ffff8000081d7af0 x28: ffff0000c094c020 x27:
00000000002e0003
<4>[ 928.672194] x26: ffff0000c4f61668 x25: ffff0000c6911590 x24:
0000000000000000
<4>[ 928.674232] x23: ffff0000c0467638 x22: ffff0000c69115b0 x21:
ffff0000c0467598
<4>[ 928.676413] x20: ffff0000c0467500 x19: ffff0000c0467500 x18:
0000000010992f9a
<4>[ 928.678485] x17: ffffa2bb7d60bc64 x16: ffffa2bb7d60c00c x15:
ffffa2bb7e7c02f4
<4>[ 928.680443] x14: ffffa2bb7d63c708 x13: ffffa2bb7d216100 x12:
0000000000000001
<4>[ 928.682505] x11: 1fffe0001808ceb1 x10: 1fffe0001808ceb3 x9 :
0000000000000000
<4>[ 928.684647] x8 : 0000000000000060 x7 : 0000000000000000 x6 :
ffffa2bb7d5c67b8
<4>[ 928.686630] x5 : ffff0000c814a6d8 x4 : 0000000000000000 x3 :
ffffa2bb7ead2fec
<4>[ 928.689091] x2 : 0000000000000001 x1 : 0000000000000001 x0 :
ffff0000c0467598
<6>[ 928.690005] ok 11 req_destroy works
<4>[ 928.690476]
<6>[ 928.693528] # Handshake API tests: pass:11 fail:0 skip:0 total:11
<4>[ 928.694200] Call trace:
<4>[ 928.694404] iput+0x2cc/0x2d0
<6>[ 928.697513] # Totals: pass:17 fail:0 skip:0 total:17
<4>[ 928.697467] dentry_unlink_inode+0x220/0x240
<6>[ 928.698341] ok 68 Handshake API tests
<4>[ 928.699216] __dentry_kill+0x190/0x2a4
<4>[ 928.702948] dentry_kill+0x90/0x150
<4>[ 928.704551] dput+0xd8/0x144
<4>[ 928.706425] __fput+0x2bc/0x3cc
<4>[ 928.707982] delayed_fput+0x54/0x6c
<4>[ 928.709490] process_one_work+0x3c4/0x574
<4>[ 928.711092] worker_thread+0x488/0x83c
<4>[ 928.712551] kthread+0x1ac/0x238
<4>[ 928.714034] ret_from_fork+0x10/0x20
<0>[ 928.717103] Code: 94522f0a 17ffffec d4210000 17ffffba (d4210000)
<4>[ 928.719393] ---[ end trace 0000000000000000 ]---
<6>[ 928.721045] note: kworker/1:0[21] exited with irqs disabled
<6>[ 928.725022] note: kworker/1:0[21] exited with preempt_count 1
<6>[ 928.730067] uart-pl011 9000000.pl011: no DMA platform data
<4>[ 928.733763] ------------[ cut here ]------------
<4>[ 928.735164] WARNING: CPU: 1 PID: 0 at
kernel/context_tracking.c:128 ct_kernel_exit+0xa4/0xac
<4>[ 928.737209] Modules linked in:
<4>[ 928.738504] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D
N 6.4.4-rc1 #1
<4>[ 928.740310] Hardware name: linux,dummy-virt (DT)
<4>[ 928.741569] pstate: 224003c5 (nzCv DAIF +PAN -UAO +TCO -DIT
-SSBS BTYPE=--)
<4>[ 928.743556] pc : ct_kernel_exit+0xa4/0xac
<4>[ 928.745560] lr : ct_kernel_exit+0x14/0xac
<4>[ 928.747498] sp : ffff800008187db0
<4>[ 928.749156] x29: ffff800008187db0 x28: ffffa2bb7ff5cb38 x27:
ffffa2bb7ffdd000
<4>[ 928.751416] x26: 0000000000000002 x25: 0000000000000001 x24:
0000000000000000
<4>[ 928.753426] x23: 0000000000000000 x22: 0000000000000000 x21:
ffffa2bb7ffddb50
<4>[ 928.755520] x20: ffffa2bb7ffdda40 x19: ffff0000daea6a20 x18:
0000000010992f9a
<4>[ 928.757619] x17: 0000000000000000 x16: 0000000100000000 x15:
0000000200000002
<4>[ 928.759766] x14: 00000000ffffa2bb x13: 00000000000711d6 x12:
0000000008000000
<4>[ 928.761789] x11: 000db58580000000 x10: 4000000000000000 x9 :
4000000000000002
<4>[ 928.763942] x8 : ffffa2bb7ff5aa20 x7 : 0000000000000000 x6 :
000000000000003f
<4>[ 928.766237] x5 : 0000000000000040 x4 : 0000000000000000 x3 :
ffffa2bb7d316f00
<4>[ 928.768327] x2 : 0000000000000001 x1 : 0000000000000001 x0 :
ffff5d455af4c000
<4>[ 928.770366] Call trace:
<4>[ 928.771153] ct_kernel_exit+0xa4/0xac
<4>[ 928.772308] ct_idle_enter+0x10/0x1c
<4>[ 928.773463] default_idle_call+0x1c/0x38
<4>[ 928.774700] do_idle+0x134/0x2fc
<4>[ 928.775976] cpu_startup_entry+0x24/0x28
<4>[ 928.777255] secondary_start_kernel+0x170/0x194
<4>[ 928.778638] __secondary_switched+0xb8/0xbc
<4>[ 928.780012] ---[ end trace 0000000000000000 ]---
<6>[ 928.888117] EXT4-fs (vda): mounted filesystem
488f3595-af73-4163-86f5-9256efc01ed6 ro with ordered data mode. Quota
mode: none.
Links:
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.4.y/build/v6.4.3-801-g2b7c5a626789/testrun/18368775/suite/boot/test/clang-nightly-defconfig-40bc7ee5/log
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.4.y/build/v6.4.3-801-g2b7c5a626789/testrun/18368340/suite/boot/test/gcc-12-defconfig-40bc7ee5/log
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.4.y/build/v6.4.3-801-g2b7c5a626789/testrun/18374719/suite/boot/test/gcc-12-lkftconfig-kunit/details/
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2SfVz5dCm2BdJzRORqOHFcy7nOK/
--
Linaro LKFT
https://lkft.linaro.org
On 7/16/23 12:37 PM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.4.4 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.4.4-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.4.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Tested-by: Ron Economos <[email protected]>
On 7/16/23 12:37, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.4.4 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> Anything received after that time might be too late.
>
As I had already reported:
Building mips:allmodconfig ... failed
--------------
Error log:
arch/mips/boot/dts/ingenic/ci20.dts:242.19-247.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC1: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:248.18-253.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC2: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:254.18-259.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC3: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:265.17-270.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO5: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:271.18-276.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO6: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:277.20-282.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO7: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:283.20-288.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO8: Reference to non-existent node or label "vcc_33v"
ERROR: Input tree has errors, aborting (use -f to force output)
make[3]: [scripts/Makefile.lib:419: arch/mips/boot/dts/ingenic/ci20.dtb] Error 2 (ignored)
arch/mips/boot/dts/ingenic/ci20.dts:242.19-247.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC1: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:248.18-253.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC2: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:254.18-259.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC3: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:265.17-270.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO5: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:271.18-276.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO6: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:277.20-282.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO7: Reference to non-existent node or label "vcc_33v"
arch/mips/boot/dts/ingenic/ci20.dts:283.20-288.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO8: Reference to non-existent node or label "vcc_33v"
ERROR: Input tree has errors, aborting (use -f to force output)
make[4]: [scripts/Makefile.lib:419: arch/mips/boot/dts/ingenic/ci20.dtb] Error 2 (ignored)
This is the same error as reported for 6.3.13-rc3, introduced with "MIPS: DTS:
CI20: Add parent supplies to ACT8600 regulators" which uses vcc_33v without
introducing it (it was introduced with commit c9f4b25272843).
Guenter
On Mon, Jul 17, 2023 at 06:37:37AM -0700, Guenter Roeck wrote:
> On 7/16/23 12:37, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 6.4.4 release.
> > There are 800 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> > Anything received after that time might be too late.
> >
>
> As I had already reported:
>
> Building mips:allmodconfig ... failed
> --------------
> Error log:
> arch/mips/boot/dts/ingenic/ci20.dts:242.19-247.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC1: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:248.18-253.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC2: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:254.18-259.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC3: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:265.17-270.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO5: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:271.18-276.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO6: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:277.20-282.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO7: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:283.20-288.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO8: Reference to non-existent node or label "vcc_33v"
> ERROR: Input tree has errors, aborting (use -f to force output)
> make[3]: [scripts/Makefile.lib:419: arch/mips/boot/dts/ingenic/ci20.dtb] Error 2 (ignored)
> arch/mips/boot/dts/ingenic/ci20.dts:242.19-247.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC1: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:248.18-253.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC2: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:254.18-259.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/DCDC3: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:265.17-270.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO5: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:271.18-276.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO6: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:277.20-282.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO7: Reference to non-existent node or label "vcc_33v"
> arch/mips/boot/dts/ingenic/ci20.dts:283.20-288.6: ERROR (phandle_references): /i2c@10050000/act8600@5a/regulators/LDO8: Reference to non-existent node or label "vcc_33v"
> ERROR: Input tree has errors, aborting (use -f to force output)
> make[4]: [scripts/Makefile.lib:419: arch/mips/boot/dts/ingenic/ci20.dtb] Error 2 (ignored)
>
> This is the same error as reported for 6.3.13-rc3, introduced with "MIPS: DTS:
> CI20: Add parent supplies to ACT8600 regulators" which uses vcc_33v without
> introducing it (it was introduced with commit c9f4b25272843).
Ah, ick, sorry, I tried to fix this up but I applied a different "fix".
I'll go drop this one, and the "fix up" patch as well and push out a
-rc2 soon.
thanks,
greg k-h
On Sun, Jul 16, 2023 at 09:37:33PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.4.4 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
My CI has no complaints about 6.4,
Tested-by: Conor Dooley <[email protected]>
Thanks,
Conor.
On Mon, Jul 17, 2023 at 11:23:40AM +0530, Naresh Kamboju wrote:
> On Mon, 17 Jul 2023 at 01:24, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > This is the start of the stable review cycle for the 6.4.4 release.
> > There are 800 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.4.4-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.4.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
>
> Following kernel warnings / BUG noticed on qemu-arm64 while running
> Kunit / KASAN tests while booting stable rc 6.4 kernel.
>
> Similar issues have been reported on Linux next [1].
> next: qemu-arm64: kernel BUG at fs/inode.c:1763!
> [1] https://lore.kernel.org/linux-mm/[email protected]/
>
> Reported-by: Linux Kernel Functional Testing <[email protected]>
Does bisection help?
thanks,
greg k-h
On 7/16/23 13:37, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.4.4 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Tue, 18 Jul 2023 19:48:07 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.4.4-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.4.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
Compiled and booted on my test system. No dmesg regressions.
Tested-by: Shuah Khan <[email protected]>
thanks,
-- Shuah
Hello.
On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
> From: Andres Freund <[email protected]>
>
> commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
>
> I observed poor performance of io_uring compared to synchronous IO. That
> turns out to be caused by deeper CPU idle states entered with io_uring,
> due to io_uring using plain schedule(), whereas synchronous IO uses
> io_schedule().
>
> The losses due to this are substantial. On my cascade lake workstation,
> t/io_uring from the fio repository e.g. yields regressions between 20%
> and 40% with the following command:
> ./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
>
> This is repeatable with different filesystems, using raw block devices
> and using different block devices.
>
> Use io_schedule_prepare() / io_schedule_finish() in
> io_cqring_wait_schedule() to address the difference.
>
> After that using io_uring is on par or surpassing synchronous IO (using
> registered files etc makes it reliably win, but arguably is a less fair
> comparison).
>
> There are other calls to schedule() in io_uring/, but none immediately
> jump out to be similarly situated, so I did not touch them. Similarly,
> it's possible that mutex_lock_io() should be used, but it's not clear if
> there are cases where that matters.
>
> Cc: [email protected] # 5.10+
> Cc: Pavel Begunkov <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Andres Freund <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> [axboe: minor style fixup]
> Signed-off-by: Jens Axboe <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> io_uring/io_uring.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> --- a/io_uring/io_uring.c
> +++ b/io_uring/io_uring.c
> @@ -2575,6 +2575,8 @@ int io_run_task_work_sig(struct io_ring_
> static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> struct io_wait_queue *iowq)
> {
> + int token, ret;
> +
> if (unlikely(READ_ONCE(ctx->check_cq)))
> return 1;
> if (unlikely(!llist_empty(&ctx->work_llist)))
> @@ -2585,11 +2587,20 @@ static inline int io_cqring_wait_schedul
> return -EINTR;
> if (unlikely(io_should_wake(iowq)))
> return 0;
> +
> + /*
> + * Use io_schedule_prepare/finish, so cpufreq can take into account
> + * that the task is waiting for IO - turns out to be important for low
> + * QD IO.
> + */
> + token = io_schedule_prepare();
> + ret = 0;
> if (iowq->timeout == KTIME_MAX)
> schedule();
> else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
> - return -ETIME;
> - return 0;
> + ret = -ETIME;
> + io_schedule_finish(token);
> + return ret;
> }
>
> /*
Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
Reverting this commit fixes the issue.
Please check.
Thanks.
[1] https://bbs.archlinux.org/viewtopic.php?id=287343
[2] https://bugzilla.kernel.org/show_bug.cgi?id=217700
[3] https://bugzilla.kernel.org/show_bug.cgi?id=217699
--
Oleksandr Natalenko (post-factum)
On Sun, Jul 23, 2023 at 11:39:42AM +0200, Oleksandr Natalenko wrote:
> Hello.
>
> On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
> > From: Andres Freund <[email protected]>
> >
> > commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
> >
> > I observed poor performance of io_uring compared to synchronous IO. That
> > turns out to be caused by deeper CPU idle states entered with io_uring,
> > due to io_uring using plain schedule(), whereas synchronous IO uses
> > io_schedule().
> >
> > The losses due to this are substantial. On my cascade lake workstation,
> > t/io_uring from the fio repository e.g. yields regressions between 20%
> > and 40% with the following command:
> > ./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
> >
> > This is repeatable with different filesystems, using raw block devices
> > and using different block devices.
> >
> > Use io_schedule_prepare() / io_schedule_finish() in
> > io_cqring_wait_schedule() to address the difference.
> >
> > After that using io_uring is on par or surpassing synchronous IO (using
> > registered files etc makes it reliably win, but arguably is a less fair
> > comparison).
> >
> > There are other calls to schedule() in io_uring/, but none immediately
> > jump out to be similarly situated, so I did not touch them. Similarly,
> > it's possible that mutex_lock_io() should be used, but it's not clear if
> > there are cases where that matters.
> >
> > Cc: [email protected] # 5.10+
> > Cc: Pavel Begunkov <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Signed-off-by: Andres Freund <[email protected]>
> > Link: https://lore.kernel.org/r/[email protected]
> > [axboe: minor style fixup]
> > Signed-off-by: Jens Axboe <[email protected]>
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
> > ---
> > io_uring/io_uring.c | 15 +++++++++++++--
> > 1 file changed, 13 insertions(+), 2 deletions(-)
> >
> > --- a/io_uring/io_uring.c
> > +++ b/io_uring/io_uring.c
> > @@ -2575,6 +2575,8 @@ int io_run_task_work_sig(struct io_ring_
> > static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> > struct io_wait_queue *iowq)
> > {
> > + int token, ret;
> > +
> > if (unlikely(READ_ONCE(ctx->check_cq)))
> > return 1;
> > if (unlikely(!llist_empty(&ctx->work_llist)))
> > @@ -2585,11 +2587,20 @@ static inline int io_cqring_wait_schedul
> > return -EINTR;
> > if (unlikely(io_should_wake(iowq)))
> > return 0;
> > +
> > + /*
> > + * Use io_schedule_prepare/finish, so cpufreq can take into account
> > + * that the task is waiting for IO - turns out to be important for low
> > + * QD IO.
> > + */
> > + token = io_schedule_prepare();
> > + ret = 0;
> > if (iowq->timeout == KTIME_MAX)
> > schedule();
> > else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
> > - return -ETIME;
> > - return 0;
> > + ret = -ETIME;
> > + io_schedule_finish(token);
> > + return ret;
> > }
> >
> > /*
>
> Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
>
> Reverting this commit fixes the issue.
>
> Please check.
Is this also an issue in 6.5-rc2?
thanks,
greg k-h
On neděle 23. července 2023 12:50:30 CEST Greg Kroah-Hartman wrote:
> On Sun, Jul 23, 2023 at 11:39:42AM +0200, Oleksandr Natalenko wrote:
> > Hello.
> >
> > On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
> > > From: Andres Freund <[email protected]>
> > >
> > > commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
> > >
> > > I observed poor performance of io_uring compared to synchronous IO. That
> > > turns out to be caused by deeper CPU idle states entered with io_uring,
> > > due to io_uring using plain schedule(), whereas synchronous IO uses
> > > io_schedule().
> > >
> > > The losses due to this are substantial. On my cascade lake workstation,
> > > t/io_uring from the fio repository e.g. yields regressions between 20%
> > > and 40% with the following command:
> > > ./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
> > >
> > > This is repeatable with different filesystems, using raw block devices
> > > and using different block devices.
> > >
> > > Use io_schedule_prepare() / io_schedule_finish() in
> > > io_cqring_wait_schedule() to address the difference.
> > >
> > > After that using io_uring is on par or surpassing synchronous IO (using
> > > registered files etc makes it reliably win, but arguably is a less fair
> > > comparison).
> > >
> > > There are other calls to schedule() in io_uring/, but none immediately
> > > jump out to be similarly situated, so I did not touch them. Similarly,
> > > it's possible that mutex_lock_io() should be used, but it's not clear if
> > > there are cases where that matters.
> > >
> > > Cc: [email protected] # 5.10+
> > > Cc: Pavel Begunkov <[email protected]>
> > > Cc: [email protected]
> > > Cc: [email protected]
> > > Signed-off-by: Andres Freund <[email protected]>
> > > Link: https://lore.kernel.org/r/[email protected]
> > > [axboe: minor style fixup]
> > > Signed-off-by: Jens Axboe <[email protected]>
> > > Signed-off-by: Greg Kroah-Hartman <[email protected]>
> > > ---
> > > io_uring/io_uring.c | 15 +++++++++++++--
> > > 1 file changed, 13 insertions(+), 2 deletions(-)
> > >
> > > --- a/io_uring/io_uring.c
> > > +++ b/io_uring/io_uring.c
> > > @@ -2575,6 +2575,8 @@ int io_run_task_work_sig(struct io_ring_
> > > static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> > > struct io_wait_queue *iowq)
> > > {
> > > + int token, ret;
> > > +
> > > if (unlikely(READ_ONCE(ctx->check_cq)))
> > > return 1;
> > > if (unlikely(!llist_empty(&ctx->work_llist)))
> > > @@ -2585,11 +2587,20 @@ static inline int io_cqring_wait_schedul
> > > return -EINTR;
> > > if (unlikely(io_should_wake(iowq)))
> > > return 0;
> > > +
> > > + /*
> > > + * Use io_schedule_prepare/finish, so cpufreq can take into account
> > > + * that the task is waiting for IO - turns out to be important for low
> > > + * QD IO.
> > > + */
> > > + token = io_schedule_prepare();
> > > + ret = 0;
> > > if (iowq->timeout == KTIME_MAX)
> > > schedule();
> > > else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
> > > - return -ETIME;
> > > - return 0;
> > > + ret = -ETIME;
> > > + io_schedule_finish(token);
> > > + return ret;
> > > }
> > >
> > > /*
> >
> > Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
> >
> > Reverting this commit fixes the issue.
> >
> > Please check.
>
> Is this also an issue in 6.5-rc2?
As per [1], yes.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=217699#c4
>
> thanks,
>
> greg k-h
>
--
Oleksandr Natalenko (post-factum)
[CCing the regression list, as it should be in the loop for regressions:
https://docs.kernel.org/admin-guide/reporting-regressions.html]
[TLDR: I'm adding this report to the list of tracked Linux kernel
regressions; the text you find below is based on a few templates
paragraphs you might have encountered already in similar form.
See link in footer if these mails annoy you.]
On 23.07.23 11:39, Oleksandr Natalenko wrote:
> On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
>> From: Andres Freund <[email protected]>
>>
>> commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
>>
>> I observed poor performance of io_uring compared to synchronous IO. That
>> turns out to be caused by deeper CPU idle states entered with io_uring,
>> due to io_uring using plain schedule(), whereas synchronous IO uses
>> io_schedule().
>>
>> The losses due to this are substantial. On my cascade lake workstation,
>> t/io_uring from the fio repository e.g. yields regressions between 20%
>> and 40% with the following command:
>> ./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
>>
>
> Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
>
> Reverting this commit fixes the issue.
>
> Please check.
>
> Thanks.
>
> [1] https://bbs.archlinux.org/viewtopic.php?id=287343
> [2] https://bugzilla.kernel.org/show_bug.cgi?id=217700
> [3] https://bugzilla.kernel.org/show_bug.cgi?id=217699
Thanks for the report. To be sure the issue doesn't fall through the
cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
tracking bot:
#regzbot introduced 8a796565cec360107 ^
https://bbs.archlinux.org/viewtopic.php?id=287343
https://bugzilla.kernel.org/show_bug.cgi?id=217700
https://bugzilla.kernel.org/show_bug.cgi?id=217699
#regzbot title block: io_uring: high iowait rates and stalls
#regzbot ignore-activity
This isn't a regression? This issue or a fix for it are already
discussed somewhere else? It was fixed already? You want to clarify when
the regression started to happen? Or point out I got the title or
something else totally wrong? Then just reply and tell me -- ideally
while also telling regzbot about it, as explained by the page listed in
the footer of this mail.
Developers: When fixing the issue, remember to add 'Link:' tags pointing
to the report (the parent of this mail). See page linked in footer for
details.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.
On 7/23/23 06:50, Greg Kroah-Hartman wrote:
> On Sun, Jul 23, 2023 at 11:39:42AM +0200, Oleksandr Natalenko wrote:
>> Hello.
>>
>> On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
>>> From: Andres Freund <[email protected]>
>>>
>>> commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
>>>
>>> I observed poor performance of io_uring compared to synchronous IO. That
...
>>
>> Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
>>
>> Reverting this commit fixes the issue.
>>
>> Please check.
>
> Is this also an issue in 6.5-rc2?
>
> thanks,
>
> greg k-h
Yes - I can confirm this issue is in 6.5-rc2 and with Linus' commit
c2782531397f5cb19ca3f8f9c17727f1cdf5bee8.
gene
On 7/23/23 3:39?AM, Oleksandr Natalenko wrote:
> Hello.
>
> On ned?le 16. ?ervence 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
>> From: Andres Freund <[email protected]>
>>
>> commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
>>
>> I observed poor performance of io_uring compared to synchronous IO. That
>> turns out to be caused by deeper CPU idle states entered with io_uring,
>> due to io_uring using plain schedule(), whereas synchronous IO uses
>> io_schedule().
>>
>> The losses due to this are substantial. On my cascade lake workstation,
>> t/io_uring from the fio repository e.g. yields regressions between 20%
>> and 40% with the following command:
>> ./t/io_uring -r 5 -X0 -d 1 -s 1 -c 1 -p 0 -S$use_sync -R 0 /mnt/t2/fio/write.0.0
>>
>> This is repeatable with different filesystems, using raw block devices
>> and using different block devices.
>>
>> Use io_schedule_prepare() / io_schedule_finish() in
>> io_cqring_wait_schedule() to address the difference.
>>
>> After that using io_uring is on par or surpassing synchronous IO (using
>> registered files etc makes it reliably win, but arguably is a less fair
>> comparison).
>>
>> There are other calls to schedule() in io_uring/, but none immediately
>> jump out to be similarly situated, so I did not touch them. Similarly,
>> it's possible that mutex_lock_io() should be used, but it's not clear if
>> there are cases where that matters.
>>
>> Cc: [email protected] # 5.10+
>> Cc: Pavel Begunkov <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Signed-off-by: Andres Freund <[email protected]>
>> Link: https://lore.kernel.org/r/[email protected]
>> [axboe: minor style fixup]
>> Signed-off-by: Jens Axboe <[email protected]>
>> Signed-off-by: Greg Kroah-Hartman <[email protected]>
>> ---
>> io_uring/io_uring.c | 15 +++++++++++++--
>> 1 file changed, 13 insertions(+), 2 deletions(-)
>>
>> --- a/io_uring/io_uring.c
>> +++ b/io_uring/io_uring.c
>> @@ -2575,6 +2575,8 @@ int io_run_task_work_sig(struct io_ring_
>> static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
>> struct io_wait_queue *iowq)
>> {
>> + int token, ret;
>> +
>> if (unlikely(READ_ONCE(ctx->check_cq)))
>> return 1;
>> if (unlikely(!llist_empty(&ctx->work_llist)))
>> @@ -2585,11 +2587,20 @@ static inline int io_cqring_wait_schedul
>> return -EINTR;
>> if (unlikely(io_should_wake(iowq)))
>> return 0;
>> +
>> + /*
>> + * Use io_schedule_prepare/finish, so cpufreq can take into account
>> + * that the task is waiting for IO - turns out to be important for low
>> + * QD IO.
>> + */
>> + token = io_schedule_prepare();
>> + ret = 0;
>> if (iowq->timeout == KTIME_MAX)
>> schedule();
>> else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
>> - return -ETIME;
>> - return 0;
>> + ret = -ETIME;
>> + io_schedule_finish(token);
>> + return ret;
>> }
>>
>> /*
>
> Reportedly, this caused a regression as reported in [1] [2] [3]. Not only v6.4.4 is affected, v6.1.39 is affected too.
>
> Reverting this commit fixes the issue.
>
> Please check.
>
> Thanks.
>
> [1] https://bbs.archlinux.org/viewtopic.php?id=287343
> [2] https://bugzilla.kernel.org/show_bug.cgi?id=217700
> [3] https://bugzilla.kernel.org/show_bug.cgi?id=217699
Just read the first one, but this is very much expected. It's now just
correctly reflecting that one thread is waiting on IO. IO wait being
100% doesn't mean that one core is running 100% of the time, it just
means it's WAITING on IO 100% of the time.
--
Jens Axboe
On 7/23/23 11:31, Jens Axboe wrote:
...
> Just read the first one, but this is very much expected. It's now just
> correctly reflecting that one thread is waiting on IO. IO wait being
> 100% doesn't mean that one core is running 100% of the time, it just
> means it's WAITING on IO 100% of the time.
>
Seems reasonable thank you.
Question - do you expect the iowait to stay high for a freshly created
mariadb doing nothing (as far as I can tell anyway) until process
exited? Or Would you think it would drop in this case prior to the
process exiting.
For example I tried the following - is the output what you expect?
Create a fresh mariab with no databases - monitor the core showing the
iowaits with:
mpstat -P ALL 2 100
# rm -f /var/lib/mysql/*
# mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# systemctl start mariadb (iowaits -> 100%)
# iotop -bo |grep maria (shows no output, iowait stays 100%)
(this persists until mariadb process exits)
# systemctl stop mariadb (iowait drops to 0%)
On 23.07.23 14:11, Linux regression tracking #adding (Thorsten Leemhuis)
wrote:
> On 23.07.23 11:39, Oleksandr Natalenko wrote:
>> On neděle 16. července 2023 21:50:53 CEST Greg Kroah-Hartman wrote:
>>> From: Andres Freund <[email protected]>
>>>
>>> commit 8a796565cec3601071cbbd27d6304e202019d014 upstream.
>>>
>>> I observed poor performance of io_uring compared to synchronous IO. That
>>> turns out to be caused by deeper CPU idle states entered with io_uring,
>>> due to io_uring using plain schedule(), whereas synchronous IO uses
>>> io_schedule().
> #regzbot introduced 8a796565cec360107 ^
> https://bbs.archlinux.org/viewtopic.php?id=287343
> https://bugzilla.kernel.org/show_bug.cgi?id=217700
> https://bugzilla.kernel.org/show_bug.cgi?id=217699
> #regzbot title block: io_uring: high iowait rates and stalls
> #regzbot ignore-activity
Apparently expected behavior:
https://lore.kernel.org/lkml/[email protected]/
#regzbot resolve: notabug: on a closer look it turned out that's
expected behavior
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.
#regzbot ignore-activity
Hello.
On neděle 23. července 2023 19:43:50 CEST Genes Lists wrote:
> On 7/23/23 11:31, Jens Axboe wrote:
> ...
> > Just read the first one, but this is very much expected. It's now just
> > correctly reflecting that one thread is waiting on IO. IO wait being
> > 100% doesn't mean that one core is running 100% of the time, it just
> > means it's WAITING on IO 100% of the time.
> >
>
> Seems reasonable thank you.
>
> Question - do you expect the iowait to stay high for a freshly created
> mariadb doing nothing (as far as I can tell anyway) until process
> exited? Or Would you think it would drop in this case prior to the
> process exiting.
>
> For example I tried the following - is the output what you expect?
>
> Create a fresh mariab with no databases - monitor the core showing the
> iowaits with:
>
> mpstat -P ALL 2 100
>
> # rm -f /var/lib/mysql/*
> # mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
>
> # systemctl start mariadb (iowaits -> 100%)
>
>
> # iotop -bo |grep maria (shows no output, iowait stays 100%)
>
> (this persists until mariadb process exits)
>
>
> # systemctl stop mariadb (iowait drops to 0%)
This is a visible userspace behaviour change with no changes in the userspace itself, so we cannot just ignore it. If for some reason this is how it should be now, how do we explain it to MariaDB devs to get this fixed?
Thanks.
--
Oleksandr Natalenko (post-factum)
Hi,
On 2023-07-23 20:06:19 +0200, Oleksandr Natalenko wrote:
> On neděle 23. července 2023 19:43:50 CEST Genes Lists wrote:
> > On 7/23/23 11:31, Jens Axboe wrote:
> > ...
> > > Just read the first one, but this is very much expected. It's now just
> > > correctly reflecting that one thread is waiting on IO. IO wait being
> > > 100% doesn't mean that one core is running 100% of the time, it just
> > > means it's WAITING on IO 100% of the time.
> > >
> >
> > Seems reasonable thank you.
> >
> > Question - do you expect the iowait to stay high for a freshly created
> > mariadb doing nothing (as far as I can tell anyway) until process
> > exited? Or Would you think it would drop in this case prior to the
> > process exiting.
> >
> > For example I tried the following - is the output what you expect?
> >
> > Create a fresh mariab with no databases - monitor the core showing the
> > iowaits with:
> >
> > mpstat -P ALL 2 100
> >
> > # rm -f /var/lib/mysql/*
> > # mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
> >
> > # systemctl start mariadb (iowaits -> 100%)
> >
> >
> > # iotop -bo |grep maria (shows no output, iowait stays 100%)
> >
> > (this persists until mariadb process exits)
> >
> >
> > # systemctl stop mariadb (iowait drops to 0%)
>
> This is a visible userspace behaviour change with no changes in the
> userspace itself, so we cannot just ignore it. If for some reason this is
> how it should be now, how do we explain it to MariaDB devs to get this
> fixed?
Just to confirm I understand: Your concern is how it looks in mpstat, not
performance or anything like that?
As far as I can tell, mariadb submits a bunch of IOs, which all have
completed:
...
mariadbd 438034 [000] 67593.094595: io_uring:io_uring_submit_req: ring 0xffff8887878ac800, req 0xffff888929df2400, user_data 0x55d5eaf29488, opcode READV, flags 0x0, sq_thread 0
mariadbd 438034 [000] 67593.094604: io_uring:io_uring_submit_req: ring 0xffff8887878ac800, req 0xffff888929df2500, user_data 0x55d5eaf29520, opcode READV, flags 0x0, sq_thread 0
mariadbd 438034 [000] 67593.094690: io_uring:io_uring_complete: ring 0xffff8887878ac800, req 0xffff888929df2400, user_data 0x55d5eaf29488, result 16384, cflags 0x0 extra1 0 extra2 0
mariadbd 438034 [000] 67593.094699: io_uring:io_uring_complete: ring 0xffff8887878ac800, req 0xffff888929df2500, user_data 0x55d5eaf29520, result 16384, cflags 0x0 extra1 0 extra2 0
Then waits for io_uring events:
mariadbd 438032 [003] 67593.095282: io_uring:io_uring_cqring_wait: ring 0xffff8887878ac800, min_events 1
There won't be any completions without further IO being submitted.
io_uring could have logic to somehow report a different state in such a case
(where there'll not be any completions before new IOs being submitted), but
that'd likely not be free.
Greetings,
Andres Freund
On 7/23/23 14:58, Andres Freund wrote:
> Just to confirm I understand: Your concern is how it looks in mpstat, not
> performance or anything like that?
Right - there is no performance issue or any other issue to my knowledge
and cores are idle.
So, as you said, its just a small reporting item - which is now quite clear.
thank you.
gene
On 7/23/23 12:06?PM, Oleksandr Natalenko wrote:
> Hello.
>
> On ned?le 23. ?ervence 2023 19:43:50 CEST Genes Lists wrote:
>> On 7/23/23 11:31, Jens Axboe wrote:
>> ...
>>> Just read the first one, but this is very much expected. It's now just
>>> correctly reflecting that one thread is waiting on IO. IO wait being
>>> 100% doesn't mean that one core is running 100% of the time, it just
>>> means it's WAITING on IO 100% of the time.
>>>
>>
>> Seems reasonable thank you.
>>
>> Question - do you expect the iowait to stay high for a freshly created
>> mariadb doing nothing (as far as I can tell anyway) until process
>> exited? Or Would you think it would drop in this case prior to the
>> process exiting.
>>
>> For example I tried the following - is the output what you expect?
>>
>> Create a fresh mariab with no databases - monitor the core showing the
>> iowaits with:
>>
>> mpstat -P ALL 2 100
>>
>> # rm -f /var/lib/mysql/*
>> # mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
>>
>> # systemctl start mariadb (iowaits -> 100%)
>>
>>
>> # iotop -bo |grep maria (shows no output, iowait stays 100%)
>>
>> (this persists until mariadb process exits)
>>
>>
>> # systemctl stop mariadb (iowait drops to 0%)
>
> This is a visible userspace behaviour change with no changes in the
> userspace itself, so we cannot just ignore it. If for some reason this
> is how it should be now, how do we explain it to MariaDB devs to get
> this fixed?
It's not a behavioural change, it's a reporting change. There's no
functionality changing here. That said, I do think we should narrow it a
bit so we're only marked as in iowait if the task waiting has pending
IO. That should still satisfy the initial problem, and it won't flag
iowait on mariadb like cases where they have someone else just
perpetually waiting on requests.
As a side effect, this also removes the flush that wasn't at all
necessary on io_uring.
If folks are able to test the below, that would be appreciated.
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 89a611541bc4..f4591b912ea8 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -2493,11 +2493,20 @@ int io_run_task_work_sig(struct io_ring_ctx *ctx)
return 0;
}
+static bool current_pending_io(void)
+{
+ struct io_uring_task *tctx = current->io_uring;
+
+ if (!tctx)
+ return false;
+ return percpu_counter_read_positive(&tctx->inflight);
+}
+
/* when returns >0, the caller should retry */
static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
struct io_wait_queue *iowq)
{
- int token, ret;
+ int io_wait, ret;
if (unlikely(READ_ONCE(ctx->check_cq)))
return 1;
@@ -2511,17 +2520,19 @@ static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
return 0;
/*
- * Use io_schedule_prepare/finish, so cpufreq can take into account
- * that the task is waiting for IO - turns out to be important for low
- * QD IO.
+ * Mark us as being in io_wait if we have pending requests, so cpufreq
+ * can take into account that the task is waiting for IO - turns out
+ * to be important for low QD IO.
*/
- token = io_schedule_prepare();
+ io_wait = current->in_iowait;
+ if (current_pending_io())
+ current->in_iowait = 1;
ret = 0;
if (iowq->timeout == KTIME_MAX)
schedule();
else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
ret = -ETIME;
- io_schedule_finish(token);
+ current->in_iowait = io_wait;
return ret;
}
--
Jens Axboe
On 7/24/23 11:47, Jens Axboe wrote:
> It's not a behavioural change, it's a reporting change. There's no
> functionality changing here. That said, I do think we should narrow it a
> bit so we're only marked as in iowait if the task waiting has pending
> IO. That should still satisfy the initial problem, and it won't flag
> iowait on mariadb like cases where they have someone else just
> perpetually waiting on requests.
>
> As a side effect, this also removes the flush that wasn't at all
> necessary on io_uring.
>
> If folks are able to test the below, that would be appreciated.
>
>
> diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
> index 89a611541bc4..f4591b912ea8 100644
> --- a/io_uring/io_uring.c
> +++ b/io_uring/io_uring.c
> @@ -2493,11 +2493,20 @@ int io_run_task_work_sig(struct io_ring_ctx *ctx)
> return 0;
> }
>
> +static bool current_pending_io(void)
> +{
> + struct io_uring_task *tctx = current->io_uring;
> +
> + if (!tctx)
> + return false;
> + return percpu_counter_read_positive(&tctx->inflight);
> +}
> +
> /* when returns >0, the caller should retry */
> static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> struct io_wait_queue *iowq)
> {
> - int token, ret;
> + int io_wait, ret;
>
> if (unlikely(READ_ONCE(ctx->check_cq)))
> return 1;
> @@ -2511,17 +2520,19 @@ static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> return 0;
>
> /*
> - * Use io_schedule_prepare/finish, so cpufreq can take into account
> - * that the task is waiting for IO - turns out to be important for low
> - * QD IO.
> + * Mark us as being in io_wait if we have pending requests, so cpufreq
> + * can take into account that the task is waiting for IO - turns out
> + * to be important for low QD IO.
> */
> - token = io_schedule_prepare();
> + io_wait = current->in_iowait;
> + if (current_pending_io())
> + current->in_iowait = 1;
> ret = 0;
> if (iowq->timeout == KTIME_MAX)
> schedule();
> else if (!schedule_hrtimeout(&iowq->timeout, HRTIMER_MODE_ABS))
> ret = -ETIME;
> - io_schedule_finish(token);
> + current->in_iowait = io_wait;
> return ret;
> }
>
>
Tested on top of 6.4.6 stable - and working great - iowait stats now
look like they always did.
thank you
gene