Message ID | 20220502093925.4118-6-seiden@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: Attestation tests | expand |
On 5/2/22 11:39, Steffen Eiden wrote: > The UV facility bits shared/unshared must both be set or none. > > Signed-off-by: Steffen Eiden <seiden@linux.ibm.com> > --- Reviewed-by: Janosch Frank <frankja@linux.ibm.com> > s390x/uv-guest.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/s390x/uv-guest.c b/s390x/uv-guest.c > index fd2cfef1..152ad807 100644 > --- a/s390x/uv-guest.c > +++ b/s390x/uv-guest.c > @@ -157,6 +157,16 @@ static void test_invalid(void) > report_prefix_pop(); > } > > +static void test_share_bits(void) > +{ > + bool unshare = uv_query_test_call(BIT_UVC_CMD_REMOVE_SHARED_ACCESS); > + bool share = uv_query_test_call(BIT_UVC_CMD_SET_SHARED_ACCESS); > + > + report_prefix_push("query"); > + report(!(share ^ unshare), "share bits are identical"); > + report_prefix_pop(); > +} > + > int main(void) > { > bool has_uvc = test_facility(158); > @@ -167,6 +177,12 @@ int main(void) > goto done; > } > > + /* > + * Needs to be done before the guest-fence, > + * as the fence tests if both shared bits are present > + */ > + test_share_bits(); > + > if (!uv_os_is_guest()) { > report_skip("Not a protected guest"); > goto done;
diff --git a/s390x/uv-guest.c b/s390x/uv-guest.c index fd2cfef1..152ad807 100644 --- a/s390x/uv-guest.c +++ b/s390x/uv-guest.c @@ -157,6 +157,16 @@ static void test_invalid(void) report_prefix_pop(); } +static void test_share_bits(void) +{ + bool unshare = uv_query_test_call(BIT_UVC_CMD_REMOVE_SHARED_ACCESS); + bool share = uv_query_test_call(BIT_UVC_CMD_SET_SHARED_ACCESS); + + report_prefix_push("query"); + report(!(share ^ unshare), "share bits are identical"); + report_prefix_pop(); +} + int main(void) { bool has_uvc = test_facility(158); @@ -167,6 +177,12 @@ int main(void) goto done; } + /* + * Needs to be done before the guest-fence, + * as the fence tests if both shared bits are present + */ + test_share_bits(); + if (!uv_os_is_guest()) { report_skip("Not a protected guest"); goto done;
The UV facility bits shared/unshared must both be set or none. Signed-off-by: Steffen Eiden <seiden@linux.ibm.com> --- s390x/uv-guest.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)