Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit def32fad authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: stack unwinder to bail if PC is not kernel mode



Currently, it doesn't invoke the callback but continues to unwind

Also while at it - simplify the code a bit

Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 082ae1e1
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -122,19 +122,17 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
	while (1) {
		address = UNW_PC(&frame_info);

		if (address && __kernel_text_address(address)) {
		if (!address || !__kernel_text_address(address))
			break;

		if (consumer_fn(address, arg) == -1)
			break;
		}

		ret = arc_unwind(&frame_info);
		if (ret)
			break;

		if (ret == 0) {
		frame_info.regs.r63 = frame_info.regs.r31;
			continue;
		} else {
			break;
		}
	}

	return address;		/* return the last address it saw */