Re: [PATCH v2] mm: workingset: fix NULL ptr dereference

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Minchan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180410]
[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/Minchan-Kim/mm-workingset-fix-NULL-ptr-dereference/20180410-163500
config: x86_64-randconfig-x014-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   lib/radix-tree.c: In function 'radix_tree_preload':
>> lib/radix-tree.c:522:16: error: 'GFP_ZERO' undeclared (first use in this function); did you mean '__GFP_ZERO'?
      gfp_mask &= ~GFP_ZERO
                   ^~~~~~~~
                   __GFP_ZERO
   lib/radix-tree.c:522:16: note: each undeclared identifier is reported only once for each function it appears in
>> lib/radix-tree.c:524:2: error: expected ';' before 'return'
     return __radix_tree_preload(gfp_mask, RADIX_TREE_PRELOAD_SIZE);
     ^~~~~~
>> lib/radix-tree.c:525:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^

vim +522 lib/radix-tree.c

   500	
   501	/*
   502	 * Load up this CPU's radix_tree_node buffer with sufficient objects to
   503	 * ensure that the addition of a single element in the tree cannot fail.  On
   504	 * success, return zero, with preemption disabled.  On error, return -ENOMEM
   505	 * with preemption not disabled.
   506	 *
   507	 * To make use of this facility, the radix tree must be initialised without
   508	 * __GFP_DIRECT_RECLAIM being passed to INIT_RADIX_TREE().
   509	 */
   510	int radix_tree_preload(gfp_t gfp_mask)
   511	{
   512		/* Warn on non-sensical use... */
   513		WARN_ON_ONCE(!gfpflags_allow_blocking(gfp_mask));
   514		/*
   515		 * New allocate node must have node->private_list as INIT_LIST_HEAD
   516		 * state by workingset shadow memory implementation.
   517		 * If user pass  __GFP_ZERO by mistake, slab allocator will clear
   518		 * node->private_list, which makes a BUG. Rather than going Oops,
   519		 * just fix and warn about it.
   520		 */
   521		if (WARN_ON(gfp_mask & __GFP_ZERO))
 > 522			gfp_mask &= ~GFP_ZERO
   523	
 > 524		return __radix_tree_preload(gfp_mask, RADIX_TREE_PRELOAD_SIZE);
 > 525	}
   526	EXPORT_SYMBOL(radix_tree_preload);
   527	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux