Skip to content

Commit c838712

Browse files
author
inferno0230
committed
Merge tag 'v6.1.125' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux into linux-msft-wsl-6.1.y
This is the 6.1.125 stable release * tag 'v6.1.125' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux: Linux 6.1.125 xhci: use pm_ptr() instead of #ifdef for CONFIG_PM conditionals drm: adv7511: Fix use-after-free in adv7533_attach_dsi() drm: bridge: adv7511: use dev_err_probe in probe function ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv ocfs2: correct return value of ocfs2_local_free_info() of: address: Preserve the flags portion on 1:1 dma-ranges mapping of: address: Store number of bus flag cells rather than bool of: address: Remove duplicated functions of: address: Fix address translation when address-size is greater than 2 of/address: Add support for 3 address cell bus of: unittest: Add bus address range parsing tests arm64: dts: rockchip: add hevc power domain clock to rk3328 block, bfq: fix waker_bfqq UAF after bfq_split_bfqq() ARM: dts: imxrt1050: Fix clocks for mmc io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period iio: adc: ad7124: Disable all channels at probe time iio: inkern: call iio_device_put() only on mapped devices iio: adc: at91: call input_free_device() on allocated iio_dev iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep() iio: gyro: fxas21002c: Fix missing data update in trigger handler iio: adc: ti-ads8688: fix information leak in triggered buffer iio: imu: kmx61: fix information leak in triggered buffer iio: light: vcnl4035: fix information leak in triggered buffer iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer iio: pressure: zpa2326: fix information leak in triggered buffer usb: gadget: f_fs: Remove WARN_ON in functionfs_bind usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints usb: fix reference leak in usb_new_device() USB: core: Disable LPM only for non-suspended ports USB: usblp: return error when setting unsupported protocol usb: dwc3-am62: Disable autosuspend during remove usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null misc: microchip: pci1xxxx: Resolve return code mismatch during GPIO set config misc: microchip: pci1xxxx: Resolve kernel panic during GPIO IRQ handling topology: Keep the cpumask unchanged when printing cpumap usb: dwc3: gadget: fix writing NYET threshold USB: serial: cp210x: add Phoenix Contact UPS Device usb-storage: Add max sectors quirk for Nokia 208 staging: iio: ad9832: Correct phase range check staging: iio: ad9834: Correct phase range check USB: serial: option: add Neoway N723-EA support USB: serial: option: add MeiG Smart SRM815 bpf: Fix overloading of MEM_UNINIT's meaning bpf: Add MEM_WRITE attribute dm-verity FEC: Fix RS FEC repair for roots unaligned to block size (take 2) drm/amd/display: increase MAX_SURFACES to the value supported by hw ACPI: resource: Add Asus Vivobook X1504VAP to irq1_level_low_skip_override[] ACPI: resource: Add TongFang GM5HG0A to irq1_edge_low_force_override[] riscv: Fix sleeping in invalid context in die() thermal: of: fix OF node leak in of_thermal_zone_find() drm/amd/display: Add check for granularity in dml ceil/floor helpers sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy sctp: sysctl: udp_port: avoid using current->nsproxy sctp: sysctl: auth_enable: avoid using current->nsproxy sctp: sysctl: rto_min/max: avoid using current->nsproxy sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy dm-ebs: don't set the flag DM_TARGET_PASSES_INTEGRITY dm thin: make get_first_thin use rcu-safe list first function cpuidle: riscv-sbi: fix device node release in early exit of for_each_possible_cpu ksmbd: fix unexpectedly changed path in ksmbd_vfs_kern_path_locked afs: Fix the maximum cell name length ksmbd: fix a missing return value check bug drm/mediatek: Add return value check when reading DPCD drm/mediatek: Fix mode valid issue for dp drm/mediatek: Fix YCbCr422 color format issue for DP drm/mediatek: stop selecting foreign drivers net/mlx5: Fix variable not being completed when function returns sched: sch_cake: add bounds checks to host bulk flow fairness counts netfilter: conntrack: clamp maximum hashtable size to INT_MAX netfilter: nf_tables: imbalance in flowtable binding tcp: Annotate data-race around sk->sk_mark in tcp_v4_send_reset Bluetooth: hci_sync: Fix not setting Random Address when required tls: Fix tls_sw_sendmsg error handling ice: fix incorrect PHY settings for 100 GB/s cxgb4: Avoid removal of uninserted tid bnxt_en: Fix possible memory leak when hwrm_req_replace fails net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute tcp/dccp: allow a connection when sk_max_ack_backlog is zero tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog net: 802: LLC+SNAP OID:PID lookup on start of skb data ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe() ASoC: mediatek: disable buffer pre-allocation scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity exfat: fix the infinite loop in __exfat_free_cluster() exfat: fix the infinite loop in exfat_readdir() dm array: fix cursor index when skipping across block boundaries dm array: fix unreleased btree blocks on closing a faulty array cursor dm array: fix releasing a faulty array block twice in dm_array_cursor_end jbd2: flush filesystem device before updating tail sequence jbd2: increase IO priority for writing revoke records sched/task_stack: fix object_is_on_stack() for KASAN tagged pointers bpf, sockmap: Fix race between element replace and close() ceph: give up on paths longer than PATH_MAX Linux 6.1.124 zram: check comp is non-NULL before calling comp_destroy mptcp: don't always assume copied data in mptcp_cleanup_rbuf() mptcp: fix recvbuffer adjust on sleeping rcvmsg mptcp: fix TCP options overflow. mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim() mm/readahead: fix large folio support in async readahead dt-bindings: display: adi,adv7533: Drop single lane support drm: adv7511: Drop dsi single lane support net/sctp: Prevent autoclose integer overflow in sctp_association_init() sky2: Add device ID 11ab:4373 for Marvell 88E8075 pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap locking RDMA/uverbs: Prevent integer overflow issue kcov: mark in_softirq_really() as __always_inline ALSA: seq: oss: Fix races at processing SysEx messages ALSA hda/realtek: Add quirk for Framework F111:000C modpost: fix the missed iteration for the max bit in do_input() modpost: fix input MODULE_DEVICE_TABLE() built for 64-bit on 32-bit host usb: xhci: Avoid queuing redundant Stop Endpoint commands ARC: build: Try to guess GCC variant of cross compiler irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base Bluetooth: hci_core: Fix sleeping function called from invalid context net: usb: qmi_wwan: add Telit FE910C04 compositions ksmbd: retry iterate_dir in smb2_query_dir bpf: fix potential error return sound: usb: format: don't warn that raw DSD is unsupported sound: usb: enable DSD output for ddHiFi TC44C ALSA: hda/realtek: Add new alc2xx-fixup-headset-mic model btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount drm/amdkfd: Correct the migration DMA map direction wifi: mac80211: wake the queues in case of failure in resume btrfs: fix use-after-free when COWing tree bock and tracing is enabled btrfs: rename and export __btrfs_cow_block() ila: serialize calls to nf_register_net_hooks() af_packet: fix vlan_get_protocol_dgram() vs MSG_PEEK af_packet: fix vlan_get_tci() vs MSG_PEEK net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init() net: restrict SO_REUSEPORT to inet sockets net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets RDMA/rtrs: Ensure 'ib_sge list' is accessible net: wwan: t7xx: Fix FSM command timeout issue net: mv643xx_eth: fix an OF node reference leak eth: bcmsysport: fix call balance of priv->clk handling routines ALSA: usb-audio: US16x08: Initialize array before use net: llc: reset skb->transport_header netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext drm/i915/dg1: Fix power gate sequence. netrom: check buffer length before accessing it net: Fix netns for ip_tunnel_init_flow() ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_xmit() ipv4: ip_tunnel: Unmask upper DSCP bits in ip_md_tunnel_xmit() ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev() ip_tunnel: annotate data-races around t->parms.link ipip,ip_tunnel,sit: Add FOU support for externally controlled ipip devices net: fix memory leak in tcp_conn_request() net: stmmac: restructure the error path of stmmac_probe_config_dt() net: stmmac: don't create a MDIO bus if unnecessary net: stmmac: platform: provide devm_stmmac_probe_config_dt() RDMA/hns: Fix missing flush CQE for DWQE RDMA/hns: Fix warning storm caused by invalid input in IO path RDMA/hns: Fix mapping error of zero-hop WQE buffer RDMA/hns: Remove unused parameters and variables RDMA/hns: Refactor mtr find net: dsa: microchip: Fix LAN937X set_ageing_time function net: dsa: microchip: add ksz_rmw8() function net: dsa: microchip: Fix KSZ9477 set_ageing_time function drm/bridge: adv7511_audio: Update Audio InfoFrame properly RDMA/bnxt_re: Fix the locking while accessing the QP table RDMA/bnxt_re: Fix max_qp_wrs reported RDMA/bnxt_re: Fix reporting hw_ver in query_device RDMA/bnxt_re: Add check for path mtu in modify_qp RDMA/mlx5: Enforce same type port association for multiport RoCE net: mctp: handle skb cleanup on sock_queue failures xhci: Turn NEC specific quirk for handling Stop Endpoint errors generic usb: xhci: Limit Stop Endpoint retries xhci: retry Stop Endpoint on buggy NEC controllers thunderbolt: Don't display nvm_version unless upgrade supported thunderbolt: Add support for Intel Panther Lake-M/P thunderbolt: Add support for Intel Lunar Lake tracing: Have process_string() also allow arrays btrfs: fix use-after-free in btrfs_encoded_read_endio() selinux: ignore unknown extended permissions x86/hyperv: Fix hv tsc page based sched_clock for hibernation
2 parents 99441fb + 60ceadf commit c838712

