[Crash-utility] [PATCH][v2] Remove __exception_text_start and __exception_text_end for ARM64

Dave Anderson anderson at redhat.com
Mon Dec 23 14:01:56 UTC 2019



----- Original Message -----
> __exception_text_start and __exception_text_end is used to group functions
> and place according to linker script in such a way to achieve
> kprobe blacklist. Linux commit b6e43c0e3129 ("arm64: remove __exception
> annotations") has removed __exception_text_start and
> __exception_text_end and uses NOKPROBE_SYMBOL() for blacklist kprobes.
> 
> So removing references of __exception_text_start and __exception_text_end
> for ARM64.

NAK for a couple of reasons...  

First, they cannot be removed for backward-compatibility purposes, and secondly
an alternative method is required for arm64_back_trace_cmd() for handling
exception frames.

Dave

> Signed-off-by: Prabhakar Kushwaha <pkushwaha at marvell.com>
> Cc: James Morse <james.morse at arm.com>
> ---
> Changes for v2: Updated description and added CC-By
> 
>  arm64.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
> 
> diff --git a/arm64.c b/arm64.c
> index 1b024a4..56ec088 100644
> --- a/arm64.c
> +++ b/arm64.c
> @@ -673,8 +673,6 @@ arm64_dump_machdep_table(ulong arg)
>  		fprintf(fp, "        kimage_voffset: %016lx\n", ms->kimage_voffset);
>  	}
>  	fprintf(fp, "           phys_offset: %lx\n", ms->phys_offset);
> -	fprintf(fp, "__exception_text_start: %lx\n", ms->__exception_text_start);
> -	fprintf(fp, "  __exception_text_end: %lx\n", ms->__exception_text_end);
>  	fprintf(fp, " __irqentry_text_start: %lx\n", ms->__irqentry_text_start);
>  	fprintf(fp, "   __irqentry_text_end: %lx\n", ms->__irqentry_text_end);
>  	fprintf(fp, "      exp_entry1_start: %lx\n", ms->exp_entry1_start);
> @@ -1644,10 +1642,6 @@ arm64_stackframe_init(void)
>  		machdep->machspec->kern_eframe_offset = SIZE(pt_regs);
>  	}
>  
> -	machdep->machspec->__exception_text_start =
> -		symbol_value("__exception_text_start");
> -	machdep->machspec->__exception_text_end =
> -		symbol_value("__exception_text_end");
>  	if ((sp1 = kernel_symbol_search("__irqentry_text_start")) &&
>  	    (sp2 = kernel_symbol_search("__irqentry_text_end"))) {
>  		machdep->machspec->__irqentry_text_start = sp1->value;
> @@ -1861,9 +1855,7 @@ arm64_in_exception_text(ulong ptr)
>  {
>  	struct machine_specific *ms = machdep->machspec;
>  
> -	if ((ptr >= ms->__exception_text_start) &&
> -	    (ptr < ms->__exception_text_end))
> -		return TRUE;
> +	return TRUE;
>  
>  	if (ms->__irqentry_text_start && ms->__irqentry_text_end &&
>  	    ((ptr >= ms->__irqentry_text_start) &&
> --
> 2.17.1
> 
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 




More information about the Crash-utility mailing list