[lvc-project] [PATCH 6.1] mm/damon: get rid of overlapping areas
Fedor Pchelkin
pchelkin at ispras.ru
Tue Jun 23 12:50:00 MSK 2026
On Tue, 23. Jun 12:43, Markov Gleb wrote:
> @@ -1003,19 +1003,27 @@ static ssize_t dbgfs_monitor_on_write(struct file *file,
> {
> ssize_t ret;
> char *kbuf;
> + char *token;
> + char *temp_buf;
>
> kbuf = user_input_str(buf, count, ppos);
> if (IS_ERR(kbuf))
> return PTR_ERR(kbuf);
>
> - /* Remove white space */
> - if (sscanf(kbuf, "%s", kbuf) != 1) {
> + /* Will use temporary to avoid problems with original */
> + temp_buf = kbuf;
> +
> + do {
> + token = strsep(&temp_buf, " \t\r\n\v\f");
Что это?
Просьба заиспользовать существующую в ядре функцию для очистки
пробельных символов из конца буфера.
> + } while (token && *token == '\0');
> +
> + if (!token) {
> kfree(kbuf);
> return -EINVAL;
> }
>
> mutex_lock(&damon_dbgfs_lock);
> - if (!strncmp(kbuf, "on", count)) {
> + if (!strcmp(token, "on")) {
Зачем?
> int i;
>
> for (i = 0; i < dbgfs_nr_ctxs; i++) {
> @@ -1026,7 +1034,7 @@ static ssize_t dbgfs_monitor_on_write(struct file *file,
> }
> }
> ret = damon_start(dbgfs_ctxs, dbgfs_nr_ctxs, true);
> - } else if (!strncmp(kbuf, "off", count)) {
> + } else if (!strcmp(token, "off")) {
Зачем?
> ret = damon_stop(dbgfs_ctxs, dbgfs_nr_ctxs);
> } else {
> ret = -EINVAL;
> --
> 2.43.0
More information about the lvc-project
mailing list