Re: [PATCH 3/3] vmalloc: Add debugfs modfraginfo

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

 



Hi Rick,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.18-rc1 next-20180620]
[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/Rick-Edgecombe/KASLR-feature-to-randomize-each-loadable-module/20180621-061051
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=parisc 

All errors (new ones prefixed by >>):

   mm/vmalloc.c: In function 'modulefraginfo_debug_show':
>> mm/vmalloc.c:2821:27: error: 'MODULES_VADDR' undeclared (first use in this function); did you mean 'MODULE_AUTHOR'?
     unsigned long last_end = MODULES_VADDR;
                              ^~~~~~~~~~~~~
                              MODULE_AUTHOR
   mm/vmalloc.c:2821:27: note: each undeclared identifier is reported only once for each function it appears in
   mm/vmalloc.c:2834:22: error: 'MODULES_END' undeclared (first use in this function); did you mean 'MODULES_VADDR'?
       && obj->va_end <= MODULES_END) {
                         ^~~~~~~~~~~
                         MODULES_VADDR

vim +2821 mm/vmalloc.c

  2817	
  2818	static int modulefraginfo_debug_show(struct seq_file *m, void *v)
  2819	{
  2820		struct list_head *i;
> 2821		unsigned long last_end = MODULES_VADDR;
  2822		unsigned long total_free = 0;
  2823		unsigned long largest_free = 0;
  2824		unsigned long backup_cnt = 0;
  2825		unsigned long gap;
  2826	
  2827		spin_lock(&vmap_area_lock);
  2828	
  2829		list_for_each(i, &vmap_area_list) {
  2830			struct vmap_area *obj = list_entry(i, struct vmap_area, list);
  2831	
  2832			if (!(obj->flags & VM_LAZY_FREE)
  2833				&& obj->va_start >= MODULES_VADDR
  2834				&& obj->va_end <= MODULES_END) {
  2835	
  2836				if (obj->va_start >= get_backup_start())
  2837					backup_cnt++;
  2838	
  2839				gap = (obj->va_start - last_end);
  2840				if (gap > largest_free)
  2841					largest_free = gap;
  2842				total_free += gap;
  2843	
  2844				last_end = obj->va_end;
  2845			}
  2846		}
  2847	
  2848		gap = (MODULES_END - last_end);
  2849		if (gap > largest_free)
  2850			largest_free = gap;
  2851		total_free += gap;
  2852	
  2853		spin_unlock(&vmap_area_lock);
  2854	
  2855		seq_printf(m, "Largest free space:\t\t%lu\n", largest_free);
  2856		if (total_free)
  2857			seq_printf(m, "External Memory Fragementation:\t%lu%%\n",
  2858				100-(100*largest_free/total_free));
  2859		else
  2860			seq_puts(m, "External Memory Fragementation:\t0%%\n");
  2861	
  2862		print_backup_area(m, backup_cnt);
  2863	
  2864		return 0;
  2865	}
  2866	

---
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 ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux