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