BCC: [email protected]
CC: [email protected]
In-Reply-To: <2203731.iZASKD2KPV@devpool047>
References: <2203731.iZASKD2KPV@devpool047>
TO: Rolf Eike Beer <[email protected]>

Hi Rolf,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on linus/master v6.0-rc2]
[cannot apply to next-20220823]
[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#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Rolf-Eike-Beer/Minor-improvements-for-pagewalk-code/20220822-214107
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git 
mm-everything
:::::: branch date: 19 hours ago
:::::: commit date: 19 hours ago
config: x86_64-randconfig-m001 
(https://download.01.org/0day-ci/archive/20220823/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
mm/pagewalk.c:248 walk_p4d_range() error: uninitialized symbol 'err'.
mm/pagewalk.c:287 walk_pgd_range() error: uninitialized symbol 'err'.
mm/pagewalk.c:324 walk_hugetlb_range() error: uninitialized symbol 'err'.

vim +/err +248 mm/pagewalk.c

e6473092bd9116 Matt Mackall       2008-02-04  217  
c2febafc67734a Kirill A. Shutemov 2017-03-09  218  static int 
walk_p4d_range(pgd_t *pgd, unsigned long addr, unsigned long end,
c2febafc67734a Kirill A. Shutemov 2017-03-09  219                         
struct mm_walk *walk)
c2febafc67734a Kirill A. Shutemov 2017-03-09  220  {
c2febafc67734a Kirill A. Shutemov 2017-03-09  221       p4d_t *p4d;
c2febafc67734a Kirill A. Shutemov 2017-03-09  222       unsigned long next;
7b86ac3371b70c Christoph Hellwig  2019-08-28  223       const struct 
mm_walk_ops *ops = walk->ops;
b7a16c7ad790d0 Steven Price       2020-02-03  224       int depth = 
real_depth(1);
c2febafc67734a Kirill A. Shutemov 2017-03-09  225  
c2febafc67734a Kirill A. Shutemov 2017-03-09  226       p4d = p4d_offset(pgd, 
addr);
c2febafc67734a Kirill A. Shutemov 2017-03-09  227       do {
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  228               int err;
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  229  
c2febafc67734a Kirill A. Shutemov 2017-03-09  230               next = 
p4d_addr_end(addr, end);
c2febafc67734a Kirill A. Shutemov 2017-03-09  231               if 
(p4d_none_or_clear_bad(p4d)) {
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  232                       if 
(ops->pte_hole) {
b7a16c7ad790d0 Steven Price       2020-02-03  233                               
err = ops->pte_hole(addr, next, depth, walk);
c2febafc67734a Kirill A. Shutemov 2017-03-09  234                               
if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  235                               
        return err;
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  236                       }
c2febafc67734a Kirill A. Shutemov 2017-03-09  237                       
continue;
c2febafc67734a Kirill A. Shutemov 2017-03-09  238               }
3afc423632a194 Steven Price       2020-02-03  239               if 
(ops->p4d_entry) {
3afc423632a194 Steven Price       2020-02-03  240                       err = 
ops->p4d_entry(p4d, addr, next, walk);
3afc423632a194 Steven Price       2020-02-03  241                       if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  242                               
return err;
3afc423632a194 Steven Price       2020-02-03  243               }
e17eae2b839937 Christophe Leroy   2021-06-28  244               if 
(is_hugepd(__hugepd(p4d_val(*p4d))))
e17eae2b839937 Christophe Leroy   2021-06-28  245                       err = 
walk_hugepd_range((hugepd_t *)p4d, addr, next, walk, P4D_SHIFT);
e17eae2b839937 Christophe Leroy   2021-06-28  246               else if 
(ops->pud_entry || ops->pmd_entry || ops->pte_entry)
c2febafc67734a Kirill A. Shutemov 2017-03-09  247                       err = 
walk_pud_range(p4d, addr, next, walk);
c2febafc67734a Kirill A. Shutemov 2017-03-09 @248               if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  249                       return 
err;
c2febafc67734a Kirill A. Shutemov 2017-03-09  250       } while (p4d++, addr = 
next, addr != end);
c2febafc67734a Kirill A. Shutemov 2017-03-09  251  
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  252       return 0;
c2febafc67734a Kirill A. Shutemov 2017-03-09  253  }
c2febafc67734a Kirill A. Shutemov 2017-03-09  254  
fafaa4264eba49 Naoya Horiguchi    2015-02-11  255  static int 
walk_pgd_range(unsigned long addr, unsigned long end,
fafaa4264eba49 Naoya Horiguchi    2015-02-11  256                         
struct mm_walk *walk)
fafaa4264eba49 Naoya Horiguchi    2015-02-11  257  {
fafaa4264eba49 Naoya Horiguchi    2015-02-11  258       pgd_t *pgd;
fafaa4264eba49 Naoya Horiguchi    2015-02-11  259       unsigned long next;
7b86ac3371b70c Christoph Hellwig  2019-08-28  260       const struct 
mm_walk_ops *ops = walk->ops;
fafaa4264eba49 Naoya Horiguchi    2015-02-11  261  
e47690d756a760 Steven Price       2020-02-03  262       if (walk->pgd)
e47690d756a760 Steven Price       2020-02-03  263               pgd = walk->pgd 
+ pgd_index(addr);
e47690d756a760 Steven Price       2020-02-03  264       else
fafaa4264eba49 Naoya Horiguchi    2015-02-11  265               pgd = 
pgd_offset(walk->mm, addr);
fafaa4264eba49 Naoya Horiguchi    2015-02-11  266       do {
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  267               int err;
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  268  
fafaa4264eba49 Naoya Horiguchi    2015-02-11  269               next = 
pgd_addr_end(addr, end);
fafaa4264eba49 Naoya Horiguchi    2015-02-11  270               if 
(pgd_none_or_clear_bad(pgd)) {
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  271                       if 
(ops->pte_hole) {
b7a16c7ad790d0 Steven Price       2020-02-03  272                               
err = ops->pte_hole(addr, next, 0, walk);
fafaa4264eba49 Naoya Horiguchi    2015-02-11  273                               
if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  274                               
        return err;
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  275                       }
fafaa4264eba49 Naoya Horiguchi    2015-02-11  276                       
continue;
fafaa4264eba49 Naoya Horiguchi    2015-02-11  277               }
3afc423632a194 Steven Price       2020-02-03  278               if 
(ops->pgd_entry) {
3afc423632a194 Steven Price       2020-02-03  279                       err = 
ops->pgd_entry(pgd, addr, next, walk);
3afc423632a194 Steven Price       2020-02-03  280                       if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  281                               
return err;
3afc423632a194 Steven Price       2020-02-03  282               }
e17eae2b839937 Christophe Leroy   2021-06-28  283               if 
(is_hugepd(__hugepd(pgd_val(*pgd))))
e17eae2b839937 Christophe Leroy   2021-06-28  284                       err = 
walk_hugepd_range((hugepd_t *)pgd, addr, next, walk, PGDIR_SHIFT);
e17eae2b839937 Christophe Leroy   2021-06-28  285               else if 
(ops->p4d_entry || ops->pud_entry || ops->pmd_entry || ops->pte_entry)
c2febafc67734a Kirill A. Shutemov 2017-03-09  286                       err = 
walk_p4d_range(pgd, addr, next, walk);
fafaa4264eba49 Naoya Horiguchi    2015-02-11 @287               if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  288                       return 
err;
fafaa4264eba49 Naoya Horiguchi    2015-02-11  289       } while (pgd++, addr = 
next, addr != end);
fafaa4264eba49 Naoya Horiguchi    2015-02-11  290  
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  291       return 0;
fafaa4264eba49 Naoya Horiguchi    2015-02-11  292  }
fafaa4264eba49 Naoya Horiguchi    2015-02-11  293  
116354d177ba2d Naoya Horiguchi    2010-04-06  294  #ifdef CONFIG_HUGETLB_PAGE
116354d177ba2d Naoya Horiguchi    2010-04-06  295  static unsigned long 
hugetlb_entry_end(struct hstate *h, unsigned long addr,
116354d177ba2d Naoya Horiguchi    2010-04-06  296                               
       unsigned long end)
116354d177ba2d Naoya Horiguchi    2010-04-06  297  {
116354d177ba2d Naoya Horiguchi    2010-04-06  298       unsigned long boundary 
= (addr & huge_page_mask(h)) + huge_page_size(h);
116354d177ba2d Naoya Horiguchi    2010-04-06  299       return boundary < end ? 
boundary : end;
116354d177ba2d Naoya Horiguchi    2010-04-06  300  }
116354d177ba2d Naoya Horiguchi    2010-04-06  301  
fafaa4264eba49 Naoya Horiguchi    2015-02-11  302  static int 
walk_hugetlb_range(unsigned long addr, unsigned long end,
116354d177ba2d Naoya Horiguchi    2010-04-06  303                             
struct mm_walk *walk)
116354d177ba2d Naoya Horiguchi    2010-04-06  304  {
fafaa4264eba49 Naoya Horiguchi    2015-02-11  305       struct vm_area_struct 
*vma = walk->vma;
116354d177ba2d Naoya Horiguchi    2010-04-06  306       struct hstate *h = 
hstate_vma(vma);
116354d177ba2d Naoya Horiguchi    2010-04-06  307       unsigned long next;
116354d177ba2d Naoya Horiguchi    2010-04-06  308       unsigned long hmask = 
huge_page_mask(h);
7868a2087ec13e Punit Agrawal      2017-07-06  309       unsigned long sz = 
huge_page_size(h);
116354d177ba2d Naoya Horiguchi    2010-04-06  310       pte_t *pte;
7b86ac3371b70c Christoph Hellwig  2019-08-28  311       const struct 
mm_walk_ops *ops = walk->ops;
116354d177ba2d Naoya Horiguchi    2010-04-06  312  
116354d177ba2d Naoya Horiguchi    2010-04-06  313       do {
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  314               int err;
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  315  
116354d177ba2d Naoya Horiguchi    2010-04-06  316               next = 
hugetlb_entry_end(h, addr, end);
7868a2087ec13e Punit Agrawal      2017-07-06  317               pte = 
huge_pte_offset(walk->mm, addr & hmask, sz);
373c4557d2aa36 Jann Horn          2017-11-14  318  
373c4557d2aa36 Jann Horn          2017-11-14  319               if (pte)
7b86ac3371b70c Christoph Hellwig  2019-08-28  320                       err = 
ops->hugetlb_entry(pte, hmask, addr, next, walk);
7b86ac3371b70c Christoph Hellwig  2019-08-28  321               else if 
(ops->pte_hole)
b7a16c7ad790d0 Steven Price       2020-02-03  322                       err = 
ops->pte_hole(addr, next, -1, walk);
373c4557d2aa36 Jann Horn          2017-11-14  323  
116354d177ba2d Naoya Horiguchi    2010-04-06 @324               if (err)
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  325                       return 
err;
116354d177ba2d Naoya Horiguchi    2010-04-06  326       } while (addr = next, 
addr != end);
116354d177ba2d Naoya Horiguchi    2010-04-06  327  
40d6cb9177b6a9 Rolf Eike Beer     2022-08-22  328       return 0;
116354d177ba2d Naoya Horiguchi    2010-04-06  329  }
6c6d5280431544 KOSAKI Motohiro    2011-07-25  330  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to