Messages in this thread | | | Date | Mon, 18 May 2020 14:50:26 +0300 | From | Andy Shevchenko <> | Subject | Re: [PATCH V4 4/4] x86/resctrl: Use appropriate API for strings terminated by newline |
| |
On Sat, May 16, 2020 at 11:28:41AM -0700, Reinette Chatre wrote: > The user input to files in the resctrl filesystem are expected to be > terminated with a newline. Testing the user input includes a test for > the presence of a newline and then replacing the newline with NUL > byte followed by comparison using strcmp(). > > sysfs_streq() exists to test if strings are equal, treating both NUL and > newline-then-NUL as equivalent string terminations. Even more, > sysfs_match_string() exists to match a given string in an array using > sysfs_streq(). > > Replace existing strcmp() comparisons of strings that are terminated > with a newline with more appropriate sysfs_streq() via the > sysfs_match_string() API that can perform the match across the different > mode strings that are already maintained in an array.
Sorry for late comment, but just have noticed...
> if (mode == RDT_MODE_PSEUDO_LOCKED) { > @@ -1445,14 +1450,14 @@ static ssize_t rdtgroup_mode_write(struct kernfs_open_file *of, > goto out; > } > > - if (!strcmp(buf, "shareable")) { > + if (user_m == RDT_MODE_SHAREABLE) { > if (rdtgrp->mode == RDT_MODE_PSEUDO_LOCKSETUP) { > ret = rdtgroup_locksetup_exit(rdtgrp); > if (ret) > goto out; > }
> rdtgrp->mode = RDT_MODE_SHAREABLE;
...can we simple move this and similar (in other branches) to...
> - } else { > - rdt_last_cmd_puts("Unknown or unsupported mode\n"); > - ret = -EINVAL; > }
...here as
rdtgrp->mode = user_m;
?
> out:
Note, I didn't check all branches carefully.
-- With Best Regards, Andy Shevchenko
| |