data = (struct portal_ioctl_data *)buf;
switch (cmd) {
- case IOC_PORTAL_SET_DAEMON:
- RETURN (portals_debug_set_daemon (
- (unsigned int) data->ioc_count,
- (unsigned int) data->ioc_inllen1,
- (char *) data->ioc_inlbuf1,
- (unsigned int) data->ioc_misc));
- case IOC_PORTAL_GET_DEBUG: {
- __s32 size = portals_debug_copy_to_user(data->ioc_pbuf1,
- data->ioc_plen1);
-
- if (size < 0)
- RETURN(size);
-
- data->ioc_size = size;
- err = copy_to_user((char *)arg, data, sizeof(*data));
- RETURN(err);
- }
case IOC_PORTAL_CLEAR_DEBUG:
portals_debug_clear_buffer();
RETURN(0);
data->ioc_count = ncpu;
data->ioc_misc = total_size;
+ /* Hedge against broken user/kernel typedefs (e.g. cycles_t) */
+ data->ioc_nid = sizeof(lwt_event_t);
+ data->ioc_nid2 = offsetof(lwt_event_t, lwte_where);
+
if (err == 0 &&
copy_to_user((char *)arg, data, sizeof (*data)))
err = -EFAULT;
CDEBUG(D_MALLOC, "before Portals cleanup: kmem %d\n",
atomic_read(&portal_kmemory));
-
rc = misc_deregister(&libcfs_dev);
if (rc)
CERROR("misc_deregister error %d\n", rc);