[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 04/34] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane.
>>> On 24.03.16 at 03:37, <konrad.wilk@xxxxxxxxxx> wrote: >> > --- a/xen/xsm/flask/hooks.c >> > +++ b/xen/xsm/flask/hooks.c >> > @@ -1658,6 +1658,40 @@ static int flask_xen_version (uint32_t op) >> > } >> > } >> > >> > +static int flask_version_op (uint32_t op) >> > +{ >> > + u32 dsid = domain_sid(current->domain); >> > + >> > + switch ( op ) >> > + { >> > + case XEN_VERSION_version: >> > + case XEN_VERSION_platform_parameters: >> > + case XEN_VERSION_get_features: >> > + /* These MUST always be accessible to any guest by default. */ >> > + return 0; >> >> Perhaps these would better be taken care of in xsm_version_op()? > > It would be the oddball one. > All of the xsm_**() in the header file (include/xsm/xsm.h) call the function > pointers. True, but if there appeared any second implementation besides FLASK, it would need to repeat code to meet this backend independent policy. Anyway - I'll leave it to Daniel to judge. > @@ -381,6 +389,123 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) > arg) > return -ENOSYS; > } > > +/* Computed be kernel_cache_init. */ ... by ... And I also think kernel_cache_init is a bad name - you initialize the capabilities cache, not some kernel cache. > @@ -418,6 +543,20 @@ DO(ni_hypercall)(void) > return -ENOSYS; > } > > +static int __init kernel_cache_init(void) > +{ > + /* > + * Pre-allocate the cache so we do not have to worry about > + * simultaneous invocations on safe_strcat by guests and the cache > + * data becoming garbage. > + */ > + arch_get_xen_caps(&cached_cap); > + cached_cap_len = strlen(cached_cap) + 1; > + > + return 0; > +} With this I'm now missing the conversion of arch_get_xen_caps() to __init. Or was this meant to become a follow-up patch (since it might get a little larger if at once also taking care of moving the string literals into .init.*)? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |