@@ -67,9 +67,6 @@ static void umd_cleanup(struct subprocess_info *info)
67
67
* @len: length of the blob
68
68
* @info: information about usermode process (shouldn't be NULL)
69
69
*
70
- * If info->cmdline is set it will be used as command line for the
71
- * user process, else "usermodehelper" is used.
72
- *
73
70
* Returns either negative error or zero which indicates success
74
71
* in executing a blob of bytes as a usermode process. In such
75
72
* case 'struct umd_info *info' is populated with two pipes
@@ -79,15 +76,14 @@ static void umd_cleanup(struct subprocess_info *info)
79
76
*/
80
77
int fork_usermode_blob (void * data , size_t len , struct umd_info * info )
81
78
{
82
- const char * cmdline = (info -> cmdline ) ? info -> cmdline : "usermodehelper" ;
83
79
struct subprocess_info * sub_info ;
84
80
char * * argv = NULL ;
85
81
struct file * file ;
86
82
ssize_t written ;
87
83
loff_t pos = 0 ;
88
84
int err ;
89
85
90
- file = shmem_kernel_file_setup ("" , len , 0 );
86
+ file = shmem_kernel_file_setup (info -> driver_name , len , 0 );
91
87
if (IS_ERR (file ))
92
88
return PTR_ERR (file );
93
89
@@ -100,11 +96,12 @@ int fork_usermode_blob(void *data, size_t len, struct umd_info *info)
100
96
}
101
97
102
98
err = - ENOMEM ;
103
- argv = argv_split (GFP_KERNEL , cmdline , NULL );
99
+ argv = argv_split (GFP_KERNEL , info -> driver_name , NULL );
104
100
if (!argv )
105
101
goto out ;
106
102
107
- sub_info = call_usermodehelper_setup ("none" , argv , NULL , GFP_KERNEL ,
103
+ sub_info = call_usermodehelper_setup (info -> driver_name , argv , NULL ,
104
+ GFP_KERNEL ,
108
105
umd_setup , umd_cleanup , info );
109
106
if (!sub_info )
110
107
goto out ;
0 commit comments