@@ -35,8 +35,11 @@ static struct task_struct * scand_task;
35
35
static ssize_t dlm_control_store (struct dlm_ls * ls , const char * buf , size_t len )
36
36
{
37
37
ssize_t ret = len ;
38
- int n = simple_strtol (buf , NULL , 0 );
38
+ int n ;
39
+ int rc = kstrtoint (buf , 0 , & n );
39
40
41
+ if (rc )
42
+ return rc ;
40
43
ls = dlm_find_lockspace_local (ls -> ls_local_handle );
41
44
if (!ls )
42
45
return - EINVAL ;
@@ -57,7 +60,10 @@ static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len)
57
60
58
61
static ssize_t dlm_event_store (struct dlm_ls * ls , const char * buf , size_t len )
59
62
{
60
- ls -> ls_uevent_result = simple_strtol (buf , NULL , 0 );
63
+ int rc = kstrtoint (buf , 0 , & ls -> ls_uevent_result );
64
+
65
+ if (rc )
66
+ return rc ;
61
67
set_bit (LSFL_UEVENT_WAIT , & ls -> ls_flags );
62
68
wake_up (& ls -> ls_uevent_wait );
63
69
return len ;
@@ -70,7 +76,10 @@ static ssize_t dlm_id_show(struct dlm_ls *ls, char *buf)
70
76
71
77
static ssize_t dlm_id_store (struct dlm_ls * ls , const char * buf , size_t len )
72
78
{
73
- ls -> ls_global_id = simple_strtoul (buf , NULL , 0 );
79
+ int rc = kstrtouint (buf , 0 , & ls -> ls_global_id );
80
+
81
+ if (rc )
82
+ return rc ;
74
83
return len ;
75
84
}
76
85
@@ -81,7 +90,11 @@ static ssize_t dlm_nodir_show(struct dlm_ls *ls, char *buf)
81
90
82
91
static ssize_t dlm_nodir_store (struct dlm_ls * ls , const char * buf , size_t len )
83
92
{
84
- int val = simple_strtoul (buf , NULL , 0 );
93
+ int val ;
94
+ int rc = kstrtoint (buf , 0 , & val );
95
+
96
+ if (rc )
97
+ return rc ;
85
98
if (val == 1 )
86
99
set_bit (LSFL_NODIR , & ls -> ls_flags );
87
100
return len ;
0 commit comments