On 12/07/2021 21:32, Daniel P. Smith wrote:
> Based on feedback from 2021 Xen Developers Summit the xsm-roles RFC
> patch set is being split into two separate patch sets. This is the first
> patch set and is focused purely on the clean up and refactoring of the
> XSM hooks.
>
> This patch set refactors the xsm_ops wrapper hooks to use the alternative_call
> infrastructure. Then proceeds to move and realign the headers to remove the
> psuedo is/is not enable implementation. The remainder of the changes are clean up
> and removing no longer necessary abstractions.
>
> v2:
> - restructured the patches, breaking them up as needed
> - incorporate Andrew Cooper's alternative call common code
> - change XSM module registration, removing register_xsm
> - incoporate KConfig recommendations
> - reworded commit messages
> - incorporate macro expansion recommendations
> - misc clean-up fallout from recommendations
CI is heavily broken atm, but there is one issue I've spotted which is
introduced by this series.
https://gitlab.com/xen-project/patchew/xen/-/jobs/1418359368
In file included from xsm_policy.c:21:
/builds/xen-project/patchew/xen/xen/include/xsm/xsm.h: In function
'xsm_security_domaininfo':
/builds/xen-project/patchew/xen/xen/include/xsm/xsm.h:30:5: error:
implicit declaration of function 'alternative_vcall'
[-Werror=implicit-function-declaration]
30 | alternative_vcall(xsm_ops.security_domaininfo, d, info);
| ^~~~~~~~~~~~~~~~~
You need to drop the XSM guard around including xen/alternative-call.h
in patch 4, especially seeing as as you don't delete it in patch 6 where
CONFIG_XSM formally disappears. The x86 build only works by chance,
with asm/alternative.h being included implicitly.
~Andrew