From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Jinyang He <hejinyang@loongson.cn>,
Hengqi Chen <hengqi.chen@gmail.com>,
Huacai Chen <chenhuacai@loongson.cn>,
Sasha Levin <sashal@kernel.org>,
chenhuacai@kernel.org, lienze@kylinos.cn, yangtiezhu@loongson.cn,
zhangqing@loongson.cn, loongarch@lists.linux.dev
Subject: [PATCH AUTOSEL 6.6 46/47] LoongArch: Set unwind stack type to unknown rather than set error flag
Date: Mon, 11 Dec 2023 08:50:47 -0500 [thread overview]
Message-ID: <20231211135147.380223-46-sashal@kernel.org> (raw)
In-Reply-To: <20231211135147.380223-1-sashal@kernel.org>
From: Jinyang He <hejinyang@loongson.cn>
[ Upstream commit 97ceddbc9404a7d1e2c4049435bff29427d762cc ]
During unwinding, unwind_done() is used as an end condition. Normally it
unwind to the user stack and then set the stack type to unknown, which
is a normal exit. When something unexpected happens in unwind process
and we cannot unwind anymore, we should set the error flag, and also set
the stack type to unknown to indicate that the unwind process can not
continue. The error flag emphasizes that the unwind process produce an
unexpected error. There is no unexpected things when we unwind the PT_REGS
in the top of IRQ stack and find out that is an user mode PT_REGS. Thus,
we should not set error flag and just set stack type to unknown.
Reported-by: Hengqi Chen <hengqi.chen@gmail.com>
Acked-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Jinyang He <hejinyang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/loongarch/kernel/stacktrace.c | 2 +-
arch/loongarch/kernel/unwind.c | 1 -
arch/loongarch/kernel/unwind_prologue.c | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/loongarch/kernel/stacktrace.c b/arch/loongarch/kernel/stacktrace.c
index 92270f14db948..f623feb2129f1 100644
--- a/arch/loongarch/kernel/stacktrace.c
+++ b/arch/loongarch/kernel/stacktrace.c
@@ -32,7 +32,7 @@ void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie,
}
for (unwind_start(&state, task, regs);
- !unwind_done(&state) && !unwind_error(&state); unwind_next_frame(&state)) {
+ !unwind_done(&state); unwind_next_frame(&state)) {
addr = unwind_get_return_address(&state);
if (!addr || !consume_entry(cookie, addr))
break;
diff --git a/arch/loongarch/kernel/unwind.c b/arch/loongarch/kernel/unwind.c
index ba324ba76fa15..a463d6961344c 100644
--- a/arch/loongarch/kernel/unwind.c
+++ b/arch/loongarch/kernel/unwind.c
@@ -28,6 +28,5 @@ bool default_next_frame(struct unwind_state *state)
} while (!get_stack_info(state->sp, state->task, info));
- state->error = true;
return false;
}
diff --git a/arch/loongarch/kernel/unwind_prologue.c b/arch/loongarch/kernel/unwind_prologue.c
index 55afc27320e12..929ae240280a5 100644
--- a/arch/loongarch/kernel/unwind_prologue.c
+++ b/arch/loongarch/kernel/unwind_prologue.c
@@ -227,7 +227,7 @@ static bool next_frame(struct unwind_state *state)
} while (!get_stack_info(state->sp, state->task, info));
out:
- state->error = true;
+ state->stack_info.type = STACK_TYPE_UNKNOWN;
return false;
}
--
2.42.0
next prev parent reply other threads:[~2023-12-11 13:57 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-11 13:50 [PATCH AUTOSEL 6.6 01/47] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 02/47] hwtracing: hisi_ptt: Don't try to attach a task Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 03/47] ASoC: amd: yc: Add HP 255 G10 into quirk table Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 04/47] ASoC: wm8974: Correct boost mixer inputs Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 05/47] arm64: dts: rockchip: fix rk356x pcie msg interrupt name Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 06/47] ASoC: Intel: Skylake: Fix mem leak in few functions Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 07/47] ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 08/47] ASoC: SOF: topology: Fix mem leak in sof_dai_load() Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 09/47] ASoC: Intel: Skylake: mem leak in skl register function Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 10/47] ASoC: cs43130: Fix the position of const qualifier Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 11/47] ASoC: cs43130: Fix incorrect frame delay configuration Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 12/47] ASoC: fsl_xcvr: Enable 2 * TX bit clock for spdif only case Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 13/47] ASoC: rt5650: add mutex to avoid the jack detection failure Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 14/47] ASoC: SOF: mediatek: mt8186: Add Google Steelix topology compatible Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 15/47] ASoC: fsl_xcvr: refine the requested phy clock frequency Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 16/47] ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 17/47] ASoC: SOF: ipc4-topology: Add core_mask in struct snd_sof_pipeline Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 18/47] ASoC: SOF: sof-audio: Modify logic for enabling/disabling topology cores Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 19/47] nouveau/tu102: flush all pdbs on vmm flush Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 20/47] ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 21/47] ASoC: hdac_hda: Conditionally register dais for HDMI and Analog Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 22/47] ASoC: SOF: ipc4-topology: Correct data structures for the SRC module Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 23/47] ASoC: SOF: ipc4-topology: Correct data structures for the GAIN module Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 24/47] pds_vdpa: fix up format-truncation complaint Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 25/47] pds_vdpa: clear config callback when status goes to 0 Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 26/47] pds_vdpa: set features order Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 27/47] net/tg3: fix race condition in tg3_reset_task() Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 28/47] ASoC: da7219: Support low DC impedance headset Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 29/47] ASoC: ops: add correct range check for limiting volume Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 30/47] nvme: introduce helper function to get ctrl state Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 31/47] nvme: ensure reset state check ordering Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 32/47] nvme-ioctl: move capable() admin check to the end Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 33/47] nvme: prevent potential spectre v1 gadget Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 34/47] nvme: fix deadlock between reset and scan Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 35/47] arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 36/47] mips/smp: Call rcutree_report_cpu_starting() earlier Sasha Levin
2023-12-12 1:45 ` Huacai Chen
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 37/47] r8152: add vendor/device ID pair for ASUS USB-C2500 Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 38/47] drm/amd/display: Use channel_width = 2 for vram table 3.0 Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 39/47] drm/amd/display: Add monitor patch for specific eDP Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 40/47] drm/amdgpu: Add NULL checks for function pointers Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 41/47] drm/exynos: fix a potential error pointer dereference Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 42/47] drm/exynos: fix a wrong error checking Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 43/47] ALSA: pcmtest: stop timer before buffer is released Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 44/47] hwmon: (corsair-psu) Fix probe when built-in Sasha Levin
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 45/47] LoongArch: Apply dynamic relocations for LLD Sasha Levin
2023-12-11 13:50 ` Sasha Levin [this message]
2023-12-11 13:50 ` [PATCH AUTOSEL 6.6 47/47] LoongArch: Preserve syscall nr across execve() Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231211135147.380223-46-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=chenhuacai@kernel.org \
--cc=chenhuacai@loongson.cn \
--cc=hejinyang@loongson.cn \
--cc=hengqi.chen@gmail.com \
--cc=lienze@kylinos.cn \
--cc=linux-kernel@vger.kernel.org \
--cc=loongarch@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=yangtiezhu@loongson.cn \
--cc=zhangqing@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox