This is the start of the stable review cycle for the 5.15.140 release.
There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.15.140-rc1
Saravana Kannan <[email protected]>
driver core: Release all resources during unbind before updating device links
Vicki Pfau <[email protected]>
Input: xpad - add VID for Turtle Beach controllers
Steven Rostedt (Google) <[email protected]>
tracing: Have trace_event_file have ref counters
Michael Ellerman <[email protected]>
powerpc/powernv: Fix fortify source warnings in opal-prd.c
Jens Axboe <[email protected]>
io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
Lewis Huang <[email protected]>
drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox
Christian König <[email protected]>
drm/amdgpu: fix error handling in amdgpu_bo_list_get()
Alex Deucher <[email protected]>
drm/amdgpu: don't use ATRM for external devices
Kunwu Chan <[email protected]>
drm/i915: Fix potential spectre vulnerability
Bas Nieuwenhuizen <[email protected]>
drm/amd/pm: Handle non-terminated overdrive commands.
Jan Kara <[email protected]>
ext4: properly sync file size update after O_SYNC direct IO
Kemeng Shi <[email protected]>
ext4: add missed brelse in update_backups
Kemeng Shi <[email protected]>
ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
Zhang Yi <[email protected]>
ext4: correct the start block of counting reserved clusters
Kemeng Shi <[email protected]>
ext4: correct return value of ext4_convert_meta_bg
Kemeng Shi <[email protected]>
ext4: correct offset of gdb backup in non meta_bg group to update_backups
Max Kellermann <[email protected]>
ext4: apply umask if ACL support is disabled
Heiner Kallweit <[email protected]>
Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E"
Bryan O'Donoghue <[email protected]>
media: qcom: camss: Fix missing vfe_lite clocks check
Bryan O'Donoghue <[email protected]>
media: qcom: camss: Fix VFE-17x vfe_disable_output()
Bryan O'Donoghue <[email protected]>
media: qcom: camss: Fix vfe_get() error jump
Bryan O'Donoghue <[email protected]>
media: qcom: camss: Fix pm_domain_on sequence in probe
Victor Shih <[email protected]>
mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER
ChunHao Lin <[email protected]>
r8169: fix network lost after resume on DASH systems
Roman Gushchin <[email protected]>
mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors
Victor Shih <[email protected]>
mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2
Nam Cao <[email protected]>
riscv: kprobes: allow writing to x0
Mahmoud Adam <[email protected]>
nfsd: fix file memleak on client_opens_release
Sakari Ailus <[email protected]>
media: ccs: Correctly initialise try compose rectangle
Vikash Garodia <[email protected]>
media: venus: hfi: add checks to handle capabilities from firmware
Vikash Garodia <[email protected]>
media: venus: hfi: fix the check to handle session buffer requirement
Vikash Garodia <[email protected]>
media: venus: hfi_parser: Add check to keep the number of codecs within range
Sean Young <[email protected]>
media: sharp: fix sharp encoding
Sean Young <[email protected]>
media: lirc: drop trailing space from scancode transmit
Su Hui <[email protected]>
f2fs: avoid format-overflow warning
Heiner Kallweit <[email protected]>
i2c: i801: fix potential race in i801_block_transaction_byte_by_byte
Klaus Kudielka <[email protected]>
net: phylink: initialize carrier state at creation
Alexander Sverdlin <[email protected]>
net: dsa: lan9303: consequently nested-lock physical MDIO
Andrew Lunn <[email protected]>
net: ethtool: Fix documentation of ethtool_sprintf()
Harald Freudenberger <[email protected]>
s390/ap: fix AP bus crash on early config change callback invocation
Tam Nguyen <[email protected]>
i2c: designware: Disable TX_EMPTY irq while waiting for block length byte
Darren Hart <[email protected]>
sbsa_gwdt: Calculate timeout with 64-bit math
Ondrej Mosnacek <[email protected]>
lsm: fix default return value for inode_getsecctx
Ondrej Mosnacek <[email protected]>
lsm: fix default return value for vm_enough_memory
Robert Marko <[email protected]>
Revert "i2c: pxa: move to generic GPIO recovery"
Johnathan Mantey <[email protected]>
Revert ncsi: Propagate carrier gain/loss events to the NCSI controller
Gaurav Batra <[email protected]>
powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device
Alexey Kardashevskiy <[email protected]>
powerpc/pseries/ddw: simplify enable_ddw()
Vignesh Viswanathan <[email protected]>
arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size
Krzysztof Kozlowski <[email protected]>
arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
Namjae Jeon <[email protected]>
ksmbd: fix slab out of bounds write in smb_inherit_dacl()
Guan Wentao <[email protected]>
Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
Masum Reza <[email protected]>
Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables
Larry Finger <[email protected]>
bluetooth: Add device 13d3:3571 to device tables
Larry Finger <[email protected]>
bluetooth: Add device 0bda:887b to device tables
Artem Lukyanov <[email protected]>
Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559
Christian Marangi <[email protected]>
cpufreq: stats: Fix buffer overflow detection in trans_stats()
Mark Brown <[email protected]>
regmap: Ensure range selector registers are updated after cache sync
Pavel Krasavin <[email protected]>
tty: serial: meson: fix hard LOCKUP on crtscts mode
Lad Prabhakar <[email protected]>
serial: meson: Use platform_get_irq() to get the interrupt
Chandradeep Dey <[email protected]>
ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
Kailang Yang <[email protected]>
ALSA: hda/realtek - Add Dell ALC295 to pin fall back table
Takashi Iwai <[email protected]>
ALSA: info: Fix potential deadlock at disconnection
Basavaraj Natikar <[email protected]>
xhci: Enable RPM on controllers that support low-power states
Helge Deller <[email protected]>
parisc/power: Fix power soft-off when running on qemu
Helge Deller <[email protected]>
parisc/pgtable: Do not drop upper 5 address bits of physical address
Helge Deller <[email protected]>
parisc: Prevent booting 64-bit kernels on PA1.x machines
Frank Li <[email protected]>
i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen
Frank Li <[email protected]>
i3c: master: svc: fix check wrong status register in irq handler
Frank Li <[email protected]>
i3c: master: svc: fix ibi may not return mandatory data byte
Frank Li <[email protected]>
i3c: master: svc: fix wrong data return when IBI happen during start frame
Frank Li <[email protected]>
i3c: master: svc: fix race condition in ibi work thread
Joshua Yeong <[email protected]>
i3c: master: cdns: Fix reading status register
Linus Walleij <[email protected]>
mtd: cfi_cmdset_0001: Byte swap OTP info
Zi Yan <[email protected]>
mm/memory_hotplug: use pfn math in place of direct struct page manipulation
Zi Yan <[email protected]>
mm/cma: use nth_page() in place of direct struct page manipulation
Heiko Carstens <[email protected]>
s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir
Heiko Carstens <[email protected]>
s390/cmma: fix detection of DAT pages
Heiko Carstens <[email protected]>
s390/cmma: fix initial kernel address space page table walk
Alain Volmat <[email protected]>
dmaengine: stm32-mdma: correct desc prep when channel running
Sanjuán García, Jorge <[email protected]>
mcb: fix error handling for different scenarios when parsing
Steven Rostedt (Google) <[email protected]>
tracing: Have the user copy of synthetic event address use correct context
Benjamin Bara <[email protected]>
i2c: core: Run atomic i2c xfer when !preemptible
Benjamin Bara <[email protected]>
kernel/reboot: emergency_restart: Set correct system_state
Eric Biggers <[email protected]>
quota: explicitly forbid quota files from being encrypted
Zhihao Cheng <[email protected]>
jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev
Krzysztof Kozlowski <[email protected]>
ASoC: codecs: wsa-macro: fix uninitialized stack variables with name prefix
Ilpo Järvinen <[email protected]>
selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests
Ilpo Järvinen <[email protected]>
selftests/resctrl: Remove duplicate feature check from CMT test
Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: split async and sync catchall in two functions
Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: remove catchall element in GC sync path
Uwe Kleine-König <[email protected]>
PCI: keystone: Don't discard .probe() callback
Uwe Kleine-König <[email protected]>
PCI: keystone: Don't discard .remove() callback
Jarkko Sakkinen <[email protected]>
KEYS: trusted: Rollback init_trusted() consistently
Herve Codina <[email protected]>
genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware
Rong Chen <[email protected]>
mmc: meson-gx: Remove setting of CMD_CFG_ERROR
Johan Hovold <[email protected]>
wifi: ath11k: fix htt pktlog locking
Johan Hovold <[email protected]>
wifi: ath11k: fix dfs radar event locking
Johan Hovold <[email protected]>
wifi: ath11k: fix temperature event locking
Mimi Zohar <[email protected]>
ima: detect changes to the backing overlay file
Amir Goldstein <[email protected]>
ima: annotate iint mutex to avoid lockdep false positive warnings
Vasily Khoruzhick <[email protected]>
ACPI: FPDT: properly handle invalid FPDT subtables
Kathiravan Thirumoorthy <[email protected]>
firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit
Josef Bacik <[email protected]>
btrfs: don't arbitrarily slow down delalloc if we're committing
Catalin Marinas <[email protected]>
rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects
Brian Geffon <[email protected]>
PM: hibernate: Clean up sync_read handling in snapshot_write_next()
Brian Geffon <[email protected]>
PM: hibernate: Use __get_safe_page() rather than touching the list
Vignesh Viswanathan <[email protected]>
arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM
Joel Fernandes (Google) <[email protected]>
rcu/tree: Defer setting of jiffies during stall reset
Chuck Lever <[email protected]>
svcrdma: Drop connection after an RDMA Read error
Ajay Singh <[email protected]>
wifi: wilc1000: use vmm_table as array in wilc struct
Uwe Kleine-König <[email protected]>
PCI: exynos: Don't discard .remove() callback
Heiner Kallweit <[email protected]>
PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common()
Nitin Yadav <[email protected]>
mmc: sdhci_am654: fix start loop index for TAP value parsing
Dan Carpenter <[email protected]>
mmc: vub300: fix an error code
Kathiravan Thirumoorthy <[email protected]>
clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks
Kathiravan Thirumoorthy <[email protected]>
clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks
Gustavo A. R. Silva <[email protected]>
clk: socfpga: Fix undefined behavior bug in struct stratix10_clock_data
Helge Deller <[email protected]>
parisc/power: Add power soft-off when running on qemu
Helge Deller <[email protected]>
parisc/pdc: Add width field to struct pdc_model
Nathan Chancellor <[email protected]>
arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
Werner Sembach <[email protected]>
ACPI: resource: Do IRQ override on TongFang GMxXGxx
Krister Johansen <[email protected]>
watchdog: move softlockup_panic back to early_param
Lukas Wunner <[email protected]>
PCI/sysfs: Protect driver's D3cold preference from user space
David Woodhouse <[email protected]>
hvc/xen: fix event channel handling for secondary consoles
David Woodhouse <[email protected]>
hvc/xen: fix error path in xen_hvc_init() to always register frontend driver
David Woodhouse <[email protected]>
hvc/xen: fix console unplug
Muhammad Usama Anjum <[email protected]>
tty/sysrq: replace smp_processor_id() with get_cpu()
Paul Moore <[email protected]>
audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare()
Paul Moore <[email protected]>
audit: don't take task_lock() in audit_exe_compare() code path
Maciej S. Szmigiero <[email protected]>
KVM: x86: Ignore MSR_AMD64_TW_CFG access
Nicolas Saenz Julienne <[email protected]>
KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space
Pu Wen <[email protected]>
x86/cpu/hygon: Fix the CPU topology evaluation for real
Roxana Nicolescu <[email protected]>
crypto: x86/sha - load modules based on CPU features
Quinn Tran <[email protected]>
scsi: qla2xxx: Fix system crash due to bad pointer access
Chandrakanth patil <[email protected]>
scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers
Ranjan Kumar <[email protected]>
scsi: mpt3sas: Fix loop logic
Shung-Hsi Yu <[email protected]>
bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END
Hao Sun <[email protected]>
bpf: Fix check_stack_write_fixed_off() to correctly spill imm
Kees Cook <[email protected]>
randstruct: Fix gcc-plugin performance mode to stay in group
Nicholas Piggin <[email protected]>
powerpc/perf: Fix disabling BHRB and instruction sampling
Vikash Garodia <[email protected]>
media: venus: hfi: add checks to perform sanity on queue pointers
Harshit Mogalapalli <[email protected]>
i915/perf: Fix NULL deref bugs with drm_dbg() calls
Li Zetao <[email protected]>
xfs: Fix unreferenced object reported by kmemleak in xfs_sysfs_init()
Zeng Heng <[email protected]>
xfs: fix memory leak in xfs_errortag_init
Guo Xuenan <[email protected]>
xfs: fix exception caused by unexpected illegal bestcount in leaf dir
Darrick J. Wong <[email protected]>
xfs: avoid a UAF when log intent item recovery fails
hexiaole <[email protected]>
xfs: fix inode reservation space for removing transaction
Chandan Babu R <[email protected]>
xfs: Fix false ENOSPC when performing direct write on a delalloc extent in cow fork
Gao Xiang <[email protected]>
xfs: add missing cmap->br_state = XFS_EXT_NORM update
Darrick J. Wong <[email protected]>
xfs: fix intermittent hang during quotacheck
Darrick J. Wong <[email protected]>
xfs: don't leak memory when attr fork loading fails
Darrick J. Wong <[email protected]>
xfs: fix use-after-free in xattr node block inactivation
Zhang Yi <[email protected]>
xfs: flush inode gc workqueue before clearing agi bucket
Darrick J. Wong <[email protected]>
xfs: prevent a UAF when log IO errors race with unmount
Kaixu Xia <[email protected]>
xfs: use invalidate_lock to check the state of mmap_lock
Darrick J. Wong <[email protected]>
xfs: convert buf_cancel_table allocation to kmalloc_array
Darrick J. Wong <[email protected]>
xfs: don't leak xfs_buf_cancel structures when recovery fails
Darrick J. Wong <[email protected]>
xfs: refactor buffer cancellation table allocation
Ekaterina Esina <[email protected]>
cifs: fix check of rc in function generate_smb3signingkey
Anastasia Belova <[email protected]>
cifs: spnego: add ';' in HOST_KEY_LEN
Chen Yu <[email protected]>
tools/power/turbostat: Enable the C-state Pre-wake printing
Zhang Rui <[email protected]>
tools/power/turbostat: Fix a knl bug
Vlad Buslov <[email protected]>
macvlan: Don't propagate promisc change to lower dev in passthru
Rahul Rameshbabu <[email protected]>
net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors
Saeed Mahameed <[email protected]>
net/mlx5e: Reduce the size of icosq_str
Vlad Buslov <[email protected]>
net/mlx5e: Fix pedit endianness
Paul Blakey <[email protected]>
net/mlx5e: Refactor mod header management API
Roi Dayan <[email protected]>
net/mlx5e: Move mod hdr allocation to a single place
Roi Dayan <[email protected]>
net/mlx5e: Remove incorrect addition of action fwd flag
Gavin Li <[email protected]>
net/mlx5e: fix double free of encap_header in update funcs
Dust Li <[email protected]>
net/mlx5e: fix double free of encap_header
Baruch Siach <[email protected]>
net: stmmac: fix rx budget limit check
Dan Carpenter <[email protected]>
netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()
Florian Westphal <[email protected]>
netfilter: nf_tables: add and use BE register load-store helpers
Florian Westphal <[email protected]>
netfilter: nf_tables: use the correct get/put helpers
Linkui Xiao <[email protected]>
netfilter: nf_conntrack_bridge: initialize err to 0
Eric Dumazet <[email protected]>
af_unix: fix use-after-free in unix_stream_read_actor()
Linus Walleij <[email protected]>
net: ethernet: cortina: Fix MTU max setting
Linus Walleij <[email protected]>
net: ethernet: cortina: Handle large frames
Linus Walleij <[email protected]>
net: ethernet: cortina: Fix max RX frame define
Eric Dumazet <[email protected]>
bonding: stop the device in bond_setup_by_slave()
Eric Dumazet <[email protected]>
ptp: annotate data-race around q->head and q->tail
Juergen Gross <[email protected]>
xen/events: fix delayed eoi list handling
Willem de Bruijn <[email protected]>
ppp: limit MRU to 64K
Shigeru Yoshida <[email protected]>
tipc: Fix kernel-infoleak due to uninitialized TLV value
Jijie Shao <[email protected]>
net: hns3: fix VF wrong speed and duplex issue
Jijie Shao <[email protected]>
net: hns3: fix VF reset fail issue
Yonglong Liu <[email protected]>
net: hns3: fix variable may not initialized problem in hns3_init_mac_addr()
Jian Shen <[email protected]>
net: hns3: fix incorrect capability bit display for copper port
Yonglong Liu <[email protected]>
net: hns3: add barrier in vf mailbox reply process
Jie Wang <[email protected]>
net: hns3: add byte order conversion for PF to VF mailbox message
Jian Shen <[email protected]>
net: hns3: refine the definition for struct hclge_pf_to_vf_msg
Jian Shen <[email protected]>
net: hns3: fix add VLAN fail issue
Shigeru Yoshida <[email protected]>
tty: Fix uninit-value access in ppp_sync_receive()
Eric Dumazet <[email protected]>
ipvlan: add ipvlan_route_v6_outbound() helper
Stanislav Fomichev <[email protected]>
net: set SOCK_RCU_FREE before inserting socket into hashtable
Martin KaFai Lau <[email protected]>
net: inet: Retire port only listening_hash
Martin KaFai Lau <[email protected]>
net: inet: Open code inet_hash2 and inet_unhash2
Martin KaFai Lau <[email protected]>
net: inet: Remove count from inet_listen_hashbucket
Florian Westphal <[email protected]>
mptcp: listen diag dump support
Florian Westphal <[email protected]>
mptcp: diag: switch to context structure
Andreas Gruenbacher <[email protected]>
gfs2: Silence "suspicious RCU usage in gfs2_permission" warning
felix <[email protected]>
SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
Olga Kornievskaia <[email protected]>
NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO
Dan Carpenter <[email protected]>
SUNRPC: Add an IS_ERR() check back to where it was
Marc Zyngier <[email protected]>
gpio: Add helpers to ease the transition towards immutable irq_chip
Marc Zyngier <[email protected]>
gpio: Expose the gpiochip_irq_re[ql]res helpers
Marc Zyngier <[email protected]>
gpio: Don't fiddle with irqchips marked as immutable
Trond Myklebust <[email protected]>
SUNRPC: ECONNRESET might require a rebind
Marek Szyprowski <[email protected]>
media: cec: meson: always include meson sub-directory in Makefile
Pratyush Yadav <[email protected]>
media: cadence: csi2rx: Unregister v4l2 async notifier
Finn Thain <[email protected]>
sched/core: Optimize in_task() and in_interrupt() a bit
Steven Rostedt (VMware) <[email protected]>
tracing/perf: Add interrupt_context_level() helper
Steven Rostedt (VMware) <[email protected]>
tracing: Reuse logic from perf's get_recursion_context()
Miri Korenblit <[email protected]>
wifi: iwlwifi: Use FW rate for non-data frames
Dan Carpenter <[email protected]>
pwm: Fix double shift bug
Vitaly Prosyak <[email protected]>
drm/amdgpu: fix software pci_unplug on some chips
Zongmin Zhou <[email protected]>
drm/qxl: prevent memory leak
Tony Lindgren <[email protected]>
ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
Philipp Stanner <[email protected]>
i2c: dev: copy userspace array safely
Douglas Anderson <[email protected]>
kgdb: Flush console before entering kgdb on panic
Wayne Lin <[email protected]>
drm/amd/display: Avoid NULL dereference of timing generator
Takashi Iwai <[email protected]>
media: imon: fix access to invalid resource for the second interface
Sakari Ailus <[email protected]>
media: ccs: Fix driver quirk struct documentation
Ilpo Järvinen <[email protected]>
media: cobalt: Use FIELD_GET() to extract Link Width
Al Viro <[email protected]>
gfs2: fix an oops in gfs2_permission
Bob Peterson <[email protected]>
gfs2: ignore negated quota changes
Hans Verkuil <[email protected]>
media: vivid: avoid integer overflow
Rajeshwar R Shinde <[email protected]>
media: gspca: cpia1: shift-out-of-bounds in set_flicker
Billy Tsai <[email protected]>
i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data.
zhenwei pi <[email protected]>
virtio-blk: fix implicit overflow on virtio_max_dma_size
Axel Lin <[email protected]>
i2c: sun6i-p2wi: Prevent potential division by zero
Jarkko Nikula <[email protected]>
i3c: mipi-i3c-hci: Fix out of bounds access in hci_dma_irq_handler
Dominique Martinet <[email protected]>
9p: v9fs_listxattr: fix %s null argument warning
Marco Elver <[email protected]>
9p/trans_fd: Annotate data-racy writes to file::f_flags
Hardik Gajjar <[email protected]>
usb: gadget: f_ncm: Always set current gadget in ncm_bind()
Yi Yang <[email protected]>
tty: vcc: Add check for kstrdup() in vcc_probe()
Yuezhang Mo <[email protected]>
exfat: support handle zero-size directory
Jiri Kosina <[email protected]>
HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W
Bjorn Helgaas <[email protected]>
PCI: Use FIELD_GET() in Sapphire RX 5600 XT Pulse quirk
Yoshihiro Shimoda <[email protected]>
misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
Bartosz Pawlowski <[email protected]>
PCI: Disable ATS for specific Intel IPU E2000 devices
Bartosz Pawlowski <[email protected]>
PCI: Extract ATS disabling to a helper function
Ilpo Järvinen <[email protected]>
PCI: Use FIELD_GET() to extract Link Width
Wenchao Hao <[email protected]>
scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup()
Ilpo Järvinen <[email protected]>
atm: iphase: Do PCI error checks on own line
Ilpo Järvinen <[email protected]>
PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields
Cezary Rojewski <[email protected]>
ALSA: hda: Fix possible null-ptr-deref when assigning a stream
Vincent Whitchurch <[email protected]>
ARM: 9320/1: fix stack depot IRQ stack filter
Mikhail Khvainitski <[email protected]>
HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround
Manas Ghandat <[email protected]>
jfs: fix array-index-out-of-bounds in diAlloc
Manas Ghandat <[email protected]>
jfs: fix array-index-out-of-bounds in dbFindLeaf
Juntong Deng <[email protected]>
fs/jfs: Add validity check for db_maxag and db_agpref
Juntong Deng <[email protected]>
fs/jfs: Add check for negative db_l2nbperpage
Tyrel Datwyler <[email protected]>
scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool
Yihang Li <[email protected]>
scsi: hisi_sas: Set debugfs_dir pointer to NULL after removing debugfs
Ilpo Järvinen <[email protected]>
RDMA/hfi1: Use FIELD_GET() to extract Link Width
Lu Jialin <[email protected]>
crypto: pcrypt - Fix hungtask for PADATA_RESET
Richard Fitzgerald <[email protected]>
ASoC: soc-card: Add storage for PCI SSID
zhujun2 <[email protected]>
selftests/efivarfs: create-read: fix a resource leak
Laurentiu Tudor <[email protected]>
arm64: dts: ls208xa: use a pseudo-bus to constrain usb dma size
Qu Huang <[email protected]>
drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL
Jesse Zhang <[email protected]>
drm/amdkfd: Fix shift out-of-bounds issue
Ondrej Jirman <[email protected]>
drm/panel: st7703: Pick different reset sequence
Ma Ke <[email protected]>
drm/amdgpu/vkms: fix a possible null pointer dereference
Ma Ke <[email protected]>
drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference
Ma Ke <[email protected]>
drm/panel: fix a possible null pointer dereference
Stanley.Yang <[email protected]>
drm/amdgpu: Fix potential null pointer derefernce
Mario Limonciello <[email protected]>
drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga
Mario Limonciello <[email protected]>
drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7
Jani Nikula <[email protected]>
drm/msm/dp: skip validity check for DP CTS EDID checksum
Philipp Stanner <[email protected]>
drm: vmwgfx_surface.c: copy user-array safely
Philipp Stanner <[email protected]>
kernel: watch_queue: copy user-array safely
Philipp Stanner <[email protected]>
kernel: kexec: copy user-array safely
Philipp Stanner <[email protected]>
string.h: add array-wrappers for (v)memdup_user()
Wenjing Liu <[email protected]>
drm/amd/display: use full update for clip size increase of large plane source
Xiaogang Chen <[email protected]>
drm/amdkfd: Fix a race condition of vram buffer unref in svm code
baozhu.liu <[email protected]>
drm/komeda: drop all currently held locks if deadlock happens
Olli Asikainen <[email protected]>
platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e
ZhengHan Wang <[email protected]>
Bluetooth: Fix double free in hci_conn_cleanup
youwan Wang <[email protected]>
Bluetooth: btusb: Add date->evt_skb is NULL check
Douglas Anderson <[email protected]>
wifi: ath10k: Don't touch the CE interrupt registers after power up
Eric Dumazet <[email protected]>
net: annotate data-races around sk->sk_dst_pending_confirm
Eric Dumazet <[email protected]>
net: annotate data-races around sk->sk_tx_queue_mapping
Dmitry Antipov <[email protected]>
wifi: ath10k: fix clang-specific fortify warning
Dmitry Antipov <[email protected]>
wifi: ath9k: fix clang-specific fortify warnings
Kumar Kartikeya Dwivedi <[email protected]>
bpf: Detect IP == ksym.end as part of BPF program
Sieng-Piaw Liew <[email protected]>
atl1c: Work around the DMA RX overflow issue
Ping-Ke Shih <[email protected]>
wifi: mac80211: don't return unset power in ieee80211_get_tx_power()
Dmitry Antipov <[email protected]>
wifi: mac80211_hwsim: fix clang-specific fortify warning
Mike Rapoport (IBM) <[email protected]>
x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size
Frederic Weisbecker <[email protected]>
workqueue: Provide one lock class key per work_on_cpu() callsite
Ronald Wahl <[email protected]>
clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
Jacky Bai <[email protected]>
clocksource/drivers/timer-imx-gpt: Fix potential memory leak
Shuai Xue <[email protected]>
perf/core: Bail out early if the request AUX area is out of bound
John Stultz <[email protected]>
locking/ww_mutex/test: Fix potential workqueue corruption
-------------
Diffstat:
Makefile | 4 +-
arch/arm/include/asm/exception.h | 4 -
arch/arm64/Kconfig | 2 +
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 46 ++--
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 15 +-
arch/parisc/include/uapi/asm/pdc.h | 1 +
arch/parisc/kernel/entry.S | 7 +-
arch/parisc/kernel/head.S | 5 +-
arch/powerpc/perf/core-book3s.c | 5 +-
arch/powerpc/platforms/powernv/opal-prd.c | 17 +-
arch/powerpc/platforms/pseries/iommu.c | 19 +-
arch/riscv/kernel/probes/simulate-insn.c | 2 +-
arch/s390/mm/page-states.c | 25 ++-
arch/x86/crypto/sha1_ssse3_glue.c | 12 ++
arch/x86/crypto/sha256_ssse3_glue.c | 12 ++
arch/x86/include/asm/msr-index.h | 1 +
arch/x86/include/asm/numa.h | 7 -
arch/x86/kernel/cpu/hygon.c | 8 +-
arch/x86/kvm/hyperv.c | 10 +-
arch/x86/kvm/x86.c | 2 +
arch/x86/mm/numa.c | 7 -
crypto/pcrypt.c | 4 +
drivers/acpi/acpi_fpdt.c | 45 +++-
drivers/acpi/resource.c | 12 ++
drivers/atm/iphase.c | 20 +-
drivers/base/dd.c | 4 +-
drivers/base/regmap/regcache.c | 30 +++
drivers/block/virtio_blk.c | 4 +-
drivers/bluetooth/btusb.c | 15 ++
drivers/clk/qcom/gcc-ipq6018.c | 6 -
drivers/clk/qcom/gcc-ipq8074.c | 6 -
drivers/clk/socfpga/stratix10-clk.h | 4 +-
drivers/clocksource/timer-atmel-tcb.c | 1 +
drivers/clocksource/timer-imx-gpt.c | 18 +-
drivers/cpufreq/cpufreq_stats.c | 14 +-
drivers/dma/stm32-mdma.c | 4 +-
drivers/firmware/qcom_scm.c | 7 +
drivers/gpio/gpiolib.c | 13 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 9 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 2 +
drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 13 +-
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 +-
drivers/gpu/drm/amd/display/dc/core/dc.c | 12 +-
drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 4 +-
drivers/gpu/drm/amd/display/dc/dc.h | 5 +
drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 22 +-
drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 32 ++-
drivers/gpu/drm/amd/include/pptable.h | 4 +-
drivers/gpu/drm/amd/pm/amdgpu_pm.c | 8 +-
.../gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h | 16 +-
.../drm/arm/display/komeda/komeda_pipeline_state.c | 9 +-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 1 +
drivers/gpu/drm/i915/i915_perf.c | 15 +-
drivers/gpu/drm/msm/dp/dp_panel.c | 21 +-
drivers/gpu/drm/panel/panel-arm-versatile.c | 2 +
drivers/gpu/drm/panel/panel-sitronix-st7703.c | 25 +--
drivers/gpu/drm/panel/panel-tpo-tpg110.c | 2 +
drivers/gpu/drm/qxl/qxl_display.c | 3 +
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 4 +-
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-lenovo.c | 68 ++++--
drivers/hid/hid-quirks.c | 1 +
drivers/i2c/busses/i2c-designware-master.c | 19 +-
drivers/i2c/busses/i2c-i801.c | 19 +-
drivers/i2c/busses/i2c-pxa.c | 76 ++++++-
drivers/i2c/busses/i2c-sun6i-p2wi.c | 5 +
drivers/i2c/i2c-core.h | 2 +-
drivers/i2c/i2c-dev.c | 4 +-
drivers/i3c/master/i3c-master-cdns.c | 6 +-
drivers/i3c/master/mipi-i3c-hci/dat_v1.c | 29 ++-
drivers/i3c/master/mipi-i3c-hci/dma.c | 2 +-
drivers/i3c/master/svc-i3c-master.c | 45 +++-
drivers/infiniband/hw/hfi1/pcie.c | 9 +-
drivers/input/joystick/xpad.c | 1 +
drivers/mcb/mcb-core.c | 1 +
drivers/mcb/mcb-parse.c | 2 +-
drivers/media/cec/platform/Makefile | 2 +-
drivers/media/i2c/ccs/ccs-core.c | 2 +-
drivers/media/i2c/ccs/ccs-quirk.h | 4 +-
drivers/media/pci/cobalt/cobalt-driver.c | 11 +-
drivers/media/platform/cadence/cdns-csi2rx.c | 7 +-
drivers/media/platform/qcom/camss/camss-vfe-170.c | 22 +-
drivers/media/platform/qcom/camss/camss-vfe.c | 5 +-
drivers/media/platform/qcom/camss/camss.c | 12 +-
drivers/media/platform/qcom/venus/hfi_msgs.c | 2 +-
drivers/media/platform/qcom/venus/hfi_parser.c | 15 ++
drivers/media/platform/qcom/venus/hfi_venus.c | 10 +
drivers/media/rc/imon.c | 6 +
drivers/media/rc/ir-sharp-decoder.c | 8 +-
drivers/media/rc/lirc_dev.c | 6 +-
drivers/media/test-drivers/vivid/vivid-rds-gen.c | 2 +-
drivers/media/usb/gspca/cpia1.c | 3 +
drivers/misc/pci_endpoint_test.c | 4 +
drivers/mmc/host/meson-gx-mmc.c | 1 -
drivers/mmc/host/sdhci-pci-gli.c | 22 ++
drivers/mmc/host/sdhci_am654.c | 2 +-
drivers/mmc/host/vub300.c | 1 +
drivers/mtd/chips/cfi_cmdset_0001.c | 20 +-
drivers/net/bonding/bond_main.c | 6 +
drivers/net/dsa/lan9303_mdio.c | 4 +-
drivers/net/ethernet/atheros/atl1c/atl1c.h | 3 -
drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 67 ++----
drivers/net/ethernet/cortina/gemini.c | 45 ++--
drivers/net/ethernet/cortina/gemini.h | 4 +-
drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 47 ++++-
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 2 +-
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 33 ++-
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 62 +++---
.../ethernet/hisilicon/hns3/hns3pf/hclge_trace.h | 2 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 29 ++-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 3 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 87 +++++---
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_trace.h | 2 +-
.../net/ethernet/mellanox/mlx5/core/en/mod_hdr.c | 47 +++++
.../net/ethernet/mellanox/mlx5/core/en/mod_hdr.h | 13 ++
.../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 4 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/sample.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 25 +--
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 30 ++-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 234 +++++++++------------
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 5 -
.../ethernet/mellanox/mlx5/core/esw/indir_table.c | 5 +-
drivers/net/ethernet/realtek/r8169_main.c | 10 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
drivers/net/ipvlan/ipvlan_core.c | 41 ++--
drivers/net/macvlan.c | 2 +-
drivers/net/phy/phylink.c | 1 +
drivers/net/ppp/ppp_synctty.c | 6 +-
drivers/net/wireless/ath/ath10k/debug.c | 2 +-
drivers/net/wireless/ath/ath10k/snoc.c | 18 +-
drivers/net/wireless/ath/ath11k/dp_rx.c | 8 +-
drivers/net/wireless/ath/ath11k/wmi.c | 12 +-
drivers/net/wireless/ath/ath9k/debug.c | 2 +-
drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 2 +-
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +-
drivers/net/wireless/mac80211_hwsim.c | 2 +-
drivers/net/wireless/microchip/wilc1000/wlan.c | 2 +-
drivers/parisc/power.c | 16 +-
drivers/pci/controller/dwc/pci-exynos.c | 4 +-
drivers/pci/controller/dwc/pci-keystone.c | 8 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 9 +-
drivers/pci/pci-acpi.c | 2 +-
drivers/pci/pci-sysfs.c | 10 +-
drivers/pci/pci.c | 13 +-
drivers/pci/pcie/aspm.c | 2 +
drivers/pci/quirks.c | 35 ++-
drivers/platform/x86/thinkpad_acpi.c | 1 +
drivers/ptp/ptp_chardev.c | 3 +-
drivers/ptp/ptp_clock.c | 5 +-
drivers/ptp/ptp_private.h | 8 +-
drivers/ptp/ptp_sysfs.c | 3 +-
drivers/s390/crypto/ap_bus.c | 4 +
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 13 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 124 ++++++++++-
drivers/scsi/libfc/fc_lport.c | 6 +
drivers/scsi/megaraid/megaraid_sas_base.c | 4 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +-
drivers/scsi/qla2xxx/qla_os.c | 12 +-
drivers/tty/hvc/hvc_xen.c | 39 +++-
drivers/tty/serial/meson_uart.c | 25 ++-
drivers/tty/sysrq.c | 3 +-
drivers/tty/vcc.c | 16 +-
drivers/usb/gadget/function/f_ncm.c | 27 +--
drivers/usb/host/xhci-pci.c | 4 +-
drivers/watchdog/sbsa_gwdt.c | 4 +-
drivers/xen/events/events_base.c | 4 +-
fs/9p/xattr.c | 5 +-
fs/btrfs/delalloc-space.c | 3 -
fs/cifs/cifs_spnego.c | 4 +-
fs/cifs/smb2transport.c | 5 +-
fs/exfat/namei.c | 29 ++-
fs/ext4/acl.h | 5 +
fs/ext4/extents_status.c | 4 +-
fs/ext4/file.c | 153 ++++++--------
fs/ext4/resize.c | 23 +-
fs/f2fs/compress.c | 2 +-
fs/gfs2/inode.c | 14 +-
fs/gfs2/quota.c | 11 +
fs/gfs2/super.c | 2 +-
fs/jbd2/recovery.c | 8 +
fs/jfs/jfs_dmap.c | 23 +-
fs/jfs/jfs_imap.c | 5 +-
fs/ksmbd/smbacl.c | 29 ++-
fs/nfs/nfs4proc.c | 5 +-
fs/nfsd/nfs4state.c | 2 +-
fs/overlayfs/super.c | 2 +-
fs/proc/proc_sysctl.c | 1 -
fs/quota/dquot.c | 14 ++
fs/xfs/libxfs/xfs_dir2_leaf.c | 9 +-
fs/xfs/libxfs/xfs_inode_fork.c | 1 +
fs/xfs/libxfs/xfs_log_recover.h | 14 +-
fs/xfs/libxfs/xfs_trans_resv.c | 2 +-
fs/xfs/xfs_attr_inactive.c | 8 +-
fs/xfs/xfs_buf_item_recover.c | 66 ++++++
fs/xfs/xfs_error.c | 9 +-
fs/xfs/xfs_inode.c | 4 +-
fs/xfs/xfs_log.c | 9 +-
fs/xfs/xfs_log_priv.h | 3 -
fs/xfs/xfs_log_recover.c | 44 ++--
fs/xfs/xfs_qm.c | 7 +
fs/xfs/xfs_reflink.c | 197 ++++++++++++++---
fs/xfs/xfs_sysfs.h | 7 +-
include/linux/ethtool.h | 4 +-
include/linux/gpio/driver.h | 16 ++
include/linux/irq.h | 2 +
include/linux/lsm_hook_defs.h | 4 +-
include/linux/preempt.h | 36 +++-
include/linux/pwm.h | 4 +-
include/linux/string.h | 40 ++++
include/linux/sunrpc/clnt.h | 1 +
include/linux/trace_events.h | 4 +
include/linux/trace_recursion.h | 8 +-
include/linux/workqueue.h | 46 +++-
include/net/inet_connection_sock.h | 2 -
include/net/inet_hashtables.h | 42 +---
include/net/netfilter/nf_tables.h | 19 +-
include/net/sock.h | 26 ++-
include/sound/soc-card.h | 37 ++++
include/sound/soc.h | 11 +
io_uring/io_uring.c | 18 +-
kernel/audit_watch.c | 9 +-
kernel/bpf/core.c | 6 +-
kernel/bpf/verifier.c | 9 +-
kernel/debug/debug_core.c | 3 +
kernel/events/internal.h | 7 +-
kernel/events/ring_buffer.c | 6 +
kernel/irq/debugfs.c | 1 +
kernel/irq/generic-chip.c | 25 ++-
kernel/kexec.c | 2 +-
kernel/locking/test-ww_mutex.c | 20 +-
kernel/padata.c | 2 +-
kernel/power/snapshot.c | 16 +-
kernel/rcu/tree.c | 21 ++
kernel/rcu/tree.h | 4 +
kernel/rcu/tree_stall.h | 20 +-
kernel/reboot.c | 1 +
kernel/trace/ring_buffer.c | 9 +-
kernel/trace/trace.c | 15 ++
kernel/trace/trace.h | 3 +
kernel/trace/trace_events.c | 43 ++--
kernel/trace/trace_events_filter.c | 3 +
kernel/trace/trace_events_synth.c | 2 +-
kernel/watch_queue.c | 2 +-
kernel/watchdog.c | 7 +
kernel/workqueue.c | 20 +-
mm/cma.c | 2 +-
mm/memcontrol.c | 3 +-
mm/memory_hotplug.c | 2 +-
net/9p/client.c | 2 +-
net/9p/trans_fd.c | 13 +-
net/bluetooth/hci_conn.c | 6 +-
net/bluetooth/hci_sysfs.c | 23 +-
net/bridge/netfilter/nf_conntrack_bridge.c | 2 +-
net/bridge/netfilter/nft_meta_bridge.c | 2 +-
net/core/sock.c | 2 +-
net/dccp/proto.c | 1 -
net/ipv4/inet_diag.c | 5 +-
net/ipv4/inet_hashtables.c | 121 +++--------
net/ipv4/tcp.c | 1 -
net/ipv4/tcp_ipv4.c | 21 +-
net/ipv4/tcp_output.c | 2 +-
net/ipv6/inet6_hashtables.c | 5 +-
net/mac80211/cfg.c | 4 +
net/mptcp/mptcp_diag.c | 105 ++++++++-
net/ncsi/ncsi-aen.c | 5 -
net/netfilter/nf_tables_api.c | 53 +++--
net/netfilter/nft_byteorder.c | 6 +-
net/netfilter/nft_meta.c | 2 +-
net/netfilter/nft_osf.c | 2 +-
net/netfilter/nft_socket.c | 8 +-
net/netfilter/nft_tproxy.c | 6 +-
net/netfilter/nft_xfrm.c | 8 +-
net/sunrpc/clnt.c | 7 +-
net/sunrpc/rpcb_clnt.c | 4 +
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 3 +-
net/tipc/netlink_compat.c | 1 +
net/unix/af_unix.c | 9 +-
scripts/gcc-plugins/randomize_layout_plugin.c | 11 +-
security/integrity/iint.c | 48 ++++-
security/integrity/ima/ima_api.c | 5 +
security/integrity/ima/ima_main.c | 16 +-
security/integrity/integrity.h | 2 +
security/keys/trusted-keys/trusted_core.c | 20 +-
sound/core/info.c | 21 +-
sound/hda/hdac_stream.c | 6 +-
sound/pci/hda/patch_realtek.c | 20 +-
sound/soc/codecs/lpass-wsa-macro.c | 3 +
sound/soc/ti/omap-mcbsp.c | 6 +-
tools/power/x86/turbostat/turbostat.c | 3 +-
tools/testing/selftests/efivarfs/create-read.c | 2 +
tools/testing/selftests/resctrl/cmt_test.c | 3 -
tools/testing/selftests/resctrl/mba_test.c | 2 +-
tools/testing/selftests/resctrl/mbm_test.c | 2 +-
298 files changed, 2886 insertions(+), 1445 deletions(-)
5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Darren Hart <[email protected]>
commit 5d6aa89bba5bd6af2580f872b57f438dab883738 upstream.
Commit abd3ac7902fb ("watchdog: sbsa: Support architecture version 1")
introduced new timer math for watchdog revision 1 with the 48 bit offset
register.
The gwdt->clk and timeout are u32, but the argument being calculated is
u64. Without a cast, the compiler performs u32 operations, truncating
intermediate steps, resulting in incorrect values.
A watchdog revision 1 implementation with a gwdt->clk of 1GHz and a
timeout of 600s writes 3647256576 to the one shot watchdog instead of
300000000000, resulting in the watchdog firing in 3.6s instead of 600s.
Force u64 math by casting the first argument (gwdt->clk) as a u64. Make
the order of operations explicit with parenthesis.
Fixes: abd3ac7902fb ("watchdog: sbsa: Support architecture version 1")
Reported-by: Vanshidhar Konda <[email protected]>
Signed-off-by: Darren Hart <[email protected]>
Cc: Wim Van Sebroeck <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: <[email protected]> # 5.14.x
Reviewed-by: Guenter Roeck <[email protected]>
Link: https://lore.kernel.org/r/7d1713c5ffab19b0f3de796d82df19e8b1f340de.1695286124.git.darren@os.amperecomputing.com
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/watchdog/sbsa_gwdt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/watchdog/sbsa_gwdt.c
+++ b/drivers/watchdog/sbsa_gwdt.c
@@ -153,14 +153,14 @@ static int sbsa_gwdt_set_timeout(struct
timeout = clamp_t(unsigned int, timeout, 1, wdd->max_hw_heartbeat_ms / 1000);
if (action)
- sbsa_gwdt_reg_write(gwdt->clk * timeout, gwdt);
+ sbsa_gwdt_reg_write((u64)gwdt->clk * timeout, gwdt);
else
/*
* In the single stage mode, The first signal (WS0) is ignored,
* the timeout is (WOR * 2), so the WOR should be configured
* to half value of timeout.
*/
- sbsa_gwdt_reg_write(gwdt->clk / 2 * timeout, gwdt);
+ sbsa_gwdt_reg_write(((u64)gwdt->clk / 2) * timeout, gwdt);
return 0;
}
Hello!
On 24/11/23 11:50 a. m., Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.15.140 release.
> There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
There are problems with PA-RISC:
-----8<-----
/builds/linux/drivers/parisc/power.c:201:34: warning: 'struct sys_off_data' declared inside parameter list will not be visible outside of this definition or declaration
201 | static int qemu_power_off(struct sys_off_data *data)
| ^~~~~~~~~~~~
/builds/linux/drivers/parisc/power.c: In function 'qemu_power_off':
/builds/linux/drivers/parisc/power.c:204:43: error: invalid use of undefined type 'struct sys_off_data'
204 | gsc_writel(0, (unsigned long) data->cb_data);
| ^~
/builds/linux/drivers/parisc/power.c: In function 'power_init':
/builds/linux/drivers/parisc/power.c:239:17: error: implicit declaration of function 'register_sys_off_handler'; did you mean 'register_restart_handler'? [-Werror=implicit-function-declaration]
239 | register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT,
| ^~~~~~~~~~~~~~~~~~~~~~~~
| register_restart_handler
/builds/linux/drivers/parisc/power.c:239:42: error: 'SYS_OFF_MODE_POWER_OFF' undeclared (first use in this function); did you mean 'SYSTEM_POWER_OFF'?
239 | register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT,
| ^~~~~~~~~~~~~~~~~~~~~~
| SYSTEM_POWER_OFF
/builds/linux/drivers/parisc/power.c:239:42: note: each undeclared identifier is reported only once for each function it appears in
/builds/linux/drivers/parisc/power.c:239:66: error: 'SYS_OFF_PRIO_DEFAULT' undeclared (first use in this function)
239 | register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT,
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [/builds/linux/scripts/Makefile.build:289: drivers/parisc/power.o] Error 1
----->8-----
That's allnoconfig with GCC 11; defconfig and tinyconfig fail just like that.
Bisection points to:
commit 065a7d0b92c0f1ef4160e2129d835eb6093cc675
Author: Helge Deller <[email protected]>
Date: Tue Oct 17 22:19:53 2023 +0200
parisc/power: Add power soft-off when running on qemu
commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream.
Then there's this failure on System/390:
-----8<-----
/builds/linux/arch/s390/mm/page-states.c: In function 'mark_kernel_pgd':
/builds/linux/arch/s390/mm/page-states.c:175:38: error: request for member 'val' in something not a structure or union
max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2;
^
In file included from /builds/linux/arch/s390/include/asm/page.h:186,
from /builds/linux/arch/s390/include/asm/thread_info.h:26,
from /builds/linux/include/linux/thread_info.h:60,
from /builds/linux/arch/s390/include/asm/preempt.h:6,
from /builds/linux/include/linux/preempt.h:78,
from /builds/linux/include/linux/spinlock.h:55,
from /builds/linux/include/linux/mmzone.h:8,
from /builds/linux/include/linux/gfp.h:6,
from /builds/linux/include/linux/mm.h:10,
from /builds/linux/arch/s390/mm/page-states.c:13:
/builds/linux/arch/s390/mm/page-states.c: In function 'cmma_init_nodat':
/builds/linux/arch/s390/mm/page-states.c:204:23: error: 'invalid_pg_dir' undeclared (first use in this function); did you mean 'is_valid_bugaddr'?
page = virt_to_page(&invalid_pg_dir);
^~~~~~~~~~~~~~
/builds/linux/include/asm-generic/memory_model.h:25:40: note: in definition of macro '__pfn_to_page'
#define __pfn_to_page(pfn) (vmemmap + (pfn))
^~~
/builds/linux/arch/s390/include/asm/page.h:176:29: note: in expansion of macro 'phys_to_pfn'
#define virt_to_pfn(kaddr) (phys_to_pfn(__pa(kaddr)))
^~~~~~~~~~~
/builds/linux/arch/s390/include/asm/page.h:176:41: note: in expansion of macro '__pa'
#define virt_to_pfn(kaddr) (phys_to_pfn(__pa(kaddr)))
^~~~
/builds/linux/arch/s390/include/asm/page.h:179:41: note: in expansion of macro 'virt_to_pfn'
#define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
^~~~~~~~~~~
/builds/linux/arch/s390/mm/page-states.c:204:9: note: in expansion of macro 'virt_to_page'
page = virt_to_page(&invalid_pg_dir);
^~~~~~~~~~~~
/builds/linux/arch/s390/mm/page-states.c:204:23: note: each undeclared identifier is reported only once for each function it appears in
page = virt_to_page(&invalid_pg_dir);
^~~~~~~~~~~~~~
/builds/linux/include/asm-generic/memory_model.h:25:40: note: in definition of macro '__pfn_to_page'
#define __pfn_to_page(pfn) (vmemmap + (pfn))
^~~
/builds/linux/arch/s390/include/asm/page.h:176:29: note: in expansion of macro 'phys_to_pfn'
#define virt_to_pfn(kaddr) (phys_to_pfn(__pa(kaddr)))
^~~~~~~~~~~
/builds/linux/arch/s390/include/asm/page.h:176:41: note: in expansion of macro '__pa'
#define virt_to_pfn(kaddr) (phys_to_pfn(__pa(kaddr)))
^~~~
/builds/linux/arch/s390/include/asm/page.h:179:41: note: in expansion of macro 'virt_to_pfn'
#define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
^~~~~~~~~~~
/builds/linux/arch/s390/mm/page-states.c:204:9: note: in expansion of macro 'virt_to_page'
page = virt_to_page(&invalid_pg_dir);
^~~~~~~~~~~~
make[3]: *** [/builds/linux/scripts/Makefile.build:289: arch/s390/mm/page-states.o] Error 1
----->8-----
Bisection in this case points to:
commit d247caa47712c9cc36f25ec744f3b5dba90c3334
Author: Heiko Carstens <[email protected]>
Date: Tue Oct 17 21:07:03 2023 +0200
s390/cmma: fix initial kernel address space page table walk
commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream.
Reproducers:
tuxmake --runtime podman --target-arch parisc --toolchain gcc-11 --kconfig allnoconfig
and
tuxmake --runtime podman --target-arch s390 --toolchain gcc-8 --kconfig allnoconfig
Reported-by: Linux Kernel Functional Testing <[email protected]>
Greetings!
Daniel Díaz
[email protected]
Hello!
On 24/11/23 11:50 a. m., Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.15.140 release.
> There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
We are noticing a regression with ltp-syscalls' preadv03:
-----8<-----
preadv03 preadv03
preadv03_64 preadv03_64
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
----->8-----
This is seen in the following environments:
* dragonboard-845c
* juno-64k_page_size
* qemu-arm64
* qemu-armv7
* qemu-i386
* qemu-x86_64
* x86_64-clang
and on the following RC's:
* v5.10.202-rc1
* v5.15.140-rc1
* v6.1.64-rc1
(Note that the list might not be complete, because some branches failed to execute completely due to build issues reported elsewhere.)
Bisection in linux-5.15.y pointed to:
commit db85c7fff122c14bc5755e47b51fbfafae660235
Author: Jan Kara <[email protected]>
Date: Fri Oct 13 14:13:50 2023 +0200
ext4: properly sync file size update after O_SYNC direct IO
commit 91562895f8030cb9a0470b1db49de79346a69f91 upstream.
Reverting that commit made the test pass.
Reported-by: Linux Kernel Functional Testing <[email protected]>
Greetings!
Daniel Díaz
[email protected]
On 11/25/23 00:21, Daniel Díaz wrote:
> On 24/11/23 11:50 a. m., Greg Kroah-Hartman wrote:
>> This is the start of the stable review cycle for the 5.15.140 release.
> ...
> There are problems with PA-RISC:
>
> -----8<-----
> /builds/linux/drivers/parisc/power.c:201:34: warning: 'struct sys_off_data' declared inside parameter list will not be visible outside of this definition or declaration
> ...
>
> Bisection points to:
>
> commit 065a7d0b92c0f1ef4160e2129d835eb6093cc675
> Author: Helge Deller <[email protected]>
> Date: Tue Oct 17 22:19:53 2023 +0200
>
> parisc/power: Add power soft-off when running on qemu
> commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream.
Right.
I already asked Greg to drop two patches from all queues where kernel < 6.0:
- parisc-power-add-power-soft-off-when-running-on-qemu.patch
- parisc-power-fix-power-soft-off-when-running-on-qemu.patch
Helge
On Fri, Nov 24, 2023 at 11:45:09PM -0600, Daniel D?az wrote:
> Hello!
>
> On 24/11/23 11:50 a.?m., Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.15.140 release.
> > There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> We are noticing a regression with ltp-syscalls' preadv03:
>
> -----8<-----
> preadv03 preadv03
> preadv03_64 preadv03_64
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> ----->8-----
>
> This is seen in the following environments:
> * dragonboard-845c
> * juno-64k_page_size
> * qemu-arm64
> * qemu-armv7
> * qemu-i386
> * qemu-x86_64
> * x86_64-clang
>
> and on the following RC's:
> * v5.10.202-rc1
> * v5.15.140-rc1
> * v6.1.64-rc1
>
> (Note that the list might not be complete, because some branches failed to execute completely due to build issues reported elsewhere.)
>
> Bisection in linux-5.15.y pointed to:
>
> commit db85c7fff122c14bc5755e47b51fbfafae660235
> Author: Jan Kara <[email protected]>
> Date: Fri Oct 13 14:13:50 2023 +0200
>
> ext4: properly sync file size update after O_SYNC direct IO
> commit 91562895f8030cb9a0470b1db49de79346a69f91 upstream.
>
>
> Reverting that commit made the test pass.
Odd. I'll go drop that from 5.10.y and 5.15.y now, thanks.
greg k-h
Hello!
On Fri 24-11-23 23:45:09, Daniel D?az wrote:
> On 24/11/23 11:50 a.?m., Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.15.140 release.
> > There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> We are noticing a regression with ltp-syscalls' preadv03:
Thanks for report!
> -----8<-----
> preadv03 preadv03
> preadv03_64 preadv03_64
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> preadv03.c:102: TINFO: Using block size 512
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> ----->8-----
>
> This is seen in the following environments:
> * dragonboard-845c
> * juno-64k_page_size
> * qemu-arm64
> * qemu-armv7
> * qemu-i386
> * qemu-x86_64
> * x86_64-clang
>
> and on the following RC's:
> * v5.10.202-rc1
> * v5.15.140-rc1
> * v6.1.64-rc1
Hum, even in 6.1? That's odd. Can you please test whether current upstream
vanilla kernel works for you with this test? Thanks!
Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR
Hello!
On Mon, 27 Nov 2023 at 09:56, Jan Kara <[email protected]> wrote:
> Hello!
>
> On Fri 24-11-23 23:45:09, Daniel Díaz wrote:
> > On 24/11/23 11:50 a. m., Greg Kroah-Hartman wrote:
> > > This is the start of the stable review cycle for the 5.15.140 release.
> > > There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> > > and the diffstat can be found below.
> > >
> > > thanks,
> > >
> > > greg k-h
> >
> > We are noticing a regression with ltp-syscalls' preadv03:
>
> Thanks for report!
>
> > -----8<-----
> > preadv03 preadv03
> > preadv03_64 preadv03_64
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > preadv03.c:102: TINFO: Using block size 512
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > ----->8-----
> >
> > This is seen in the following environments:
> > * dragonboard-845c
> > * juno-64k_page_size
> > * qemu-arm64
> > * qemu-armv7
> > * qemu-i386
> > * qemu-x86_64
> > * x86_64-clang
> >
> > and on the following RC's:
> > * v5.10.202-rc1
> > * v5.15.140-rc1
> > * v6.1.64-rc1
>
> Hum, even in 6.1? That's odd. Can you please test whether current upstream
> vanilla kernel works for you with this test? Thanks!
Yes, this is working for us on mainline and next:
https://qa-reports.linaro.org/lkft/linux-mainline-master/tests/ltp-syscalls/preadv03
https://qa-reports.linaro.org/lkft/linux-next-master/tests/ltp-syscalls/preadv03
c.fr. 6.1:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/tests/ltp-syscalls/preadv03
Greetings!
Daniel Díaz
[email protected]
Hello!
On Mon 27-11-23 11:32:12, Daniel D?az wrote:
> On Mon, 27 Nov 2023 at 09:56, Jan Kara <[email protected]> wrote:
> > On Fri 24-11-23 23:45:09, Daniel D?az wrote:
> > > On 24/11/23 11:50 a. m., Greg Kroah-Hartman wrote:
> > > > This is the start of the stable review cycle for the 5.15.140 release.
> > > > There are 297 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 Sun, 26 Nov 2023 17:19:17 +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/v5.x/stable-review/patch-5.15.140-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-5.15.y
> > > > and the diffstat can be found below.
> > > >
> > > > thanks,
> > > >
> > > > greg k-h
> > >
> > > We are noticing a regression with ltp-syscalls' preadv03:
> >
> > Thanks for report!
> >
> > > -----8<-----
> > > preadv03 preadv03
> > > preadv03_64 preadv03_64
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'a' expectedly
> > > preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with content 'b' expectedly
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > > preadv03.c:102: TINFO: Using block size 512
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
> > > preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
> > > ----->8-----
> > >
> > > This is seen in the following environments:
> > > * dragonboard-845c
> > > * juno-64k_page_size
> > > * qemu-arm64
> > > * qemu-armv7
> > > * qemu-i386
> > > * qemu-x86_64
> > > * x86_64-clang
> > >
> > > and on the following RC's:
> > > * v5.10.202-rc1
> > > * v5.15.140-rc1
> > > * v6.1.64-rc1
> >
> > Hum, even in 6.1? That's odd. Can you please test whether current upstream
> > vanilla kernel works for you with this test? Thanks!
>
> Yes, this is working for us on mainline and next:
> https://qa-reports.linaro.org/lkft/linux-mainline-master/tests/ltp-syscalls/preadv03
> https://qa-reports.linaro.org/lkft/linux-next-master/tests/ltp-syscalls/preadv03
> c.fr. 6.1:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/tests/ltp-syscalls/preadv03
>
> Greetings!
So I've got back to this and the failure is a subtle interaction between
iomap code and ext4 code. In particular that fact that commit 936e114a245b6
("iomap: update ki_pos a little later in iomap_dio_complete") is not in
stable causes that file position is not updated after direct IO write and
thus we direct IO writes are ending in wrong locations effectively
corrupting data. The subtle detail is that before this commit if ->end_io
handler returns non-zero value (which the new ext4 ->end_io handler does),
file pos doesn't get updated, after this commit it doesn't get updated only
if the return value is < 0.
The commit got merged in 6.5-rc1 so all stable kernels that have
91562895f803 ("ext4: properly sync file size update after O_SYNC direct
IO") before 6.5 are corrupting data - I've noticed at least 6.1 is still
carrying the problematic commit. Greg, please take out the commit from all
stable kernels before 6.5 as soon as possible, we'll figure out proper
backport once user data are not being corrupted anymore. Thanks!
Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR