[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 06/20] xen/sysctl: wrap around XEN_SYSCTL_readconsole
The following functions is to deal with XEN_SYSCTL_readconsole sub-op, and shall be wrapped: - xsm_readconsole() - read_console_ring() Signed-off-by: Penny Zheng <Penny.Zheng@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- v2 -> v3: - move #endif up ahead of the blank line --- v3 -> v4: - remove transient "#ifdef CONFIG_SYSCTL" --- xen/drivers/char/console.c | 2 ++ xen/include/xsm/xsm.h | 4 ++++ xen/xsm/dummy.c | 2 +- xen/xsm/flask/hooks.c | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index c15987f5bb..2413cd6c51 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -368,6 +368,7 @@ static void conring_puts(const char *str, size_t len) conringc = conringp - conring_size; } +#ifdef CONFIG_SYSCTL long read_console_ring(struct xen_sysctl_readconsole *op) { XEN_GUEST_HANDLE_PARAM(char) str; @@ -410,6 +411,7 @@ long read_console_ring(struct xen_sysctl_readconsole *op) return 0; } +#endif /* CONFIG_SYSCTL */ /* diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 22e2429f52..042a99449f 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -270,7 +270,11 @@ static inline int xsm_sysctl(xsm_default_t def, int cmd) static inline int xsm_readconsole(xsm_default_t def, uint32_t clear) { +#ifdef CONFIG_SYSCTL return alternative_call(xsm_ops.readconsole, clear); +#else + return -EOPNOTSUPP; +#endif } static inline int xsm_evtchn_unbound( diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 93a0665ecc..cd0e844fcf 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -24,8 +24,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_ops = { .domctl = xsm_domctl, #ifdef CONFIG_SYSCTL .sysctl = xsm_sysctl, -#endif .readconsole = xsm_readconsole, +#endif .evtchn_unbound = xsm_evtchn_unbound, .evtchn_interdomain = xsm_evtchn_interdomain, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 3a43e5a1d6..df7e10775b 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -934,7 +934,6 @@ static int cf_check flask_sysctl(int cmd) return avc_unknown_permission("sysctl", cmd); } } -#endif /* CONFIG_SYSCTL */ static int cf_check flask_readconsole(uint32_t clear) { @@ -945,6 +944,7 @@ static int cf_check flask_readconsole(uint32_t clear) return domain_has_xen(current->domain, perms); } +#endif /* CONFIG_SYSCTL */ static inline uint32_t resource_to_perm(uint8_t access) { @@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber flask_ops = { .domctl = flask_domctl, #ifdef CONFIG_SYSCTL .sysctl = flask_sysctl, -#endif .readconsole = flask_readconsole, +#endif .evtchn_unbound = flask_evtchn_unbound, .evtchn_interdomain = flask_evtchn_interdomain, -- 2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |