From: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
To: kbuild-all@lists.01.org
Subject: Re: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret'
Date: Mon, 06 Dec 2021 12:33:07 -0800 [thread overview]
Message-ID: <29aa717b-a862-e6b0-0286-9dd948968efa@linux.microsoft.com> (raw)
In-Reply-To: <CAL_JsqKzsCvS2QKUo7x4eJ2s6p4=3_d38hyMvsVt7RySjHoGgw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 8446 bytes --]
Yes Rob - will do it this week.
thanks,
-lakshmi
On 12/6/2021 12:31 PM, Rob Herring wrote:
> On Wed, Dec 1, 2021 at 5:47 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: c5c17547b778975b3d83a73c8d84e8fb5ecf3ba5
>> commit: ac10be5cdbfa852139658d52c2f1c608782ce992 arm64: Use common of_kexec_alloc_and_setup_fdt()
>> config: arm64-randconfig-m031-20211127 (https://download.01.org/0day-ci/archive/20211128/202111280304.FL2314qf-lkp(a)intel.com/config)
>> compiler: aarch64-linux-gcc (GCC) 11.2.0
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>>
>> smatch warnings:
>> arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret'
>
> Lakshmi, Can you please prepare a fix for this. It's been reported since July.
>
>>
>> vim +/ret +152 arch/arm64/kernel/machine_kexec_file.c
>>
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 81 int load_other_segments(struct kimage *image,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 82 unsigned long kernel_load_addr,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 83 unsigned long kernel_size,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 84 char *initrd, unsigned long initrd_len,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 85 char *cmdline)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 86 {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 87 struct kexec_buf kbuf;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 88 void *headers, *dtb = NULL;
>> 108aa503657ee2 Benjamin Gwin 2020-11-03 89 unsigned long headers_sz, initrd_load_addr = 0, dtb_len,
>> 108aa503657ee2 Benjamin Gwin 2020-11-03 90 orig_segments = image->nr_segments;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 91 int ret = 0;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 92
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 93 kbuf.image = image;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 94 /* not allocate anything below the kernel */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 95 kbuf.buf_min = kernel_load_addr + kernel_size;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 96
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 97 /* load elf core header */
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 98 if (image->type == KEXEC_TYPE_CRASH) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 99 ret = prepare_elf_headers(&headers, &headers_sz);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 100 if (ret) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 101 pr_err("Preparing elf core header failed\n");
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 102 goto out_err;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 103 }
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 104
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 105 kbuf.buffer = headers;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 106 kbuf.bufsz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 107 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 108 kbuf.memsz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 109 kbuf.buf_align = SZ_64K; /* largest supported page size */
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 110 kbuf.buf_max = ULONG_MAX;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 111 kbuf.top_down = true;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 112
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 113 ret = kexec_add_buffer(&kbuf);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 114 if (ret) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 115 vfree(headers);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 116 goto out_err;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 117 }
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 118 image->elf_headers = headers;
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 119 image->elf_load_addr = kbuf.mem;
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 120 image->elf_headers_sz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 121
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 122 pr_debug("Loaded elf core header at 0x%lx bufsz=0x%lx memsz=0x%lx\n",
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 123 image->elf_load_addr, kbuf.bufsz, kbuf.memsz);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 124 }
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 125
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 126 /* load initrd */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 127 if (initrd) {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 128 kbuf.buffer = initrd;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 129 kbuf.bufsz = initrd_len;
>> c19d050f808812 Bhupesh Sharma 2019-07-11 130 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 131 kbuf.memsz = initrd_len;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 132 kbuf.buf_align = 0;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 133 /* within 1GB-aligned window of up to 32GB in size */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 134 kbuf.buf_max = round_down(kernel_load_addr, SZ_1G)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 135 + (unsigned long)SZ_1G * 32;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 136 kbuf.top_down = false;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 137
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 138 ret = kexec_add_buffer(&kbuf);
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 139 if (ret)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 140 goto out_err;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 141 initrd_load_addr = kbuf.mem;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 142
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 143 pr_debug("Loaded initrd at 0x%lx bufsz=0x%lx memsz=0x%lx\n",
>> 51075e0cb759a7 Łukasz Stelmach 2020-04-30 144 initrd_load_addr, kbuf.bufsz, kbuf.memsz);
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 145 }
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 146
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 147 /* load dtb */
>> ac10be5cdbfa85 Rob Herring 2021-02-21 148 dtb = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr,
>> ac10be5cdbfa85 Rob Herring 2021-02-21 149 initrd_len, cmdline, 0);
>> ac10be5cdbfa85 Rob Herring 2021-02-21 150 if (!dtb) {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 151 pr_err("Preparing for new dtb failed\n");
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 @152 goto out_err;
>> ^^^^^^^^^^^^^
>> This needs an error code.
>>
>> ---
>> 0-DAY CI Kernel Test Service, Intel Corporation
>> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>>
WARNING: multiple messages have this Message-ID (diff)
From: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
To: Rob Herring <robh@kernel.org>, Dan Carpenter <dan.carpenter@oracle.com>
Cc: kbuild@lists.01.org, lkp@intel.com, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org,
Thiago Jung Bauermann <bauerman@linux.ibm.com>
Subject: Re: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret'
Date: Mon, 6 Dec 2021 12:33:07 -0800 [thread overview]
Message-ID: <29aa717b-a862-e6b0-0286-9dd948968efa@linux.microsoft.com> (raw)
In-Reply-To: <CAL_JsqKzsCvS2QKUo7x4eJ2s6p4=3_d38hyMvsVt7RySjHoGgw@mail.gmail.com>
Yes Rob - will do it this week.
thanks,
-lakshmi
On 12/6/2021 12:31 PM, Rob Herring wrote:
> On Wed, Dec 1, 2021 at 5:47 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: c5c17547b778975b3d83a73c8d84e8fb5ecf3ba5
>> commit: ac10be5cdbfa852139658d52c2f1c608782ce992 arm64: Use common of_kexec_alloc_and_setup_fdt()
>> config: arm64-randconfig-m031-20211127 (https://download.01.org/0day-ci/archive/20211128/202111280304.FL2314qf-lkp@intel.com/config)
>> compiler: aarch64-linux-gcc (GCC) 11.2.0
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>>
>> smatch warnings:
>> arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret'
>
> Lakshmi, Can you please prepare a fix for this. It's been reported since July.
>
>>
>> vim +/ret +152 arch/arm64/kernel/machine_kexec_file.c
>>
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 81 int load_other_segments(struct kimage *image,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 82 unsigned long kernel_load_addr,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 83 unsigned long kernel_size,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 84 char *initrd, unsigned long initrd_len,
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 85 char *cmdline)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 86 {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 87 struct kexec_buf kbuf;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 88 void *headers, *dtb = NULL;
>> 108aa503657ee2 Benjamin Gwin 2020-11-03 89 unsigned long headers_sz, initrd_load_addr = 0, dtb_len,
>> 108aa503657ee2 Benjamin Gwin 2020-11-03 90 orig_segments = image->nr_segments;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 91 int ret = 0;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 92
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 93 kbuf.image = image;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 94 /* not allocate anything below the kernel */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 95 kbuf.buf_min = kernel_load_addr + kernel_size;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 96
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 97 /* load elf core header */
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 98 if (image->type == KEXEC_TYPE_CRASH) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 99 ret = prepare_elf_headers(&headers, &headers_sz);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 100 if (ret) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 101 pr_err("Preparing elf core header failed\n");
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 102 goto out_err;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 103 }
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 104
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 105 kbuf.buffer = headers;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 106 kbuf.bufsz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 107 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 108 kbuf.memsz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 109 kbuf.buf_align = SZ_64K; /* largest supported page size */
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 110 kbuf.buf_max = ULONG_MAX;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 111 kbuf.top_down = true;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 112
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 113 ret = kexec_add_buffer(&kbuf);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 114 if (ret) {
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 115 vfree(headers);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 116 goto out_err;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 117 }
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 118 image->elf_headers = headers;
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 119 image->elf_load_addr = kbuf.mem;
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 120 image->elf_headers_sz = headers_sz;
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 121
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 122 pr_debug("Loaded elf core header at 0x%lx bufsz=0x%lx memsz=0x%lx\n",
>> 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 123 image->elf_load_addr, kbuf.bufsz, kbuf.memsz);
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 124 }
>> 3751e728cef290 AKASHI Takahiro 2019-12-16 125
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 126 /* load initrd */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 127 if (initrd) {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 128 kbuf.buffer = initrd;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 129 kbuf.bufsz = initrd_len;
>> c19d050f808812 Bhupesh Sharma 2019-07-11 130 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 131 kbuf.memsz = initrd_len;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 132 kbuf.buf_align = 0;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 133 /* within 1GB-aligned window of up to 32GB in size */
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 134 kbuf.buf_max = round_down(kernel_load_addr, SZ_1G)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 135 + (unsigned long)SZ_1G * 32;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 136 kbuf.top_down = false;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 137
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 138 ret = kexec_add_buffer(&kbuf);
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 139 if (ret)
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 140 goto out_err;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 141 initrd_load_addr = kbuf.mem;
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 142
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 143 pr_debug("Loaded initrd at 0x%lx bufsz=0x%lx memsz=0x%lx\n",
>> 51075e0cb759a7 Łukasz Stelmach 2020-04-30 144 initrd_load_addr, kbuf.bufsz, kbuf.memsz);
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 145 }
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 146
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 147 /* load dtb */
>> ac10be5cdbfa85 Rob Herring 2021-02-21 148 dtb = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr,
>> ac10be5cdbfa85 Rob Herring 2021-02-21 149 initrd_len, cmdline, 0);
>> ac10be5cdbfa85 Rob Herring 2021-02-21 150 if (!dtb) {
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 151 pr_err("Preparing for new dtb failed\n");
>> 52b2a8af743604 AKASHI Takahiro 2018-11-15 @152 goto out_err;
>> ^^^^^^^^^^^^^
>> This needs an error code.
>>
>> ---
>> 0-DAY CI Kernel Test Service, Intel Corporation
>> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>>
next prev parent reply other threads:[~2021-12-06 20:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-27 20:07 arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret' kernel test robot
2021-12-01 11:46 ` Dan Carpenter
2021-12-01 11:46 ` Dan Carpenter
2021-12-06 20:31 ` Rob Herring
2021-12-06 20:31 ` Rob Herring
2021-12-06 20:33 ` Lakshmi Ramasubramanian [this message]
2021-12-06 20:33 ` Lakshmi Ramasubramanian
-- strict thread matches above, loose matches on Subject: below --
2021-07-03 2:05 kernel test robot
2021-07-03 13:01 ` Dan Carpenter
2021-07-03 13:01 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=29aa717b-a862-e6b0-0286-9dd948968efa@linux.microsoft.com \
--to=nramas@linux.microsoft.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.