Merge 6.12.21 into android16-6.12

GKI (arm64) relevant 35 out of 116 changes, affecting 59 files +396/-368
  a0395e9683 xfrm: fix tunnel mode TX datapath in packet offload mode [1 file, +41/-0]
  25e4700489 xfrm_output: Force software GSO only in tunnel mode [1 file, +1/-1]
  ca3c033a4f dma-mapping: fix missing clear bdr in check_ram_in_range_map() [1 file, +18/-10]
  e8f5047403 Bluetooth: hci_event: Fix connection regression between LE and non-LE adapters [1 file, +1/-1]
  8940e6168b net: ipv6: fix TCP GSO segmentation with NAT [1 file, +15/-6]
  29d9182018 ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw(). [1 file, +2/-1]
  cfbde06fda ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create(). [1 file, +2/-0]
  f8aaa38cfa devlink: fix xa_alloc_cyclic() error handling [1 file, +1/-1]
  58ed057dcd phy: fix xa_alloc_cyclic() error handling [1 file, +1/-1]
  176d0333aa libfs: Fix duplicate directory entry in offset_dir_lookup [1 file, +1/-1]
  250793874f net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES [1 file, +1/-0]
  a3ff812d68 Revert "gre: Fix IPv6 link-local address generation." [1 file, +6/-9]
  66e3cc3885 io_uring/net: don't clear REQ_F_NEED_CLEANUP unconditionally [1 file, +1/-2]
  0def1a40c3 netfs: Call `invalidate_cache` only if implemented [1 file, +2/-1]
  d3b83a1442 regulator: dummy: force synchronous probing [1 file, +1/-1]
  a99f1254b1 regulator: check that dummy regulator has been probed before using it [1 file, +11/-1]
  abc2677d16 mm: fix error handling in __filemap_get_folio() with FGP_NOWAIT [1 file, +12/-1]
  c057ee03f7 mm/migrate: fix shmem xarray update during migration [1 file, +4/-6]
  4b84c6437f mm/page_alloc: fix memory accept before watermarks gets initialized [1 file, +12/-2]
  ede3e8ac90 proc: fix UAF in proc_get_inode() [4 files, +31/-6]
  2e1dfe3105 memcg: drain obj stock on cpu hotplug teardown [1 file, +9/-0]
  8332847875 efi/libstub: Avoid physical address 0x0 when doing random allocation [1 file, +4/-0]
  6afe2ea2da keys: Fix UAF in key_put() [3 files, +6/-1]
  130290f44b xsk: fix an integer overflow in xp_create_and_assign_umem() [1 file, +1/-1]
  73ef4f6e37 io_uring/net: fix sendzc double notif flush [1 file, +2/-0]
  e6cd28bbbf KVM: arm64: Calculate cptr_el2 traps on activating traps [4 files, +32/-50]
  79e140bba7 KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state [2 files, +10/-50]
  f19a46cb53 KVM: arm64: Remove host FPSIMD saving for non-protected KVM [7 files, +29/-64]
  d547b363f1 KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN [2 files, +0/-18]
  cb53828d69 KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN [2 files, +0/-23]
  2e4f2c20db KVM: arm64: Refactor exit handlers [3 files, +26/-41]
  4a397bf077 KVM: arm64: Mark some header functions as inline [1 file, +9/-10]
  c776234803 KVM: arm64: Eagerly switch ZCR_EL{1,2} [6 files, +100/-40]
  8ece5abd74 Revert "sched/core: Reduce cost of sched_move_task when config autogroup" [1 file, +3/-18]
  86368616a9 mm/huge_memory: drop beyond-EOF folios with the right number of refs [1 file, +1/-1]

Changes in 6.12.21
	firmware: qcom: scm: Fix error code in probe()
	firmware: imx-scu: fix OF node leak in .probe()
	arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply
	arm64: dts: rockchip: remove supports-cqe from rk3588 jaguar
	arm64: dts: rockchip: remove supports-cqe from rk3588 tiger
	xfrm: fix tunnel mode TX datapath in packet offload mode
	xfrm_output: Force software GSO only in tunnel mode
	soc: imx8m: Remove global soc_uid
	soc: imx8m: Use devm_* to simplify probe failure handling
	soc: imx8m: Unregister cpufreq and soc dev in cleanup path
	ARM: dts: bcm2711: Fix xHCI power-domain
	ARM: dts: bcm2711: PL011 UARTs are actually r1p5
	arm64: dts: bcm2712: PL011 UARTs are actually r1p5
	arm64: dts: rockchip: Remove undocumented sdmmc property from lubancat-1
	RDMA/rxe: Fix the failure of ibv_query_device() and ibv_query_device_ex() tests
	RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx
	RDMA/mlx5: Handle errors returned from mlx5r_ib_rate()
	ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP
	ARM: dts: bcm2711: Don't mark timer regs unconfigured
	ARM: dts: BCM5301X: Fix switch port labels of ASUS RT-AC5300
	ARM: dts: BCM5301X: Fix switch port labels of ASUS RT-AC3200
	dma-mapping: fix missing clear bdr in check_ram_in_range_map()
	RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path
	RDMA/hns: Fix soft lockup during bt pages loop
	RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db()
	RDMA/hns: Fix invalid sq params not being blocked
	RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()
	RDMA/hns: Fix missing xa_destroy()
	RDMA/hns: Fix wrong value of max_sge_rd
	Bluetooth: Fix error code in chan_alloc_skb_cb()
	Bluetooth: hci_event: Fix connection regression between LE and non-LE adapters
	accel/qaic: Fix possible data corruption in BOs > 2G
	ARM: davinci: da850: fix selecting ARCH_DAVINCI_DA8XX
	tracing: tprobe-events: Fix to clean up tprobe correctly when module unload
	ata: libata-core: Add ATA_QUIRK_NO_LPM_ON_ATI for certain Samsung SSDs
	net: ethernet: ti: am65-cpsw: Fix NAPI registration sequence
	net: ipv6: fix TCP GSO segmentation with NAT
	ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
	ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().
	devlink: fix xa_alloc_cyclic() error handling
	dpll: fix xa_alloc_cyclic() error handling
	phy: fix xa_alloc_cyclic() error handling
	gpu: host1x: Do not assume that a NULL domain means no DMA IOMMU
	net: atm: fix use after free in lec_send()
	net: ti: icssg-prueth: Add lock to stats
	net: lwtunnel: fix recursion loops
	net: ipv6: ioam6: fix lwtunnel_output() loop
	libfs: Fix duplicate directory entry in offset_dir_lookup
	net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES
	Revert "gre: Fix IPv6 link-local address generation."
	tracing: tprobe-events: Fix leakage of module refcount
	i2c: omap: fix IRQ storms
	net: mana: Support holes in device list reply msg
	dt-bindings: can: renesas,rcar-canfd: Fix typo in pattern properties for R-Car V4M
	can: rcar_canfd: Fix page entries in the AFL list
	can: ucan: fix out of bound read in strscpy() source
	can: flexcan: only change CAN state when link up in system PM
	can: flexcan: disable transceiver during system PM
	drm/xe: Fix exporting xe buffers multiple times
	drm/v3d: Don't run jobs that have errors flagged in its fence
	io_uring/net: don't clear REQ_F_NEED_CLEANUP unconditionally
	riscv: dts: starfive: Fix a typo in StarFive JH7110 pin function definitions
	netfs: Call `invalidate_cache` only if implemented
	regulator: dummy: force synchronous probing
	regulator: check that dummy regulator has been probed before using it
	accel/qaic: Fix integer overflow in qaic_validate_req()
	arm64: dts: freescale: imx8mp-verdin-dahlia: add Microphone Jack to sound card
	arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card
	arm64: dts: rockchip: fix pinmux of UART0 for PX30 Ringneck on Haikou
	arm64: dts: rockchip: fix pinmux of UART5 for PX30 Ringneck on Haikou
	mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops
	mmc: atmel-mci: Add missing clk_disable_unprepare()
	selftests/mm: run_vmtests.sh: fix half_ufd_size_MB calculation
	mm: fix error handling in __filemap_get_folio() with FGP_NOWAIT
	mm/migrate: fix shmem xarray update during migration
	mm/page_alloc: fix memory accept before watermarks gets initialized
	proc: fix UAF in proc_get_inode()
	memcg: drain obj stock on cpu hotplug teardown
	ARM: dts: imx6qdl-apalis: Fix poweroff on Apalis iMX6
	ARM: shmobile: smp: Enforce shmobile_smp_* alignment
	firmware: qcom: uefisecapp: fix efivars registration race
	efi/libstub: Avoid physical address 0x0 when doing random allocation
	keys: Fix UAF in key_put()
	xsk: fix an integer overflow in xp_create_and_assign_umem()
	batman-adv: Ignore own maximum aggregation size during RX
	soc: qcom: pdr: Fix the potential deadlock
	pmdomain: amlogic: fix T7 ISP secpower
	drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()
	drm/sched: Fix fence reference count leak
	drm/amdgpu/gfx12: correct cleanup of 'me' field with gfx_v12_0_me_fini()
	drm/amd/display: Fix message for support_edp0_on_dp1
	drm/amd/display: Use HW lock mgr for PSR1 when only one eDP
	drm/amd/pm: add unique_id for gfx12
	drm/amdgpu: Restore uncached behaviour on GFX12
	drm/amdgpu/pm: Handle SCLK offset correctly in overdrive for smu 14.0.2
	drm/amdgpu/pm: wire up hwmon fan speed for smu 14.0.2
	drm/amdgpu: Remove JPEG from vega and carrizo video caps
	drm/amdgpu: Fix MPEG2, MPEG4 and VC1 video caps max size
	drm/amdgpu: Fix JPEG video caps max size for navi1x and raven
	drm/amdkfd: Fix user queue validation on Gfx7/8
	ksmbd: fix incorrect validation for num_aces field of smb_acl
	io_uring/net: fix sendzc double notif flush
	KVM: arm64: Calculate cptr_el2 traps on activating traps
	KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
	KVM: arm64: Remove host FPSIMD saving for non-protected KVM
	KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
	KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
	KVM: arm64: Refactor exit handlers
	KVM: arm64: Mark some header functions as inline
	KVM: arm64: Eagerly switch ZCR_EL{1,2}
	Revert "sched/core: Reduce cost of sched_move_task when config autogroup"
	libsubcmd: Silence compiler warning
	arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S
	mm/huge_memory: drop beyond-EOF folios with the right number of refs
	mptcp: Fix data stream corruption in the address announcement
	Linux 6.12.21

Change-Id: Ib0ef20a27f412b684d20e1913d92b5a2c16ff569
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2025-04-24 10:08:17 +00:00
6 changed files with 11 additions and 24 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 12
SUBLEVEL = 20
SUBLEVEL = 21
EXTRAVERSION =
NAME = Baby Opossum Posse
@@ -117,7 +117,7 @@
};
&u2phy1_host {
status = "disabled";
phy-supply = <&vdd_5v>;
};
&uart0 {
+3 -18
View File
@@ -9980,7 +9980,7 @@ void sched_release_group(struct task_group *tg)
spin_unlock_irqrestore(&task_group_lock, flags);
}
static struct task_group *sched_get_task_group(struct task_struct *tsk)
static void sched_change_group(struct task_struct *tsk)
{
struct task_group *tg;
@@ -9992,13 +9992,7 @@ static struct task_group *sched_get_task_group(struct task_struct *tsk)
tg = container_of(task_css_check(tsk, cpu_cgrp_id, true),
struct task_group, css);
tg = autogroup_task_group(tsk, tg);
return tg;
}
static void sched_change_group(struct task_struct *tsk, struct task_group *group)
{
tsk->sched_task_group = group;
tsk->sched_task_group = tg;
#ifdef CONFIG_FAIR_GROUP_SCHED
if (tsk->sched_class->task_change_group)
@@ -10019,21 +10013,12 @@ void sched_move_task(struct task_struct *tsk, bool for_autogroup)
{
int queued, running, queue_flags =
DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK;
struct task_group *group;
struct rq *rq;
trace_android_vh_sched_move_task(tsk);
CLASS(task_rq_lock, rq_guard)(tsk);
rq = rq_guard.rq;
/*
* Esp. with SCHED_AUTOGROUP enabled it is possible to get superfluous
* group changes.
*/
group = sched_get_task_group(tsk);
if (group == tsk->sched_task_group)
return;
update_rq_clock(rq);
running = task_current_donor(rq, tsk);
@@ -10044,7 +10029,7 @@ void sched_move_task(struct task_struct *tsk, bool for_autogroup)
if (running)
put_prev_task(rq, tsk);
sched_change_group(tsk, group);
sched_change_group(tsk);
if (!for_autogroup)
scx_cgroup_move_task(tsk);
+1 -1
View File
@@ -3228,7 +3228,7 @@ static void __split_huge_page(struct page *page, struct list_head *list,
folio_account_cleaned(tail,
inode_to_wb(folio->mapping->host));
__filemap_remove_folio(tail, NULL);
folio_put(tail);
folio_put_refs(tail, folio_nr_pages(tail));
} else if (!PageAnon(page)) {
__xa_store(&folio->mapping->i_pages, head[i].index,
head + i, 0);
+4 -2
View File
@@ -651,6 +651,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
struct mptcp_sock *msk = mptcp_sk(subflow->conn);
bool drop_other_suboptions = false;
unsigned int opt_size = *size;
struct mptcp_addr_info addr;
bool echo;
int len;
@@ -659,7 +660,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
*/
if (!mptcp_pm_should_add_signal(msk) ||
(opts->suboptions & (OPTION_MPTCP_MPJ_ACK | OPTION_MPTCP_MPC_ACK)) ||
!mptcp_pm_add_addr_signal(msk, skb, opt_size, remaining, &opts->addr,
!mptcp_pm_add_addr_signal(msk, skb, opt_size, remaining, &addr,
&echo, &drop_other_suboptions))
return false;
@@ -672,7 +673,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
else if (opts->suboptions & OPTION_MPTCP_DSS)
return false;
len = mptcp_add_addr_len(opts->addr.family, echo, !!opts->addr.port);
len = mptcp_add_addr_len(addr.family, echo, !!addr.port);
if (remaining < len)
return false;
@@ -689,6 +690,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
opts->ahmac = 0;
*size -= opt_size;
}
opts->addr = addr;
opts->suboptions |= OPTION_MPTCP_ADD_ADDR;
if (!echo) {
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_ADDADDRTX);
+1 -1
View File
@@ -807,7 +807,7 @@ static int option__cmp(const void *va, const void *vb)
static struct option *options__order(const struct option *opts)
{
int nr_opts = 0, nr_group = 0, nr_parent = 0, len;
const struct option *o, *p = opts;
const struct option *o = NULL, *p = opts;
struct option *opt, *ordered = NULL, *group;
/* flatten the options that have parents */