File tree

178 files changed

+1654
-757
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+1654
-757
lines changed

Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ properties:
8787
adi,dsi-lanes:
8888
description: Number of DSI data lanes connected to the DSI host.
8989
$ref: /schemas/types.yaml#/definitions/uint32
90-
enum: [ 1, 2, 3, 4 ]
90+
enum: [ 2, 3, 4 ]
9191

9292
ports:
9393
description:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 1
4-
SUBLEVEL = 123
4+
SUBLEVEL = 125
55
EXTRAVERSION =
66
NAME = Curry Ramen
77

arch/arc/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
KBUILD_DEFCONFIG := haps_hs_smp_defconfig
77

88
ifeq ($(CROSS_COMPILE),)
9-
CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux-)
9+
CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux- arc-linux-gnu-)
1010
endif
1111

1212
cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__

arch/arm/boot/dts/imxrt1050.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
reg = <0x402c0000 0x4000>;
8888
interrupts = <110>;
8989
clocks = <&clks IMXRT1050_CLK_IPG_PDOF>,
90-
<&clks IMXRT1050_CLK_OSC>,
90+
<&clks IMXRT1050_CLK_AHB_PODF>,
9191
<&clks IMXRT1050_CLK_USDHC1>;
9292
clock-names = "ipg", "ahb", "per";
9393
bus-width = <4>;

arch/arm64/boot/dts/rockchip/rk3328.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@
302302

303303
power-domain@RK3328_PD_HEVC {
304304
reg = <RK3328_PD_HEVC>;
305+
clocks = <&cru SCLK_VENC_CORE>;
305306
#power-domain-cells = <0>;
306307
};
307308
power-domain@RK3328_PD_VIDEO {

arch/riscv/kernel/traps.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
int show_unhandled_signals = 1;
2929

30-
static DEFINE_SPINLOCK(die_lock);
30+
static DEFINE_RAW_SPINLOCK(die_lock);
3131

3232
void die(struct pt_regs *regs, const char *str)
3333
{
@@ -38,7 +38,7 @@ void die(struct pt_regs *regs, const char *str)
3838

3939
oops_enter();
4040

41-
spin_lock_irqsave(&die_lock, flags);
41+
raw_spin_lock_irqsave(&die_lock, flags);
4242
console_verbose();
4343
bust_spinlocks(1);
4444

@@ -55,7 +55,7 @@ void die(struct pt_regs *regs, const char *str)
5555

5656
bust_spinlocks(0);
5757
add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
58-
spin_unlock_irqrestore(&die_lock, flags);
58+
raw_spin_unlock_irqrestore(&die_lock, flags);
5959
oops_exit();
6060

6161
if (in_interrupt())

arch/x86/kernel/cpu/mshyperv.c

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,63 @@ static void hv_machine_crash_shutdown(struct pt_regs *regs)
152152
hyperv_cleanup();
153153
}
154154
#endif /* CONFIG_KEXEC_CORE */
155+
156+
static u64 hv_ref_counter_at_suspend;
157+
static void (*old_save_sched_clock_state)(void);
158+
static void (*old_restore_sched_clock_state)(void);
159+
160+
/*
161+
* Hyper-V clock counter resets during hibernation. Save and restore clock
162+
* offset during suspend/resume, while also considering the time passed
163+
* before suspend. This is to make sure that sched_clock using hv tsc page
164+
* based clocksource, proceeds from where it left off during suspend and
165+
* it shows correct time for the timestamps of kernel messages after resume.
166+
*/
167+
static void save_hv_clock_tsc_state(void)
168+
{
169+
hv_ref_counter_at_suspend = hv_read_reference_counter();
170+
}
171+
172+
static void restore_hv_clock_tsc_state(void)
173+
{
174+
/*
175+
* Adjust the offsets used by hv tsc clocksource to
176+
* account for the time spent before hibernation.
177+
* adjusted value = reference counter (time) at suspend
178+
* - reference counter (time) now.
179+
*/
180+
hv_adj_sched_clock_offset(hv_ref_counter_at_suspend - hv_read_reference_counter());
181+
}
182+
183+
/*
184+
* Functions to override save_sched_clock_state and restore_sched_clock_state
185+
* functions of x86_platform. The Hyper-V clock counter is reset during
186+
* suspend-resume and the offset used to measure time needs to be
187+
* corrected, post resume.
188+
*/
189+
static void hv_save_sched_clock_state(void)
190+
{
191+
old_save_sched_clock_state();
192+
save_hv_clock_tsc_state();
193+
}
194+
195+
static void hv_restore_sched_clock_state(void)
196+
{
197+
restore_hv_clock_tsc_state();
198+
old_restore_sched_clock_state();
199+
}
200+
201+
static void __init x86_setup_ops_for_tsc_pg_clock(void)
202+
{
203+
if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE))
204+
return;
205+
206+
old_save_sched_clock_state = x86_platform.save_sched_clock_state;
207+
x86_platform.save_sched_clock_state = hv_save_sched_clock_state;
208+
209+
old_restore_sched_clock_state = x86_platform.restore_sched_clock_state;
210+
x86_platform.restore_sched_clock_state = hv_restore_sched_clock_state;
211+
}
155212
#endif /* CONFIG_HYPERV */
156213

157214
static uint32_t __init ms_hyperv_platform(void)
@@ -454,6 +511,7 @@ static void __init ms_hyperv_init_platform(void)
454511

455512
/* Register Hyper-V specific clocksource */
456513
hv_init_clocksource();
514+
x86_setup_ops_for_tsc_pg_clock();
457515
#endif
458516
/*
459517
* TSC should be marked as unstable only after Hyper-V

block/bfq-iosched.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6733,16 +6733,24 @@ static struct bfq_queue *bfq_waker_bfqq(struct bfq_queue *bfqq)
67336733
if (new_bfqq == waker_bfqq) {
67346734
/*
67356735
* If waker_bfqq is in the merge chain, and current
6736-
* is the only procress.
6736+
* is the only process, waker_bfqq can be freed.
67376737
*/
67386738
if (bfqq_process_refs(waker_bfqq) == 1)
67396739
return NULL;
6740-
break;
6740+
6741+
return waker_bfqq;
67416742
}
67426743

67436744
new_bfqq = new_bfqq->new_bfqq;
67446745
}
67456746

6747+
/*
6748+
* If waker_bfqq is not in the merge chain, and it's procress reference
6749+
* is 0, waker_bfqq can be freed.
6750+
*/
6751+
if (bfqq_process_refs(waker_bfqq) == 0)
6752+
return NULL;
6753+
67466754
return waker_bfqq;
67476755
}
67486756

drivers/acpi/resource.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,13 @@ static const struct dmi_system_id asus_laptop[] = {
439439
DMI_MATCH(DMI_BOARD_NAME, "S5602ZA"),
440440
},
441441
},
442+
{
443+
/* Asus Vivobook X1504VAP */
444+
.matches = {
445+
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
446+
DMI_MATCH(DMI_BOARD_NAME, "X1504VAP"),
447+
},
448+
},
442449
{
443450
/* Asus Vivobook X1704VAP */
444451
.matches = {
@@ -615,6 +622,17 @@ static const struct dmi_system_id lg_laptop[] = {
615622
DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
616623
},
617624
},
625+
{
626+
/*
627+
* TongFang GM5HG0A in case of the SKIKK Vanaheim relabel the
628+
* board-name is changed, so check OEM strings instead. Note
629+
* OEM string matches are always exact matches.
630+
* https://bugzilla.kernel.org/show_bug.cgi?id=219614
631+
*/
632+
.matches = {
633+
DMI_EXACT_MATCH(DMI_OEM_STRING, "GM5HG0A"),
634+
},
635+
},
618636
{ }
619637
};
620638

drivers/base/topology.c

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,35 @@ static ssize_t name##_read(struct file *file, struct kobject *kobj, \
2727
loff_t off, size_t count) \
2828
{ \
2929
struct device *dev = kobj_to_dev(kobj); \
30+
cpumask_var_t mask; \
31+
ssize_t n; \
3032
\
31-
return cpumap_print_bitmask_to_buf(buf, topology_##mask(dev->id), \
32-
off, count); \
33+
if (!alloc_cpumask_var(&mask, GFP_KERNEL)) \
34+
return -ENOMEM; \
35+
\
36+
cpumask_copy(mask, topology_##mask(dev->id)); \
37+
n = cpumap_print_bitmask_to_buf(buf, mask, off, count); \
38+
free_cpumask_var(mask); \
39+
\
40+
return n; \
3341
} \
3442
\
3543
static ssize_t name##_list_read(struct file *file, struct kobject *kobj, \
3644
struct bin_attribute *attr, char *buf, \
3745
loff_t off, size_t count) \
3846
{ \
3947
struct device *dev = kobj_to_dev(kobj); \
48+
cpumask_var_t mask; \
49+
ssize_t n; \
50+
\
51+
if (!alloc_cpumask_var(&mask, GFP_KERNEL)) \
52+
return -ENOMEM; \
53+
\
54+
cpumask_copy(mask, topology_##mask(dev->id)); \
55+
n = cpumap_print_list_to_buf(buf, mask, off, count); \
56+
free_cpumask_var(mask); \
4057
\
41-
return cpumap_print_list_to_buf(buf, topology_##mask(dev->id), \
42-
off, count); \
58+
return n; \
4359
}
4460

4561
define_id_show_func(physical_package_id, "%d");

0 commit comments

Comments
 (0)