On 2020-02-14 11:40, Mark Brown wrote:
On Thu, Feb 13, 2020 at 09:36:56PM +0000, Marc Zyngier wrote:
On 2020-02-13 15:38, Mark Brown wrote:

> -ENTRY(__kvm_call_hyp)
> +SYM_FUNC_START(__kvm_call_hyp)

I'm not convinced by this particular change. _kvm_call_hyp is called
directly from
C, and behaves almost like a normal function. What's the issue here?

I'm not sure I understand your comment here - this is annotated as
SYM_FUNC_ which is the annotation for things that look like normal
C functions.

You're right, apologies. I got confused between _FUNC_ and _CODE_.

>    .align  11
> -ENTRY(__bp_harden_hyp_vecs_start)
> +SYM_CODE_START_NOALIGN(__bp_harden_hyp_vecs)
> +SYM_INNER_LABEL(__bp_harden_hyp_vecs_start, SYM_L_GLOBAL)

Why isn't SYM_CODE_START_NOALIGN enough? And what is the rational for

The _start and _end labels that were there before are explicitly
referenced by code, removing them would break the build.

But if we're going to clean things up, I'd rather we actually do that.
The only time __bp_harden_hyp_vecs_end is used is when computing the
size of the vectors, and that'd better be BP_HARDEN_EL2_SLOTS * 2kB
(which can be statically asserted at compile time).

the _NOALIGN, btw? I'd expect an alignment of 2kB to be more than enough.

So that the explicit .align above takes effect rather than anything the
macro decides to do, I'm trying to err on the side of caution here.

I don't think we need this. The macros should do the right thing, and
be fixed if they don't.

Jazz is not dead. It just smells funny...
kvmarm mailing list

Reply via email to