Skip to content

Commit 1ac48b8

Browse files
committed
Merge tag 'v6.1.125' into orange-pi-6.1-rk35xx
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 Signed-off-by: Khusika Dhamar Gusti <[email protected]>
2 parents 945564b + 60ceadf commit 1ac48b8

File tree

90 files changed

+624
-315
lines changed

Some content is hidden

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

90 files changed

+624
-315
lines changed

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 = 124
4+
SUBLEVEL = 125
55
EXTRAVERSION =
66
NAME = Curry Ramen
77

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
@@ -524,6 +524,7 @@
524524

525525
power-domain@RK3328_PD_HEVC {
526526
reg = <RK3328_PD_HEVC>;
527+
clocks = <&cru SCLK_VENC_CORE>;
527528
#power-domain-cells = <0>;
528529
};
529530
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())

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");

drivers/cpuidle/cpuidle-riscv-sbi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,12 +540,12 @@ static int sbi_cpuidle_probe(struct platform_device *pdev)
540540
int cpu, ret;
541541
struct cpuidle_driver *drv;
542542
struct cpuidle_device *dev;
543-
struct device_node *np, *pds_node;
543+
struct device_node *pds_node;
544544

545545
/* Detect OSI support based on CPU DT nodes */
546546
sbi_cpuidle_use_osi = true;
547547
for_each_possible_cpu(cpu) {
548-
np = of_cpu_device_node_get(cpu);
548+
struct device_node *np __free(device_node) = of_cpu_device_node_get(cpu);
549549
if (np &&
550550
of_find_property(np, "power-domains", NULL) &&
551551
of_find_property(np, "power-domain-names", NULL)) {

drivers/gpu/drm/amd/display/dc/dc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ struct dmub_notification;
4949

5050
#define DC_VER "3.2.207"
5151

52-
#define MAX_SURFACES 3
52+
#define MAX_SURFACES 4
5353
#define MAX_PLANES 6
5454
#define MAX_STREAMS 6
5555
#define MAX_SINKS_PER_LINK 4

drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,15 @@ static inline double dml_max5(double a, double b, double c, double d, double e)
6666

6767
static inline double dml_ceil(double a, double granularity)
6868
{
69+
if (granularity == 0)
70+
return 0;
6971
return (double) dcn_bw_ceil2(a, granularity);
7072
}
7173

7274
static inline double dml_floor(double a, double granularity)
7375
{
76+
if (granularity == 0)
77+
return 0;
7478
return (double) dcn_bw_floor2(a, granularity);
7579
}
7680

@@ -114,11 +118,15 @@ static inline double dml_ceil_2(double f)
114118

115119
static inline double dml_ceil_ex(double x, double granularity)
116120
{
121+
if (granularity == 0)
122+
return 0;
117123
return (double) dcn_bw_ceil2(x, granularity);
118124
}
119125

120126
static inline double dml_floor_ex(double x, double granularity)
121127
{
128+
if (granularity == 0)
129+
return 0;
122130
return (double) dcn_bw_floor2(x, granularity);
123131
}
124132

0 commit comments

Comments
 (0)