@@ -461,12 +461,11 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
ret = tmem_control(&op->u.tmem_op);
break;
-#ifdef CONFIG_XSPLICE
case XEN_SYSCTL_xsplice_op:
ret = xsplice_control(&op->u.xsplice);
- copyback = 1;
+ if ( ret != -ENOSYS )
+ copyback = 1;
break;
-#endif
default:
ret = arch_do_sysctl(op, u_sysctl);
@@ -23,15 +23,18 @@ struct xsplice_patch_func {
uint8_t pad[24];
};
-int xsplice_control(struct xen_sysctl_xsplice_op *);
-
#ifdef CONFIG_XSPLICE
+int xsplice_control(struct xen_sysctl_xsplice_op *);
void do_xsplice(void);
struct bug_frame *xsplice_find_bug(const char *eip, int *id);
bool_t is_module(const void *addr);
bool_t is_active_module_text(unsigned long addr);
unsigned long search_module_extables(unsigned long addr);
#else
+static inline xsplice_control(struct xen_sysctl_xsplice_op *)
+{
+ return -ENOSYS;
+}
static inline void do_xsplice(void) { };
static inline struct bug_frame *xsplice_find_bug(const char *eip, int *id)
{