From: James Simmons Date: Sat, 25 Jul 2020 21:27:22 +0000 (-0400) Subject: LU-9325 fld: replace simple_strto* with kstr* functions X-Git-Tag: 2.13.56~94 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F98%2F39498%2F3;p=fs%2Flustre-release.git LU-9325 fld: replace simple_strto* with kstr* functions The fldb debugfs files use simple_strto* to parse input from the user. simple_strto* is considered obsolete so replace it with the equivalent kstrto* functions. Change-Id: I6d32939152ee0d65df4ec45937d7d0be03b8274e Test-Parameters: trivial env=ONLY=68 testlist=conf-sanity Signed-off-by: James Simmons Reviewed-on: https://review.whamcloud.com/39498 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Neil Brown Reviewed-by: Jian Yu Reviewed-by: Shaun Tancheff Reviewed-by: Oleg Drokin --- diff --git a/lustre/fid/lproc_fid.c b/lustre/fid/lproc_fid.c index df896be..ffa537f 100644 --- a/lustre/fid/lproc_fid.c +++ b/lustre/fid/lproc_fid.c @@ -426,6 +426,7 @@ static ssize_t fldb_seq_write(struct file *file, const char __user *buf, int rc = 0; char _buffer[MAX_FID_RANGE_STRLEN]; char *buffer = _buffer; + char *tmp; ENTRY; param = seq->private; @@ -446,23 +447,36 @@ static ssize_t fldb_seq_write(struct file *file, const char __user *buf, GOTO(out, rc = -EINVAL); buffer++; - range.lsr_start = simple_strtoull(buffer, &buffer, 0); - if (*buffer != '-') + tmp = strchr(buffer, '-'); + if (!tmp) GOTO(out, rc = -EINVAL); - buffer++; + *tmp++ = '\0'; + rc = kstrtoull(buffer, 0, &range.lsr_start); + if (rc) + GOTO(out, rc); + buffer = tmp; - range.lsr_end = simple_strtoull(buffer, &buffer, 0); - if (*buffer != ')') + tmp = strchr(buffer, ')'); + if (!tmp) GOTO(out, rc = -EINVAL); - buffer++; + *tmp++ = '\0'; + rc = kstrtoull(buffer, 0, &range.lsr_end); + if (rc) + GOTO(out, rc); + buffer = tmp; + if (*buffer != ':') GOTO(out, rc = -EINVAL); buffer++; - range.lsr_index = simple_strtoul(buffer, &buffer, 0); - if (*buffer != ':') + tmp = strchr(buffer, ':'); + if (!tmp) GOTO(out, rc = -EINVAL); - buffer++; + *tmp++ = '\0'; + rc = kstrtouint(buffer, 0, &range.lsr_index); + if (rc) + GOTO(out, rc); + buffer = tmp; if (strncmp(buffer, "mdt", 3) == 0) range.lsr_flags = LU_SEQ_RANGE_MDT;