[PATCH 2/2] powerpc: make ftrace endian-safe.

David Laight David.Laight at ACULAB.COM
Mon Sep 23 18:33:11 EST 2013


> --- a/arch/powerpc/kernel/ftrace.c
> +++ b/arch/powerpc/kernel/ftrace.c
> @@ -174,7 +174,11 @@ __ftrace_make_nop(struct module *mod,
> 
>  	pr_devel(" %08x %08x\n", jmp[0], jmp[1]);
> 
> +#ifdef __LITTLE_ENDIAN__
> +	ptr = ((unsigned long)jmp[1] << 32) + jmp[0];
> +#else
>  	ptr = ((unsigned long)jmp[0] << 32) + jmp[1];
> +#endif
> 

Why not just:
	ptr = *(__u64 *)jmp;

Or, if alignment isn't guaranteed, something that is
equivalent to:
	ptr = *(__u64 __attribute__((aligned(4))) *)jmp;

	David





More information about the Linuxppc-dev mailing list