Re: [PATCH 3/4] x86: open-code register save/restore in trace_hardirqs thunks

From: Denys Vlasenko
Date: Sat Jan 10 2015 - 22:34:34 EST


On Sat, Jan 10, 2015 at 11:41 PM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> On Sat, Jan 10, 2015 at 11:35:58PM +0100, Denys Vlasenko wrote:
>> I don't know either... it seems to be used after push_cfi
>> *sometimes*, not always:
>>
>> .macro op_safe_regs op
>> ENTRY(\op\()_safe_regs)
>> CFI_STARTPROC
>> pushl_cfi %ebx
>> pushl_cfi %ebp
>> pushl_cfi %esi
>> pushl_cfi %edi
>>
>> but
>>
>> ENTRY(csum_partial)
>> CFI_STARTPROC
>> pushl_cfi %esi
>> CFI_REL_OFFSET esi, 0
>> pushl_cfi %ebx
>> CFI_REL_OFFSET ebx, 0
>>
>> We need an expert to enlighten us.
>
> I think Andy had it:
>
> https://lkml.kernel.org/r/CALCETrUuJ8T%2BLp23uYezHvxAtF-L_20dOaD4aDxciE7xZqDK3w@xxxxxxxxxxxxxx
>
> So we better hide that crap in the macro at least, like the rest of the
> CFI gunk.

I understand Andy's post.
My question is, what about places like this?

> .macro op_safe_regs op
> ENTRY(\op\()_safe_regs)
> CFI_STARTPROC
> pushl_cfi %ebx
> pushl_cfi %ebp
> pushl_cfi %esi
> pushl_cfi %edi

Do we need to convert it to use macros which also do
"CFI_REL_OFFSET reg, 0" thingy, or not?
In either case: why?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/