rdmacg: Convert to use match_string() helper
PATCH 1/1 rdmacg: Convert to use match_string() helper
The new helper returns index of the matching string in an array. We are going to use it here.
--- kernel/cgroup/rdma.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-)
kernel/cgroup/rdma.c +15 -18
@@ -362,10 +362,9 @@ EXPORT_SYMBOL(rdmacg_unregister_device);static int parse_resource (char *c,int *intval) {substring_t argstr; -const char **table = &rdmacg_resource_names[0 ];char *name, *value = c;size_t len; -int ret, i =0 ; +int ret, i; name =strsep (&value,"=" );if (!name || !value)
@@ -373,24 +372,22 @@ static int parse_resource(char *c, int *intval) len =strlen (value); -for (i =0 ; i <RDMACG_RESOURCE_MAX ; i++) { -if (strcmp (table[i], name)) -continue ; + i =match_string (rdmacg_resource_names,RDMACG_RESOURCE_MAX , name); +if (i <0 ) +return i; - argstr.from = value; - argstr.to = value + len; + argstr.from = value; + argstr.to = value + len; - ret =match_int (&argstr, intval); -if (ret >=0 ) { -if (*intval <0 ) -break ; -return i; - } -if (strncmp (value,RDMACG_MAX_STR , len) ==0 ) { - *intval =S32_MAX ; -return i; - } -break ; + ret =match_int (&argstr, intval); +if (ret >=0 ) { +if (*intval <0 ) +break ; +return i; + } +if (strncmp (value,RDMACG_MAX_STR , len) ==0 ) { + *intval =S32_MAX ; +return i; }return -EINVAL ; }
Signature · 1 line
2.17.0
kbuild test robot
build botI love your patch! Yet something to improve:
Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on cgroup/for-next]
[also build test ERROR on v4.17-rc3 next-20180503]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Andy-Shevchenko/rdmacg-Convert-to-use-match_string-helper/20180504-060313 base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next config: x86_64-randconfig-x010-201817 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
kernel/cgroup/rdma.c: In function 'parse_resource':
>> kernel/cgroup/rdma.c:385:4: error: break statement not within loop or switch
break;
^~~~~vim +385 kernel/cgroup/rdma.c
39d3e758 Parav Pandit 2017-01-10 361
39d3e758 Parav Pandit 2017-01-10 362 static int parse_resource(char *c, int *intval)
39d3e758 Parav Pandit 2017-01-10 363 {
39d3e758 Parav Pandit 2017-01-10 364 substring_t argstr;
39d3e758 Parav Pandit 2017-01-10 365 char *name, *value = c;
39d3e758 Parav Pandit 2017-01-10 366 size_t len;
9022ddfd Andy Shevchenko 2018-05-03 367 int ret, i;
39d3e758 Parav Pandit 2017-01-10 368
39d3e758 Parav Pandit 2017-01-10 369 name = strsep(&value, "=");
39d3e758 Parav Pandit 2017-01-10 370 if (!name || !value)
39d3e758 Parav Pandit 2017-01-10 371 return -EINVAL;
39d3e758 Parav Pandit 2017-01-10 372
39d3e758 Parav Pandit 2017-01-10 373 len = strlen(value);
39d3e758 Parav Pandit 2017-01-10 374
9022ddfd Andy Shevchenko 2018-05-03 375 i = match_string(rdmacg_resource_names, RDMACG_RESOURCE_MAX, name);
9022ddfd Andy Shevchenko 2018-05-03 376 if (i < 0)
9022ddfd Andy Shevchenko 2018-05-03 377 return i;
39d3e758 Parav Pandit 2017-01-10 378
39d3e758 Parav Pandit 2017-01-10 379 argstr.from = value;
39d3e758 Parav Pandit 2017-01-10 380 argstr.to = value + len;
39d3e758 Parav Pandit 2017-01-10 381
39d3e758 Parav Pandit 2017-01-10 382 ret = match_int(&argstr, intval);
39d3e758 Parav Pandit 2017-01-10 383 if (ret >= 0) {
39d3e758 Parav Pandit 2017-01-10 384 if (*intval < 0)
39d3e758 Parav Pandit 2017-01-10 @385 break;
39d3e758 Parav Pandit 2017-01-10 386 return i;
39d3e758 Parav Pandit 2017-01-10 387 }
39d3e758 Parav Pandit 2017-01-10 388 if (strncmp(value, RDMACG_MAX_STR, len) == 0) {
39d3e758 Parav Pandit 2017-01-10 389 *intval = S32_MAX;
39d3e758 Parav Pandit 2017-01-10 390 return i;
39d3e758 Parav Pandit 2017-01-10 391 }
39d3e758 Parav Pandit 2017-01-10 392 return -EINVAL;
39d3e758 Parav Pandit 2017-01-10 393 }
39d3e758 Parav Pandit 2017-01-10 394 :::::: The code at line 385 was first introduced by commit
:::::: 39d3e7584a686541a3295ff1624d341e669e1afc rdmacg: Added rdma cgroup controller
:::::: TO: Parav Pandit <[email protected]> :::::: CC: Tejun Heo <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation