From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47F5CC433ED for ; Tue, 13 Apr 2021 22:39:47 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id BA38D611CC for ; Tue, 13 Apr 2021 22:39:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA38D611CC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 545F16B0072; Tue, 13 Apr 2021 18:39:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 51C2C6B0073; Tue, 13 Apr 2021 18:39:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 397696B0074; Tue, 13 Apr 2021 18:39:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0206.hostedemail.com [216.40.44.206]) by kanga.kvack.org (Postfix) with ESMTP id 1E5156B0072 for ; Tue, 13 Apr 2021 18:39:46 -0400 (EDT) Received: from smtpin38.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id D80F51802E6C7 for ; Tue, 13 Apr 2021 22:39:45 +0000 (UTC) X-FDA: 78028812330.38.AD462CB Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf02.hostedemail.com (Postfix) with ESMTP id CCB9D40002C1 for ; Tue, 13 Apr 2021 22:39:29 +0000 (UTC) IronPort-SDR: gXE5E+uHiZd27Qsn8jWIDGg2qftPK5OupXs0pPB32+FSIlsZ32F/w5GJ6SLhBJ1uDy/86Bl6fL 2caJxqOzZ0Cw== X-IronPort-AV: E=McAfee;i="6200,9189,9953"; a="194081059" X-IronPort-AV: E=Sophos;i="5.82,220,1613462400"; d="scan'208";a="194081059" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2021 15:39:43 -0700 IronPort-SDR: TCV1wBreGJ/wMOdXL1uvRt1ClwIIP7iIXfE8Ji86vPsLVVtjhjWX8nDZMm8H/6eOGTy5dAmWZL v23H4ct+cekQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,220,1613462400"; d="scan'208";a="532452768" Received: from lkp-server01.sh.intel.com (HELO 69d8fcc516b7) ([10.239.97.150]) by orsmga004.jf.intel.com with ESMTP; 13 Apr 2021 15:39:40 -0700 Received: from kbuild by 69d8fcc516b7 with local (Exim 4.92) (envelope-from ) id 1lWRh5-0001Kh-N7; Tue, 13 Apr 2021 22:39:39 +0000 Date: Wed, 14 Apr 2021 06:39:15 +0800 From: kernel test robot To: Yu Zhao , linux-mm@kvack.org Cc: kbuild-all@lists.01.org, Alex Shi , Andi Kleen , Andrew Morton , Linux Memory Management List , Benjamin Manes , Dave Chinner , Dave Hansen , Hillf Danton , Jens Axboe Subject: Re: [PATCH v2 14/16] mm: multigenerational lru: user interface Message-ID: <202104140636.BHTZxlS1-lkp@intel.com> References: <20210413065633.2782273-15-yuzhao@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210413065633.2782273-15-yuzhao@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Stat-Signature: fdrdn4jozkbje7xebwkiwwu1kdyj563i X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: CCB9D40002C1 Received-SPF: none (intel.com>: No applicable sender policy available) receiver=imf02; identity=mailfrom; envelope-from=""; helo=mga14.intel.com; client-ip=192.55.52.115 X-HE-DKIM-Result: none/none X-HE-Tag: 1618353569-276225 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/x86/core] [also build test WARNING on cgroup/for-next tip/x86/mm fuse/for-next tip/perf/core tip/sched/core linus/master v5.12-rc7] [cannot apply to hnaz-linux-mm/master next-20210413] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/Multigenerational-LRU-Framework/20210413-145844 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 99cb64de36d5c9397a664808b92943e35bdce25e compiler: h8300-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot cppcheck possible warnings: (new ones prefixed by >>, may not real problems) mm/vmscan.c:4110:22: warning: Local variable kswapd shadows outer function [shadowFunction] struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:3912:12: note: Shadowed declaration static int kswapd(void *p) ^ mm/vmscan.c:4110:22: note: Shadow variable struct task_struct *kswapd = NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:5460:7: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] if (!args) ^ mm/vmscan.c:5435:15: note: 'alloc' is assigned value '!args' here. bool alloc = !args; ^ mm/vmscan.c:5458:6: note: outer condition: alloc if (alloc) { ^ mm/vmscan.c:5460:7: note: identical inner condition: !args if (!args) ^ >> mm/vmscan.c:6613:7: warning: %u in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, ^ mm/vmscan.c:4712:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4712:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4713:32: warning: Possible null pointer dereference: args [nullPointer] int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4713:32: note: Null pointer dereference int sid = sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:4726:28: warning: Possible null pointer dereference: args [nullPointer] sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argument 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4726:28: note: Null pointer dereference sid = sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:4758:12: warning: Possible null pointer dereference: args [nullPointer] int nid = args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4758:12: note: Null pointer dereference int nid = args->node_id; ^ mm/vmscan.c:4759:48: warning: Possible null pointer dereference: args [nullPointer] struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4759:48: note: Null pointer dereference struct lru_gen_mm_list *mm_list = get_mm_list(args->memcg); ^ mm/vmscan.c:4768:12: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4768:12: note: Null pointer dereference VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:4769:21: warning: Possible null pointer dereference: args [nullPointer] VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument 'args' value is 0 last = get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4769:21: note: Null pointer dereference VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); vim +6613 mm/vmscan.c 6579 6580 static ssize_t lru_gen_seq_write(struct file *file, const char __user *src, 6581 size_t len, loff_t *pos) 6582 { 6583 void *buf; 6584 char *cur, *next; 6585 int err = 0; 6586 6587 buf = kvmalloc(len + 1, GFP_USER); 6588 if (!buf) 6589 return -ENOMEM; 6590 6591 if (copy_from_user(buf, src, len)) { 6592 kvfree(buf); 6593 return -EFAULT; 6594 } 6595 6596 next = buf; 6597 next[len] = '\0'; 6598 6599 while ((cur = strsep(&next, ",;\n"))) { 6600 int n; 6601 int end; 6602 char cmd; 6603 int memcg_id; 6604 int nid; 6605 unsigned long seq; 6606 int swappiness = -1; 6607 unsigned long nr_to_reclaim = -1; 6608 6609 cur = skip_spaces(cur); 6610 if (!*cur) 6611 continue; 6612 > 6613 n = sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &nid, 6614 &seq, &end, &swappiness, &end, &nr_to_reclaim, &end); 6615 if (n < 4 || cur[end]) { 6616 err = -EINVAL; 6617 break; 6618 } 6619 6620 err = advance_seq(cmd, memcg_id, nid, seq, swappiness, nr_to_reclaim); 6621 if (err) 6622 break; 6623 } 6624 6625 kvfree(buf); 6626 6627 return err ? : len; 6628 } 6629 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4649108283672444058==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v2 14/16] mm: multigenerational lru: user interface Date: Wed, 14 Apr 2021 06:39:15 +0800 Message-ID: <202104140636.BHTZxlS1-lkp@intel.com> In-Reply-To: <20210413065633.2782273-15-yuzhao@google.com> List-Id: --===============4649108283672444058== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/x86/core] [also build test WARNING on cgroup/for-next tip/x86/mm fuse/for-next tip/pe= rf/core tip/sched/core linus/master v5.12-rc7] [cannot apply to hnaz-linux-mm/master next-20210413] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/Multigenerational-= LRU-Framework/20210413-145844 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 99cb64d= e36d5c9397a664808b92943e35bdce25e compiler: h8300-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot cppcheck possible warnings: (new ones prefixed by >>, may not real problems) mm/vmscan.c:4110:22: warning: Local variable kswapd shadows outer functi= on [shadowFunction] struct task_struct *kswapd =3D NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:3912:12: note: Shadowed declaration static int kswapd(void *p) ^ mm/vmscan.c:4110:22: note: Shadow variable struct task_struct *kswapd =3D NODE_DATA(nid)->kswapd; ^ mm/vmscan.c:5460:7: warning: Identical inner 'if' condition is always tr= ue. [identicalInnerCondition] if (!args) ^ mm/vmscan.c:5435:15: note: 'alloc' is assigned value '!args' here. bool alloc =3D !args; ^ mm/vmscan.c:5458:6: note: outer condition: alloc if (alloc) { ^ mm/vmscan.c:5460:7: note: identical inner condition: !args if (!args) ^ >> mm/vmscan.c:6613:7: warning: %u in format string (no. 2) requires 'unsig= ned int *' but the argument type is 'signed int *'. [invalidScanfArgType_in= t] n =3D sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &ni= d, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 3) requires 'unsig= ned int *' but the argument type is 'signed int *'. [invalidScanfArgType_in= t] n =3D sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &ni= d, ^ mm/vmscan.c:6613:7: warning: %u in format string (no. 6) requires 'unsig= ned int *' but the argument type is 'signed int *'. [invalidScanfArgType_in= t] n =3D sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id, &ni= d, ^ mm/vmscan.c:4712:12: warning: Possible null pointer dereference: args [n= ullPointer] int nid =3D args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argume= nt 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4712:12: note: Null pointer dereference int nid =3D args->node_id; ^ mm/vmscan.c:4713:32: warning: Possible null pointer dereference: args [n= ullPointer] int sid =3D sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argume= nt 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4713:32: note: Null pointer dereference int sid =3D sid_from_seq_or_gen(args->max_seq); ^ mm/vmscan.c:4726:28: warning: Possible null pointer dereference: args [n= ullPointer] sid =3D sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4803:32: note: Calling function 'reset_mm_stats', 3rd argume= nt 'args' value is 0 reset_mm_stats(mm_list, last, args); ^ mm/vmscan.c:4726:28: note: Null pointer dereference sid =3D sid_from_seq_or_gen(args->max_seq + 1); ^ mm/vmscan.c:4758:12: warning: Possible null pointer dereference: args [n= ullPointer] int nid =3D args->node_id; ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4758:12: note: Null pointer dereference int nid =3D args->node_id; ^ mm/vmscan.c:4759:48: warning: Possible null pointer dereference: args [n= ullPointer] struct lru_gen_mm_list *mm_list =3D get_mm_list(args->memcg); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4759:48: note: Null pointer dereference struct lru_gen_mm_list *mm_list =3D get_mm_list(args->memcg); ^ mm/vmscan.c:4768:12: warning: Possible null pointer dereference: args [n= ullPointer] VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4768:12: note: Null pointer dereference VM_BUG_ON(args->max_seq > mm_list->nodes[nid].cur_seq + 1); ^ mm/vmscan.c:4769:21: warning: Possible null pointer dereference: args [n= ullPointer] VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); ^ mm/vmscan.c:5947:55: note: Calling function 'walk_mm_list', 5th argument= 'NULL' value is 0 return walk_mm_list(lruvec, max_seq, sc, swappiness, NULL) ? nr_to_scan= : 0; ^ mm/vmscan.c:5471:22: note: Calling function 'get_next_mm', 1st argument = 'args' value is 0 last =3D get_next_mm(args, swappiness, &mm); ^ mm/vmscan.c:4769:21: note: Null pointer dereference VM_BUG_ON(*iter && args->max_seq < mm_list->nodes[nid].cur_seq); vim +6613 mm/vmscan.c 6579 = 6580 static ssize_t lru_gen_seq_write(struct file *file, const char __use= r *src, 6581 size_t len, loff_t *pos) 6582 { 6583 void *buf; 6584 char *cur, *next; 6585 int err =3D 0; 6586 = 6587 buf =3D kvmalloc(len + 1, GFP_USER); 6588 if (!buf) 6589 return -ENOMEM; 6590 = 6591 if (copy_from_user(buf, src, len)) { 6592 kvfree(buf); 6593 return -EFAULT; 6594 } 6595 = 6596 next =3D buf; 6597 next[len] =3D '\0'; 6598 = 6599 while ((cur =3D strsep(&next, ",;\n"))) { 6600 int n; 6601 int end; 6602 char cmd; 6603 int memcg_id; 6604 int nid; 6605 unsigned long seq; 6606 int swappiness =3D -1; 6607 unsigned long nr_to_reclaim =3D -1; 6608 = 6609 cur =3D skip_spaces(cur); 6610 if (!*cur) 6611 continue; 6612 = > 6613 n =3D sscanf(cur, "%c %u %u %lu %n %u %n %lu %n", &cmd, &memcg_id,= &nid, 6614 &seq, &end, &swappiness, &end, &nr_to_reclaim, &end); 6615 if (n < 4 || cur[end]) { 6616 err =3D -EINVAL; 6617 break; 6618 } 6619 = 6620 err =3D advance_seq(cmd, memcg_id, nid, seq, swappiness, nr_to_rec= laim); 6621 if (err) 6622 break; 6623 } 6624 = 6625 kvfree(buf); 6626 = 6627 return err ? : len; 6628 } 6629 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --===============4649108283672444058==--