[agraf-2.6:kexec-cma 1/2] kernel/kexec_core.c:801 kimage_load_normal_segment() error: uninitialized symbol 'result'.
Dan Carpenter <[email protected]> Tue, 13 May 2025 17:38:20 +0300
| Newsgroups | org.kernel.vger.kvm-ppc,dev.linux.lists.oe-kbuild,dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
tree: https://github.com/agraf/linux-2.6.git kexec-cma head: 752619bbe38c535612b1a9e5b47ea7d962c63449 commit: 1e91ce490239e53ac0b4ad9aea3ebed48d1edf51 [1/2] kexec: Use CMA config: x86_64-randconfig-161-20250510 (https://download.01.org/0day-ci/archive/20250511/[email protected]/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 <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ smatch warnings: kernel/kexec_core.c:801 kimage_load_normal_segment() error: uninitialized symbol 'result'. vim +/result +801 kernel/kexec_core.c 2965faa5e03d1e Dave Young 2015-09-09 734 static int kimage_load_normal_segment(struct kimage *image, 2965faa5e03d1e Dave Young 2015-09-09 735 struct kexec_segment *segment) 2965faa5e03d1e Dave Young 2015-09-09 736 { 2965faa5e03d1e Dave Young 2015-09-09 737 unsigned long maddr; 2965faa5e03d1e Dave Young 2015-09-09 738 size_t ubytes, mbytes; 2965faa5e03d1e Dave Young 2015-09-09 739 int result; 2965faa5e03d1e Dave Young 2015-09-09 740 unsigned char __user *buf = NULL; 2965faa5e03d1e Dave Young 2015-09-09 741 unsigned char *kbuf = NULL; 1e91ce490239e5 Alexander Graf 2025-05-09 742 bool dest_intact = false; 2965faa5e03d1e Dave Young 2015-09-09 743 2965faa5e03d1e Dave Young 2015-09-09 744 if (image->file_mode) 2965faa5e03d1e Dave Young 2015-09-09 745 kbuf = segment->kbuf; 2965faa5e03d1e Dave Young 2015-09-09 746 else 2965faa5e03d1e Dave Young 2015-09-09 747 buf = segment->buf; 2965faa5e03d1e Dave Young 2015-09-09 748 ubytes = segment->bufsz; 2965faa5e03d1e Dave Young 2015-09-09 749 mbytes = segment->memsz; 2965faa5e03d1e Dave Young 2015-09-09 750 maddr = segment->mem; 2965faa5e03d1e Dave Young 2015-09-09 751 2965faa5e03d1e Dave Young 2015-09-09 752 while (mbytes) { 2965faa5e03d1e Dave Young 2015-09-09 753 struct page *page; 2965faa5e03d1e Dave Young 2015-09-09 754 char *ptr; 2965faa5e03d1e Dave Young 2015-09-09 755 size_t uchunk, mchunk; 2965faa5e03d1e Dave Young 2015-09-09 756 2965faa5e03d1e Dave Young 2015-09-09 757 page = kimage_alloc_page(image, GFP_HIGHUSER, maddr); 2965faa5e03d1e Dave Young 2015-09-09 758 if (!page) { 2965faa5e03d1e Dave Young 2015-09-09 759 result = -ENOMEM; 2965faa5e03d1e Dave Young 2015-09-09 760 goto out; 2965faa5e03d1e Dave Young 2015-09-09 761 } 1e91ce490239e5 Alexander Graf 2025-05-09 762 1e91ce490239e5 Alexander Graf 2025-05-09 763 /* Add page to copy list if it's not already in place */ 1e91ce490239e5 Alexander Graf 2025-05-09 764 if (page_to_boot_pfn(page) << PAGE_SHIFT != maddr) { 1e91ce490239e5 Alexander Graf 2025-05-09 765 if (!dest_intact) { 1e91ce490239e5 Alexander Graf 2025-05-09 766 result = kimage_set_destination(image, maddr); 1e91ce490239e5 Alexander Graf 2025-05-09 767 if (result < 0) 1e91ce490239e5 Alexander Graf 2025-05-09 768 goto out; 1e91ce490239e5 Alexander Graf 2025-05-09 769 dest_intact = true; 1e91ce490239e5 Alexander Graf 2025-05-09 770 } 1e91ce490239e5 Alexander Graf 2025-05-09 771 43546d8669d62d Russell King 2016-08-02 772 result = kimage_add_page(image, page_to_boot_pfn(page) 2965faa5e03d1e Dave Young 2015-09-09 773 << PAGE_SHIFT); 2965faa5e03d1e Dave Young 2015-09-09 774 if (result < 0) 2965faa5e03d1e Dave Young 2015-09-09 775 goto out; 1e91ce490239e5 Alexander Graf 2025-05-09 776 } else { 1e91ce490239e5 Alexander Graf 2025-05-09 777 dest_intact = false; result not set on this path. 1e91ce490239e5 Alexander Graf 2025-05-09 778 } 2965faa5e03d1e Dave Young 2015-09-09 779 948084f0f6959f Fabio M. De Francesco 2022-08-21 780 ptr = kmap_local_page(page); 2965faa5e03d1e Dave Young 2015-09-09 781 /* Start with a clear page */ 2965faa5e03d1e Dave Young 2015-09-09 782 clear_page(ptr); 2965faa5e03d1e Dave Young 2015-09-09 783 ptr += maddr & ~PAGE_MASK; 2965faa5e03d1e Dave Young 2015-09-09 784 mchunk = min_t(size_t, mbytes, 2965faa5e03d1e Dave Young 2015-09-09 785 PAGE_SIZE - (maddr & ~PAGE_MASK)); 2965faa5e03d1e Dave Young 2015-09-09 786 uchunk = min(ubytes, mchunk); 2965faa5e03d1e Dave Young 2015-09-09 787 4bb7be96fc8871 yang.zhang 2024-02-22 788 if (uchunk) { 2965faa5e03d1e Dave Young 2015-09-09 789 /* For file based kexec, source pages are in kernel memory */ 2965faa5e03d1e Dave Young 2015-09-09 790 if (image->file_mode) 2965faa5e03d1e Dave Young 2015-09-09 791 memcpy(ptr, kbuf, uchunk); 2965faa5e03d1e Dave Young 2015-09-09 792 else 2965faa5e03d1e Dave Young 2015-09-09 793 result = copy_from_user(ptr, buf, uchunk); 4bb7be96fc8871 yang.zhang 2024-02-22 794 ubytes -= uchunk; 4bb7be96fc8871 yang.zhang 2024-02-22 795 if (image->file_mode) 4bb7be96fc8871 yang.zhang 2024-02-22 796 kbuf += uchunk; 4bb7be96fc8871 yang.zhang 2024-02-22 797 else 4bb7be96fc8871 yang.zhang 2024-02-22 798 buf += uchunk; 4bb7be96fc8871 yang.zhang 2024-02-22 799 } 948084f0f6959f Fabio M. De Francesco 2022-08-21 800 kunmap_local(ptr); 2965faa5e03d1e Dave Young 2015-09-09 @801 if (result) { 2965faa5e03d1e Dave Young 2015-09-09 802 result = -EFAULT; 2965faa5e03d1e Dave Young 2015-09-09 803 goto out; 2965faa5e03d1e Dave Young 2015-09-09 804 } 2965faa5e03d1e Dave Young 2015-09-09 805 maddr += mchunk; 2965faa5e03d1e Dave Young 2015-09-09 806 mbytes -= mchunk; a8311f647e4196 Jarrett Farnitano 2018-06-14 807 a8311f647e4196 Jarrett Farnitano 2018-06-14 808 cond_resched(); 2965faa5e03d1e Dave Young 2015-09-09 809 } 2965faa5e03d1e Dave Young 2015-09-09 810 out: 2965faa5e03d1e Dave Young 2015-09-09 811 return result; 2965faa5e03d1e Dave Young 2015-09-09 812 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki