int line_config(struct line *lines, unsigned int num, char *str)
 {
-       char *new = uml_strdup(str);
+       char *new;
 
+       new = kstrdup(str, GFP_KERNEL);
        if(new == NULL){
-               printk("line_config - uml_strdup failed\n");
+               printk("line_config - kstrdup failed\n");
                return -ENOMEM;
        }
        return !line_setup(lines, num, new, 0);
                INIT_LIST_HEAD(&line->chan_list);
                spin_lock_init(&line->lock);
                if(line->init_str != NULL){
-                       line->init_str = uml_strdup(line->init_str);
+                       line->init_str = kstrdup(line->init_str, GFP_KERNEL);
                        if(line->init_str == NULL)
-                               printk("lines_init - uml_strdup returned "
-                                      "NULL\n");
+                               printk("lines_init - kstrdup returned NULL\n");
                }
        }
 }
 
        }
 
        if(notify_socket != NULL){
-               notify_socket = uml_strdup(notify_socket);
+               notify_socket = kstrdup(notify_socket, GFP_KERNEL);
                if(notify_socket != NULL)
                        mconsole_notify(notify_socket, MCONSOLE_SOCKET,
                                        mconsole_socket_name, 
 
        err = eth_parse(str, &n, &str);
        if(err) return(err);
 
-       str = uml_strdup(str);
+       str = kstrdup(str, GFP_KERNEL);
        if(str == NULL){
                printk(KERN_ERR "net_config failed to strdup string\n");
                return(-1);