|
@@ -35,8 +35,11 @@ static struct task_struct * scand_task;
|
|
|
static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len)
|
|
|
{
|
|
|
ssize_t ret = len;
|
|
|
- int n = simple_strtol(buf, NULL, 0);
|
|
|
+ int n;
|
|
|
+ int rc = kstrtoint(buf, 0, &n);
|
|
|
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
ls = dlm_find_lockspace_local(ls->ls_local_handle);
|
|
|
if (!ls)
|
|
|
return -EINVAL;
|
|
@@ -57,7 +60,10 @@ static ssize_t dlm_control_store(struct dlm_ls *ls, const char *buf, size_t len)
|
|
|
|
|
|
static ssize_t dlm_event_store(struct dlm_ls *ls, const char *buf, size_t len)
|
|
|
{
|
|
|
- ls->ls_uevent_result = simple_strtol(buf, NULL, 0);
|
|
|
+ int rc = kstrtoint(buf, 0, &ls->ls_uevent_result);
|
|
|
+
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
set_bit(LSFL_UEVENT_WAIT, &ls->ls_flags);
|
|
|
wake_up(&ls->ls_uevent_wait);
|
|
|
return len;
|
|
@@ -70,7 +76,10 @@ static ssize_t dlm_id_show(struct dlm_ls *ls, char *buf)
|
|
|
|
|
|
static ssize_t dlm_id_store(struct dlm_ls *ls, const char *buf, size_t len)
|
|
|
{
|
|
|
- ls->ls_global_id = simple_strtoul(buf, NULL, 0);
|
|
|
+ int rc = kstrtouint(buf, 0, &ls->ls_global_id);
|
|
|
+
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
return len;
|
|
|
}
|
|
|
|
|
@@ -81,7 +90,11 @@ static ssize_t dlm_nodir_show(struct dlm_ls *ls, char *buf)
|
|
|
|
|
|
static ssize_t dlm_nodir_store(struct dlm_ls *ls, const char *buf, size_t len)
|
|
|
{
|
|
|
- int val = simple_strtoul(buf, NULL, 0);
|
|
|
+ int val;
|
|
|
+ int rc = kstrtoint(buf, 0, &val);
|
|
|
+
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
if (val == 1)
|
|
|
set_bit(LSFL_NODIR, &ls->ls_flags);
|
|
|
return len;
|