linux-postmarketos-amlogic: upgrade to 7.1.1

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8910>
This commit is contained in:
Ferass El Hafidi
2026-07-04 21:00:02 +00:00
parent 1b853b79ba
commit c528e31096
5 changed files with 560 additions and 349 deletions
@@ -0,0 +1,91 @@
From d648a5fd7f95d961126605d59da5ad007c265bda Mon Sep 17 00:00:00 2001
From: Aelin Reidel <aelin@mainlining.org>
Date: Wed, 17 Jun 2026 00:38:17 +0200
Subject: [PATCH] resolve_btfids: preserve tag and parameter names when
processing implicit args
process_kfunc_with_implicit_args() obtains parameter names through
btf__name_by_offset() and passes them to btf__add_func_param() while
constructing a new function prototype. Tag names are processed in a
similar fashion.
The returned name pointer references memory owned by the BTF object.
btf__add_func_param(), btf__add_decl_tag(), etc. modify the same BTF and
may grow its internal storage, invalidating previously returned string
pointers.
This can result in btf__add_func_param(), btf__add_decl_tag(), etc.
dereferencing a stale pointer when copying the string, leading to crashes
in strset__add_str().
Duplicate the parameter name before calling btf__add_func_param() so it
remains valid across BTF updates.
Fixes: 9d199965990c ("resolve_btfids: Support for KF_IMPLICIT_ARGS")
Cc: stable@vger.kernel.org
Signed-off-by: Aelin Reidel <aelin@mainlining.org>
---
tools/bpf/resolve_btfids/main.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/tools/bpf/resolve_btfids/main.c b/tools/bpf/resolve_btfids/main.c
index f8a91fa7584f..94b89e9c942e 100644
--- a/tools/bpf/resolve_btfids/main.c
+++ b/tools/bpf/resolve_btfids/main.c
@@ -1113,6 +1113,7 @@ static int process_kfunc_with_implicit_args(struct btf2btf_context *ctx, struct
{
s32 idx, new_proto_id, new_func_id, proto_id;
const char *param_name, *tag_name;
+ char *tmp_param_name, *tmp_tag_name;
const struct btf_param *params;
enum btf_func_linkage linkage;
char tmp_name[KSYM_NAME_LEN];
@@ -1163,18 +1164,22 @@ static int process_kfunc_with_implicit_args(struct btf2btf_context *ctx, struct
if (strcmp(tag_name, "bpf_kfunc") == 0)
continue;
+ tmp_tag_name = strdup(tag_name);
idx = btf_decl_tag(t)->component_idx;
if (btf_kflag(t))
- err = btf__add_decl_attr(btf, tag_name, new_func_id, idx);
+ err = btf__add_decl_attr(btf, tmp_tag_name, new_func_id, idx);
else
- err = btf__add_decl_tag(btf, tag_name, new_func_id, idx);
+ err = btf__add_decl_tag(btf, tmp_tag_name, new_func_id, idx);
if (err < 0) {
pr_err("ERROR: resolve_btfids: failed to add decl tag %s for %s\n",
- tag_name, tmp_name);
+ tmp_tag_name, tmp_name);
+ free(tmp_tag_name);
return -EINVAL;
}
+
+ free(tmp_tag_name);
}
add_new_proto:
@@ -1193,12 +1198,17 @@ static int process_kfunc_with_implicit_args(struct btf2btf_context *ctx, struct
if (is_kf_implicit_arg(btf, &params[i]))
break;
param_name = btf__name_by_offset(btf, params[i].name_off);
- err = btf__add_func_param(btf, param_name, params[i].type);
+ tmp_param_name = strdup(param_name);
+ if (!tmp_param_name)
+ return -ENOMEM;
+ err = btf__add_func_param(btf, tmp_param_name, params[i].type);
if (err < 0) {
pr_err("ERROR: resolve_btfids: failed to add param %s for %s\n",
- param_name, kfunc->name);
+ tmp_param_name, kfunc->name);
+ free(tmp_param_name);
return err;
}
+ free(tmp_param_name);
t = (struct btf_type *)btf__type_by_id(btf, proto_id);
}
--
2.54.0
@@ -3,8 +3,8 @@
# Co-Maintainer: exkc <exxxxkc@getgoogleoff.me>
maintainer="Ferass El Hafidi <funderscore@postmarketos.org>"
pkgname=linux-postmarketos-amlogic
pkgver=6.18.28
pkgrel=2
pkgver=7.1.1
pkgrel=0
pkgdesc="Mainline kernel for Amlogic devices"
arch="aarch64"
_carch="arm64"
@@ -46,6 +46,7 @@ source="
$_config
0001-add-x96-mini-support.patch
0002-add-initial-support-for-zte-b860hv5.patch
0004-resolve_btfids-preserve-tag-and-parameter-names-when.patch
0007-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch
0008-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch
0009-dw-mipi-dsi-phy-stop-wait-time.patch
@@ -91,13 +92,14 @@ package() {
}
sha512sums="
5acc1a97ae0bca7aeb7fcac04fd3b7bafea5ff976dfe5d42c7015e084d9ee3104c3945880846dfb185a1010d0bad8c7a229b23febdef44306d19fb494a03b1a6 linux-postmarketos-amlogic-6.18.28.tar.xz
64f3e77c2cef581bdbbc19dc5029f626c75f706dacfdfe9a3655fb39260751cfae6c2bbe74124075ada207cef103986447cf4c0af70afcd52d8d6d8937814cb8 config-postmarketos-amlogic.aarch64
a8b618dadad2d84ff569c038dfb068943e251bb63e2694820fcac501dcc81791393e7cf1694ffb0aa5326ae8bc67e95840b489594e9a1de892752a0fb910371c linux-postmarketos-amlogic-7.1.1.tar.xz
e81e1a684f33f79ced2d89cd98bb56bb812eafea904b05c62ff96c973e5b0d81bf0e603d47c2247986c3e711c6709d5af67a3cedee1bde0babd7868d317ecb23 config-postmarketos-amlogic.aarch64
3eda7524a4c2cf8bd5fd2105c1971f729a3423a0c5ca2e041c9707b5e12fb0e2fc421ac99a3adf19a2555bacb12354851811eb6817a8c1ef1ae735f8043ec234 amlogic.config
94f07500f17c89d8446082227a157c4bc6a0e79cca87ac9d3112d9ef50f804eac66a3849a94c8e56ba11df1aabfd2d58d7beeae0f516a2b3584219fb5d8b0474 misc.config
ba0dbc8fd2355818381d0c719831a9fdd933d875e1bd9b42148666a113dcefbf741521843d25c12c5e4f3277dead1409bfcb9b2da9a5a2c5876c6612f8a9dbc4 pmos.config
76da48361759146957123f64a99b07893e83f976595246e707f9ab2a833fcd0d1e899d45c42e21315c77e266a6a265c6f0e029802f348ed862147fdff7763b2f misc.config
eb270c92066becfbd88eeffba498055941279308976a71fa8126b8768092beac576bad996225207bc8701af184e028a079cd2dad324185328e9b144a12cc9044 pmos.config
4538994c7d3bbb0c4740e8ce108b6838618be239a549e407ca239f3ceca8eed29b5a9ca75d162567dbc06b13ac7caacc61ebf55b247ce6fe122fecc7e5b275d5 0001-add-x96-mini-support.patch
222e7c12dbeb931f325b7d4a306c2f1e835992b5503ba3ab387a0b006e0fb2226291d93f32aec8ac7b2f6cf15704f20ef3285bb9bafe7374b11a034639d786ef 0002-add-initial-support-for-zte-b860hv5.patch
4e705e038a91466a86fc5317b0028c2220aa1e7a4807e5d86db2f9ac815a927c59666a8f21ed50c4632147d3ce183d8042378a76f95341dbcd3db1047faf39e3 0004-resolve_btfids-preserve-tag-and-parameter-names-when.patch
f1a3f10c67f491758bbaa2922b3acc84e2abee432ae22a39cb4081c9cea71792c5c740c57df93740e4b9756755e0e32583d23a93485933aeddb01c1d85eb4ccc 0007-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch
fb34099eefaf51b7bb36d7eca3c6130d7b23760250be8934341e93656d9315a099a243cbb02c9ed572dd76bf9017016b76aa1a8c03e867273f8ff4c3e7b3c9cb 0008-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch
00e257c1271fb9bfdb3cb3d61693e4226ec64cf7f168b19c504744c22844776f45e72005ec4def46450315ee71edfb5c762b323dad97df61c1106b835e91c372 0009-dw-mipi-dsi-phy-stop-wait-time.patch
File diff suppressed because it is too large Load Diff
@@ -89,8 +89,6 @@ CONFIG_RMI4_SPI=m
CONFIG_HW_RANDOM_CN10K=y
CONFIG_I2C_SLAVE=y
CONFIG_PINCTRL=y
CONFIG_POWER_SEQUENCING=m
CONFIG_POWER_SEQUENCING_QCOM_WCN=m
CONFIG_CHARGER_MT6360=y
CONFIG_MFD_WM8994=m
CONFIG_REGULATOR_ARM_SCMI=y
@@ -153,7 +151,6 @@ CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_DRM_ST7571_I2C=m
CONFIG_DRM_ST7586=m
CONFIG_DRM_ST7735R=m
CONFIG_DRM_SSD130X=m
@@ -239,7 +236,6 @@ CONFIG_CLK_VEXPRESS_OSC=y
CONFIG_COMMON_CLK_XGENE=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
CONFIG_SOC_TI=y
CONFIG_DEVFREQ_GOV_USERSPACE=m
CONFIG_DEVFREQ_GOV_PASSIVE=m
CONFIG_MEMORY=y
@@ -77,8 +77,6 @@ CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_TI=m
CONFIG_NFS_V4_1=y
# accessibility
CONFIG_A11Y_BRAILLE_CONSOLE=y