* [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments"
@ 2026-01-14 6:13 Wentao Guan
2026-01-14 6:24 ` Wentao Guan
2026-01-30 10:04 ` [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check Wentao Guan
0 siblings, 2 replies; 5+ messages in thread
From: Wentao Guan @ 2026-01-14 6:13 UTC (permalink / raw)
To: stable; +Cc: gregkh, chenhuacai, loongarch
It cause loongarch build failed. it need merge more depends,
such as "LoongArch: Add more instruction opcodes and emit_* helpers"
This reverts commit fd43edf357a3a1f5ed1c4bf450b60001c9091c39.
config: https://gist.github.com/opsiff/b6c9c32ade5f6d4abb5454a476f4c4e1
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
---
arch/loongarch/net/bpf_jit.c | 16 ----------------
arch/loongarch/net/bpf_jit.h | 26 --------------------------
2 files changed, 42 deletions(-)
diff --git a/arch/loongarch/net/bpf_jit.c b/arch/loongarch/net/bpf_jit.c
index 54661cffd654f..c6400d7b95ee8 100644
--- a/arch/loongarch/net/bpf_jit.c
+++ b/arch/loongarch/net/bpf_jit.c
@@ -834,22 +834,6 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
if (ret < 0)
return ret;
- if (insn->src_reg == BPF_PSEUDO_KFUNC_CALL) {
- const struct btf_func_model *m;
- int i;
-
- m = bpf_jit_find_kfunc_model(ctx->prog, insn);
- if (!m)
- return -EINVAL;
-
- for (i = 0; i < m->nr_args; i++) {
- u8 reg = regmap[BPF_REG_1 + i];
- bool sign = m->arg_flags[i] & BTF_FMODEL_SIGNED_ARG;
-
- emit_abi_ext(ctx, reg, m->arg_size[i], sign);
- }
- }
-
move_addr(ctx, t1, func_addr);
emit_insn(ctx, jirl, LOONGARCH_GPR_RA, t1, 0);
diff --git a/arch/loongarch/net/bpf_jit.h b/arch/loongarch/net/bpf_jit.h
index 9352ea5545308..f9c569f539491 100644
--- a/arch/loongarch/net/bpf_jit.h
+++ b/arch/loongarch/net/bpf_jit.h
@@ -87,32 +87,6 @@ static inline void emit_sext_32(struct jit_ctx *ctx, enum loongarch_gpr reg, boo
emit_insn(ctx, addiw, reg, reg, 0);
}
-/* Emit proper extension according to ABI requirements.
- * Note that it requires a value of size `size` already resides in register `reg`.
- */
-static inline void emit_abi_ext(struct jit_ctx *ctx, int reg, u8 size, bool sign)
-{
- /* ABI requires unsigned char/short to be zero-extended */
- if (!sign && (size == 1 || size == 2))
- return;
-
- switch (size) {
- case 1:
- emit_insn(ctx, extwb, reg, reg);
- break;
- case 2:
- emit_insn(ctx, extwh, reg, reg);
- break;
- case 4:
- emit_insn(ctx, addiw, reg, reg, 0);
- break;
- case 8:
- break;
- default:
- pr_warn("bpf_jit: invalid size %d for extension\n", size);
- }
-}
-
static inline void move_addr(struct jit_ctx *ctx, enum loongarch_gpr rd, u64 addr)
{
u64 imm_11_0, imm_31_12, imm_51_32, imm_63_52;
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments"
2026-01-14 6:13 [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments" Wentao Guan
@ 2026-01-14 6:24 ` Wentao Guan
2026-01-15 11:38 ` Greg KH
2026-01-30 10:04 ` [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check Wentao Guan
1 sibling, 1 reply; 5+ messages in thread
From: Wentao Guan @ 2026-01-14 6:24 UTC (permalink / raw)
To: 关文涛, stable; +Cc: Greg KH, chenhuacai, loongarch
Hello All,
I think the best way is backport add28024405ed600afaa02749989d4fd119f9057,
("LoongArch: Add more instruction opcodes and emit_* helpers")
I test when cherry-pick it, it build ok.
BRs
Wentao Guan
From fd6e09e78813b62fe1f4c49dc20255b4e4144e2d Mon Sep 17 00:00:00 2001
From: Hengqi Chen <hengqi.chen@gmail.com>
Date: Wed, 8 Nov 2023 14:12:15 +0800
Subject: [PATCH] LoongArch: Add more instruction opcodes and emit_* helpers
This patch adds more instruction opcodes and their corresponding emit_*
helpers which will be used in later patches.
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
(cherry picked from commit add28024405ed600afaa02749989d4fd119f9057)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
---
arch/loongarch/include/asm/inst.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/loongarch/include/asm/inst.h b/arch/loongarch/include/asm/inst.h
index 4fa53ad82efb3..964258e2972e9 100644
--- a/arch/loongarch/include/asm/inst.h
+++ b/arch/loongarch/include/asm/inst.h
@@ -65,6 +65,8 @@ enum reg2_op {
revbd_op = 0x0f,
revh2w_op = 0x10,
revhd_op = 0x11,
+ extwh_op = 0x16,
+ extwb_op = 0x17,
};
enum reg2i5_op {
@@ -556,6 +558,8 @@ static inline void emit_##NAME(union loongarch_instruction *insn, \
DEF_EMIT_REG2_FORMAT(revb2h, revb2h_op)
DEF_EMIT_REG2_FORMAT(revb2w, revb2w_op)
DEF_EMIT_REG2_FORMAT(revbd, revbd_op)
+DEF_EMIT_REG2_FORMAT(extwh, extwh_op)
+DEF_EMIT_REG2_FORMAT(extwb, extwb_op)
#define DEF_EMIT_REG2I5_FORMAT(NAME, OP) \
static inline void emit_##NAME(union loongarch_instruction *insn, \
@@ -607,6 +611,9 @@ DEF_EMIT_REG2I12_FORMAT(lu52id, lu52id_op)
DEF_EMIT_REG2I12_FORMAT(andi, andi_op)
DEF_EMIT_REG2I12_FORMAT(ori, ori_op)
DEF_EMIT_REG2I12_FORMAT(xori, xori_op)
+DEF_EMIT_REG2I12_FORMAT(ldb, ldb_op)
+DEF_EMIT_REG2I12_FORMAT(ldh, ldh_op)
+DEF_EMIT_REG2I12_FORMAT(ldw, ldw_op)
DEF_EMIT_REG2I12_FORMAT(ldbu, ldbu_op)
DEF_EMIT_REG2I12_FORMAT(ldhu, ldhu_op)
DEF_EMIT_REG2I12_FORMAT(ldwu, ldwu_op)
@@ -695,9 +702,12 @@ static inline void emit_##NAME(union loongarch_instruction *insn, \
insn->reg3_format.rk = rk; \
}
+DEF_EMIT_REG3_FORMAT(addw, addw_op)
DEF_EMIT_REG3_FORMAT(addd, addd_op)
DEF_EMIT_REG3_FORMAT(subd, subd_op)
DEF_EMIT_REG3_FORMAT(muld, muld_op)
+DEF_EMIT_REG3_FORMAT(divd, divd_op)
+DEF_EMIT_REG3_FORMAT(modd, modd_op)
DEF_EMIT_REG3_FORMAT(divdu, divdu_op)
DEF_EMIT_REG3_FORMAT(moddu, moddu_op)
DEF_EMIT_REG3_FORMAT(and, and_op)
@@ -709,6 +719,9 @@ DEF_EMIT_REG3_FORMAT(srlw, srlw_op)
DEF_EMIT_REG3_FORMAT(srld, srld_op)
DEF_EMIT_REG3_FORMAT(sraw, sraw_op)
DEF_EMIT_REG3_FORMAT(srad, srad_op)
+DEF_EMIT_REG3_FORMAT(ldxb, ldxb_op)
+DEF_EMIT_REG3_FORMAT(ldxh, ldxh_op)
+DEF_EMIT_REG3_FORMAT(ldxw, ldxw_op)
DEF_EMIT_REG3_FORMAT(ldxbu, ldxbu_op)
DEF_EMIT_REG3_FORMAT(ldxhu, ldxhu_op)
DEF_EMIT_REG3_FORMAT(ldxwu, ldxwu_op)
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments"
2026-01-14 6:24 ` Wentao Guan
@ 2026-01-15 11:38 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2026-01-15 11:38 UTC (permalink / raw)
To: Wentao Guan; +Cc: stable, chenhuacai, loongarch
On Wed, Jan 14, 2026 at 02:24:15PM +0800, Wentao Guan wrote:
> Hello All,
>
> I think the best way is backport add28024405ed600afaa02749989d4fd119f9057,
> ("LoongArch: Add more instruction opcodes and emit_* helpers")
> I test when cherry-pick it, it build ok.
Great, I'll do that instead, thanks!
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check
2026-01-14 6:13 [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments" Wentao Guan
2026-01-14 6:24 ` Wentao Guan
@ 2026-01-30 10:04 ` Wentao Guan
2026-02-03 14:48 ` Greg KH
1 sibling, 1 reply; 5+ messages in thread
From: Wentao Guan @ 2026-01-30 10:04 UTC (permalink / raw)
To: stable; +Cc: Greg KH, tiwai, sashal, pavel
I found that patch which in v6.12.60 should be applied in v6.6-stable tree.
From: Takashi Iwai <tiwai@suse.de>
The recent backport of the upstream commit 05a1fc5efdd8 ("ALSA:
usb-audio: Fix potential overflow of PCM transfer buffer") on the
older stable kernels like 6.12.y was broken since it doesn't consider
the mutex unlock, where the upstream code manages with guard().
In the older code, we still need an explicit unlock.
This is a fix that corrects the error path, applied only on old stable
trees.
Reported-by: Pavel Machek <pavel@denx.de>
Closes: https://lore.kernel.org/aSWtH0AZH5+aeb+a@duo.ucw.cz
Fixes: 98e9d5e33bda ("ALSA: usb-audio: Fix potential overflow of PCM transfer buffer")
Reviewed-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit fdf0dc82eb60091772ecea73cbc5a8fb7562fc45)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
---
sound/usb/endpoint.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index 7238f65cbcfff..aa201e4744bf6 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -1389,7 +1389,8 @@ int snd_usb_endpoint_set_params(struct snd_usb_audio *chip,
if (ep->packsize[1] > ep->maxpacksize) {
usb_audio_dbg(chip, "Too small maxpacksize %u for rate %u / pps %u\n",
ep->maxpacksize, ep->cur_rate, ep->pps);
- return -EINVAL;
+ err = -EINVAL;
+ goto unlock;
}
/* calculate the frequency in 16.16 format */
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check
2026-01-30 10:04 ` [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check Wentao Guan
@ 2026-02-03 14:48 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2026-02-03 14:48 UTC (permalink / raw)
To: Wentao Guan; +Cc: stable, tiwai, sashal, pavel
On Fri, Jan 30, 2026 at 06:04:44PM +0800, Wentao Guan wrote:
> I found that patch which in v6.12.60 should be applied in v6.6-stable tree.
>
> From: Takashi Iwai <tiwai@suse.de>
>
> The recent backport of the upstream commit 05a1fc5efdd8 ("ALSA:
> usb-audio: Fix potential overflow of PCM transfer buffer") on the
> older stable kernels like 6.12.y was broken since it doesn't consider
> the mutex unlock, where the upstream code manages with guard().
> In the older code, we still need an explicit unlock.
>
> This is a fix that corrects the error path, applied only on old stable
> trees.
>
> Reported-by: Pavel Machek <pavel@denx.de>
> Closes: https://lore.kernel.org/aSWtH0AZH5+aeb+a@duo.ucw.cz
> Fixes: 98e9d5e33bda ("ALSA: usb-audio: Fix potential overflow of PCM transfer buffer")
> Reviewed-by: Pavel Machek <pavel@denx.de>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> (cherry picked from commit fdf0dc82eb60091772ecea73cbc5a8fb7562fc45)
> Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
> ---
> sound/usb/endpoint.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
This does not apply to the 6.6.y kernel tree :(
Please fix up and resend.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-03 14:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-14 6:13 [PATCH 6.6] Revert "LoongArch: BPF: Sign extend kfunc call arguments" Wentao Guan
2026-01-14 6:24 ` Wentao Guan
2026-01-15 11:38 ` Greg KH
2026-01-30 10:04 ` [PATCH 6.6] ALSA: usb-audio: Fix missing unlock at error path of maxpacksize check Wentao Guan
2026-02-03 14:48 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox