Hi steven, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/steven-chen/ima-copy-only-complete-measurement-records-across-kexec/20250305-031719 base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity patch link: https://lore.kernel.org/r/20250304190351.96975-3-chenste%40linux.microsoft.com patch subject: [PATCH v9 2/7] kexec: define functions to map and unmap segments config: x86_64-randconfig-161-20250306 (https://download.01.org/0day-ci/archive/20250306/202503061449.gbVGafZc-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202503061449.gbVGafZc-lkp@xxxxxxxxx/ smatch warnings: kernel/kexec_core.c:896 kimage_map_segment() error: uninitialized symbol 'dest_page_addr'. vim +/dest_page_addr +896 kernel/kexec_core.c bf06eab7ae0f04 steven chen 2025-03-04 870 void *kimage_map_segment(struct kimage *image, bf06eab7ae0f04 steven chen 2025-03-04 871 unsigned long addr, unsigned long size) bf06eab7ae0f04 steven chen 2025-03-04 872 { bf06eab7ae0f04 steven chen 2025-03-04 873 unsigned long eaddr = addr + size; bf06eab7ae0f04 steven chen 2025-03-04 874 unsigned long src_page_addr, dest_page_addr; bf06eab7ae0f04 steven chen 2025-03-04 875 unsigned int npages; bf06eab7ae0f04 steven chen 2025-03-04 876 struct page **src_pages; bf06eab7ae0f04 steven chen 2025-03-04 877 int i; bf06eab7ae0f04 steven chen 2025-03-04 878 kimage_entry_t *ptr, entry; bf06eab7ae0f04 steven chen 2025-03-04 879 void *vaddr = NULL; bf06eab7ae0f04 steven chen 2025-03-04 880 bf06eab7ae0f04 steven chen 2025-03-04 881 /* bf06eab7ae0f04 steven chen 2025-03-04 882 * Collect the source pages and map them in a contiguous VA range. bf06eab7ae0f04 steven chen 2025-03-04 883 */ bf06eab7ae0f04 steven chen 2025-03-04 884 npages = PFN_UP(eaddr) - PFN_DOWN(addr); bf06eab7ae0f04 steven chen 2025-03-04 885 src_pages = kmalloc_array(npages, sizeof(*src_pages), GFP_KERNEL); bf06eab7ae0f04 steven chen 2025-03-04 886 if (!src_pages) { bf06eab7ae0f04 steven chen 2025-03-04 887 pr_err("Could not allocate ima pages array.\n"); bf06eab7ae0f04 steven chen 2025-03-04 888 return NULL; bf06eab7ae0f04 steven chen 2025-03-04 889 } bf06eab7ae0f04 steven chen 2025-03-04 890 bf06eab7ae0f04 steven chen 2025-03-04 891 i = 0; bf06eab7ae0f04 steven chen 2025-03-04 892 for_each_kimage_entry(image, ptr, entry) { bf06eab7ae0f04 steven chen 2025-03-04 893 if (entry & IND_DESTINATION) { bf06eab7ae0f04 steven chen 2025-03-04 894 dest_page_addr = entry & PAGE_MASK; Is the first entry always IND_DESTINATION? bf06eab7ae0f04 steven chen 2025-03-04 895 } else if (entry & IND_SOURCE) { bf06eab7ae0f04 steven chen 2025-03-04 @896 if (dest_page_addr >= addr && dest_page_addr < eaddr) { ^^^^^^^^^^^^^^ otherwise this is uninitialized bf06eab7ae0f04 steven chen 2025-03-04 897 src_page_addr = entry & PAGE_MASK; bf06eab7ae0f04 steven chen 2025-03-04 898 src_pages[i++] = bf06eab7ae0f04 steven chen 2025-03-04 899 virt_to_page(__va(src_page_addr)); bf06eab7ae0f04 steven chen 2025-03-04 900 if (i == npages) bf06eab7ae0f04 steven chen 2025-03-04 901 break; bf06eab7ae0f04 steven chen 2025-03-04 902 dest_page_addr += PAGE_SIZE; bf06eab7ae0f04 steven chen 2025-03-04 903 } bf06eab7ae0f04 steven chen 2025-03-04 904 } bf06eab7ae0f04 steven chen 2025-03-04 905 } bf06eab7ae0f04 steven chen 2025-03-04 906 bf06eab7ae0f04 steven chen 2025-03-04 907 /* Sanity check. */ bf06eab7ae0f04 steven chen 2025-03-04 908 WARN_ON(i < npages); bf06eab7ae0f04 steven chen 2025-03-04 909 bf06eab7ae0f04 steven chen 2025-03-04 910 vaddr = vmap(src_pages, npages, VM_MAP, PAGE_KERNEL); bf06eab7ae0f04 steven chen 2025-03-04 911 kfree(src_pages); bf06eab7ae0f04 steven chen 2025-03-04 912 bf06eab7ae0f04 steven chen 2025-03-04 913 if (!vaddr) bf06eab7ae0f04 steven chen 2025-03-04 914 pr_err("Could not map ima buffer.\n"); bf06eab7ae0f04 steven chen 2025-03-04 915 bf06eab7ae0f04 steven chen 2025-03-04 916 return vaddr; bf06eab7ae0f04 steven chen 2025-03-04 917 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki