From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Cc: "Raymond Mao" <raymondmaoca@gmail.com>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Michal Simek" <michal.simek@amd.com>,
"Christian Pötzsch" <christian.poetzsch@kernkonzept.com>,
"Marek Vasut" <marek.vasut+renesas@mailbox.org>
Subject: Fwd: New Defects reported by Coverity Scan for Das U-Boot
Date: Tue, 28 Apr 2026 08:04:33 -0600 [thread overview]
Message-ID: <20260428140433.GQ41863@bill-the-cat> (raw)
[-- Attachment #1: Type: text/plain, Size: 16974 bytes --]
Here's the latest report.
---------- Forwarded message ---------
From: <scan-admin@coverity.com>
Date: Mon, Apr 27, 2026, 5:41 PM
Subject: New Defects reported by Coverity Scan for Das U-Boot
To: <tom.rini@gmail.com>
Hi,
Please find the latest report on new defect(s) introduced to *Das U-Boot*
found with Coverity Scan.
- *New Defects Found:* 9
- 77 defect(s), reported by Coverity Scan earlier, were marked fixed in
the recent build analyzed by Coverity Scan.
- *Defects Shown:* Showing 9 of 9 defect(s)
Defect Details
** CID 645841: Incorrect expression (BAD_COMPARE)
/common/bloblist.c: 303 in bloblist_apply_blobs()
_____________________________________________________________________________________________
*** CID 645841: Incorrect expression (BAD_COMPARE)
/common/bloblist.c: 303 in bloblist_apply_blobs()
297 log_err("Failed to apply blob with tag %d\n",
298 tag);
299 return ret;
300 }
301
302 rec = rec_from_blob(blob - dat_off);
>>> CID 645841: Incorrect expression (BAD_COMPARE)
>>> Comparing pointer "rec" against "NULL" using anything besides "==" or "!=" is likely to be incorrect.
303 if (rec <= 0) {
304 log_err("Blob corrupted\n");
305 return -ENOENT;
306 }
307
308 /* Mark applied blob record as void */
** CID 645840: Uninitialized variables (UNINIT)
_____________________________________________________________________________________________
*** CID 645840: Uninitialized variables (UNINIT)
/lib/efi_loader/efi_device_path.c: 967 in efi_dp_from_http()
961 if ((server && strlen("http://") + strlen(server) + 1 >
sizeof(tmp)) ||
962 (!server && IS_ENABLED(CONFIG_NET_LWIP)))
963 return NULL;
964
965 efi_net_get_addr(&ip, &mask, NULL, dev);
966
>>> CID 645840: Uninitialized variables (UNINIT)
>>> Using uninitialized value "ip" when calling "efi_dp_from_ipv4".
967 dp1 = efi_dp_from_ipv4(&ip, &mask, NULL, dev);
968 if (!dp1)
969 return NULL;
970
971
972 strcpy(tmp, "http://");
** CID 645839: Error handling issues (CHECKED_RETURN)
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
_____________________________________________________________________________________________
*** CID 645839: Error handling issues (CHECKED_RETURN)
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645839: Error handling issues (CHECKED_RETURN)
>>> Calling "fdt_pack" without checking return value (as is done elsewhere 5 out of 6 times).
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
** CID 645838: Uninitialized variables (UNINIT)
_____________________________________________________________________________________________
*** CID 645838: Uninitialized variables (UNINIT)
/lib/efi_loader/efi_device_path.c: 967 in efi_dp_from_http()
961 if ((server && strlen("http://") + strlen(server) + 1 >
sizeof(tmp)) ||
962 (!server && IS_ENABLED(CONFIG_NET_LWIP)))
963 return NULL;
964
965 efi_net_get_addr(&ip, &mask, NULL, dev);
966
>>> CID 645838: Uninitialized variables (UNINIT)
>>> Using uninitialized value "mask" when calling "efi_dp_from_ipv4".
967 dp1 = efi_dp_from_ipv4(&ip, &mask, NULL, dev);
968 if (!dp1)
969 return NULL;
970
971
972 strcpy(tmp, "http://");
** CID 645837: (TAINTED_SCALAR)
_____________________________________________________________________________________________
*** CID 645837: (TAINTED_SCALAR)
/lib/fdtdec.c: 1775 in fdtdec_apply_bloblist_dtos()
1769 /* Resize if the current space is not sufficient */
1770 if (blob_size < padded_size) {
1771 ret = bloblist_resize(BLOBLISTT_CONTROL_FDT, padded_size);
1772 if (ret)
1773 return ret;
1774
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_struct" to "fdt_open_into", which uses it as an offset.
1775 ret = fdt_open_into(live_fdt, live_fdt, padded_size);
1776 if (ret)
1777 return ret;
1778 }
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_struct" to "fdt_pack", which uses it as an offset.
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
/lib/fdtdec.c: 1775 in fdtdec_apply_bloblist_dtos()
1769 /* Resize if the current space is not sufficient */
1770 if (blob_size < padded_size) {
1771 ret = bloblist_resize(BLOBLISTT_CONTROL_FDT, padded_size);
1772 if (ret)
1773 return ret;
1774
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->totalsize" to "fdt_open_into", which uses it as an offset.
1775 ret = fdt_open_into(live_fdt, live_fdt, padded_size);
1776 if (ret)
1777 return ret;
1778 }
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
/lib/fdtdec.c: 1775 in fdtdec_apply_bloblist_dtos()
1769 /* Resize if the current space is not sufficient */
1770 if (blob_size < padded_size) {
1771 ret = bloblist_resize(BLOBLISTT_CONTROL_FDT, padded_size);
1772 if (ret)
1773 return ret;
1774
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_strings" to "fdt_open_into", which uses it as an offset.
1775 ret = fdt_open_into(live_fdt, live_fdt, padded_size);
1776 if (ret)
1777 return ret;
1778 }
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_struct" to "fdt_pack", which uses it as an offset.
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_strings" to "fdt_pack", which uses it as an offset.
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_struct" to "fdt_pack", which uses it as an offset.
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
/lib/fdtdec.c: 1785 in fdtdec_apply_bloblist_dtos()
1779
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "live_fdt->size_dt_strings" to "fdt_pack", which uses it as an offset.
1785 fdt_pack(live_fdt);
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
/lib/fdtdec.c: 1786 in fdtdec_apply_bloblist_dtos()
1780 ret = bloblist_apply_blobs(BLOBLISTT_FDT_OVERLAY,
fdtdec_apply_dto_blob);
1781 if (ret)
1782 return ret;
1783
1784 /* Shink the blob to the actual FDT size */
1785 fdt_pack(live_fdt);
>>> CID 645837: (TAINTED_SCALAR)
>>> Passing tainted expression "fdt32_ld(&((struct fdt_header const *)live_fdt)->totalsize)" to "bloblist_resize", which uses it as an offset.
1786 return bloblist_resize(BLOBLISTT_CONTROL_FDT,
fdt_totalsize(live_fdt));
1787 }
1788
1789 int fdtdec_setup(void)
1790 {
1791 int ret = -ENOENT;
** CID 645836: Resource leaks (RESOURCE_LEAK)
/drivers/gpio/gpio_scmi.c: 201 in scmi_gpio_probe()
_____________________________________________________________________________________________
*** CID 645836: Resource leaks (RESOURCE_LEAK)
/drivers/gpio/gpio_scmi.c: 201 in scmi_gpio_probe()
195 return -ENOMEM;
196
197 range->base = args.args[0];
198 if (range->base != priv->num_pins) {
199 dev_err(dev, "no gaps allowed in between pins %d vs %d\n",
200 priv->num_pins, range->base);
>>> CID 645836: Resource leaks (RESOURCE_LEAK)
>>> Variable "range" going out of scope leaks the storage it points to.
201 return -EINVAL;
202 }
203 range->offset = args.args[1];
204 range->npins = args.args[2];
205 priv->num_pins += args.args[2];
206 list_add_tail(&range->list, &priv->gpio_ranges);
** CID 645835: Memory - corruptions (OVERRUN)
/lib/gunzip.c: 248 in gzwrite()
_____________________________________________________________________________________________
*** CID 645835: Memory - corruptions (OVERRUN)
/lib/gunzip.c: 248 in gzwrite()
242 s.avail_out = szwritebuf - numfilled;
243 s.next_out = writebuf + numfilled;
244 } else {
245 s.avail_out = szwritebuf;
246 s.next_out = writebuf;
247 }
>>> CID 645835: Memory - corruptions (OVERRUN)
>>> Calling "inflate" with "s.next_in" and "s.avail_in" is suspicious because of the very large index, 4294966272. The index may be due to a negative parameter being interpreted as unsigned. [Note: The source code implementation of the function has been overridden by a builtin model.]
248 r = inflate(&s, Z_SYNC_FLUSH);
249 if ((r != Z_OK) &&
250 (r != Z_STREAM_END)) {
251 printf("Error: inflate() returned %d\n", r);
252 goto out;
253 }
** CID 645834: Control flow issues (NO_EFFECT)
/drivers/virtio/virtio_blk.c: 184 in virtio_blk_do_req()
_____________________________________________________________________________________________
*** CID 645834: Control flow issues (NO_EFFECT)
/drivers/virtio/virtio_blk.c: 184 in virtio_blk_do_req()
178 */
179 while (i < blkcnt) {
180 u32 blk_per_sg = min(blkcnt - i, seg_sec_cnt * priv->seg_max);
181
182 ret = virtio_blk_do_single_req(dev, sector + i, blk_per_sg,
183 buffer + i * 512, type);
>>> CID 645834: Control flow issues (NO_EFFECT)
>>> This less-than-zero comparison of an unsigned value is never true. "ret < 0UL".
184 if (ret < 0)
185 return ret;
186 i += blk_per_sg;
187 }
188
189 return blkcnt >> priv->blksz_shift;
** CID 645833: Control flow issues (DEADCODE)
/drivers/virtio/virtio_blk.c: 185 in virtio_blk_do_req()
_____________________________________________________________________________________________
*** CID 645833: Control flow issues (DEADCODE)
/drivers/virtio/virtio_blk.c: 185 in virtio_blk_do_req()
179 while (i < blkcnt) {
180 u32 blk_per_sg = min(blkcnt - i, seg_sec_cnt * priv->seg_max);
181
182 ret = virtio_blk_do_single_req(dev, sector + i, blk_per_sg,
183 buffer + i * 512, type);
184 if (ret < 0)
>>> CID 645833: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "return ret;".
185 return ret;
186 i += blk_per_sg;
187 }
188
189 return blkcnt >> priv->blksz_shift;
190 }
View Defects in Coverity Scan
<https://scan.coverity.com/projects/das-u-boot?tab=overview>
Best regards,
The Coverity Scan Admin Team
----- End forwarded message -----
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next reply other threads:[~2026-04-28 14:04 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 14:04 Tom Rini [this message]
2026-04-29 6:31 ` Fwd: New Defects reported by Coverity Scan for Das U-Boot Michal Simek
2026-05-01 22:51 ` Raymond Mao
2026-05-01 22:50 ` Raymond Mao
2026-05-12 8:44 ` Fwd: " Christian Pötzsch
2026-05-12 18:38 ` Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2026-05-11 22:35 Tom Rini
2026-05-08 23:42 Tom Rini
2026-05-14 15:39 ` Lucien.Jheng
2026-04-06 19:12 Tom Rini
2026-03-09 21:23 Tom Rini
2026-03-09 22:05 ` Raphaël Gallais-Pou
2026-03-09 22:13 ` Tom Rini
2026-02-23 19:51 Tom Rini
2026-02-13 22:09 Tom Rini
2026-02-18 23:02 ` Chris Morgan
2026-02-20 16:11 ` Tom Rini
2026-02-20 16:23 ` Chris Morgan
2026-01-16 19:43 Tom Rini
2026-02-09 11:05 ` Guillaume La Roque
2026-02-20 16:11 ` Tom Rini
2026-01-06 20:36 Tom Rini
2026-01-05 23:58 Tom Rini
2026-01-06 9:37 ` Mattijs Korpershoek
2026-01-06 17:15 ` Tom Rini
2026-01-06 10:03 ` Heiko Schocher
2025-12-08 19:38 Tom Rini
2025-11-23 19:03 Tom Rini
2025-11-10 18:55 Tom Rini
2025-10-11 18:06 Tom Rini
2025-10-12 14:22 ` Mikhail Kshevetskiy
2025-10-12 19:07 ` Tom Rini
2025-11-01 6:32 ` Mikhail Kshevetskiy
2025-11-03 15:17 ` Tom Rini
2025-11-03 15:24 ` Michael Nazzareno Trimarchi
2025-08-06 18:35 Tom Rini
2025-08-07 9:17 ` Heiko Schocher
2025-08-08 3:37 ` Maniyam, Dinesh
2025-08-08 4:01 ` Heiko Schocher
2025-07-29 16:32 Tom Rini
2025-07-25 13:26 Tom Rini
2025-07-25 13:34 ` Michal Simek
2025-08-04 9:11 ` Alexander Dahl
2025-07-14 23:29 Tom Rini
2025-07-15 13:45 ` Rasmus Villemoes
2025-07-08 14:10 Tom Rini
2025-04-28 21:59 Tom Rini
2025-04-29 12:07 ` Jerome Forissier
2025-04-30 16:50 ` Marek Vasut
2025-04-30 17:01 ` Tom Rini
2025-04-30 18:23 ` Heinrich Schuchardt
2025-04-30 19:14 ` Tom Rini
2025-03-11 1:49 Tom Rini
2025-02-25 2:39 Tom Rini
2025-02-25 6:06 ` Heiko Schocher
2025-02-25 10:48 ` Quentin Schulz
2025-02-25 10:54 ` Heiko Schocher
2025-02-10 22:26 Tom Rini
2025-02-11 6:14 ` Heiko Schocher
2025-02-11 22:30 ` Tom Rini
2024-12-31 13:55 Tom Rini
2024-12-24 17:14 Tom Rini
2024-11-15 13:27 Tom Rini
2024-11-12 2:11 Tom Rini
2024-10-28 3:11 Tom Rini
2024-10-19 16:16 Tom Rini
2024-10-16 3:47 Tom Rini
2024-10-16 5:56 ` Tudor Ambarus
2024-10-07 17:15 Tom Rini
2024-07-23 14:18 Tom Rini
2024-07-24 9:21 ` Mattijs Korpershoek
2024-07-24 9:45 ` Heinrich Schuchardt
2024-07-24 9:56 ` Mattijs Korpershoek
2024-07-24 10:06 ` Heinrich Schuchardt
2024-07-24 22:40 ` Tom Rini
2024-07-25 8:04 ` Mattijs Korpershoek
2024-07-25 17:16 ` Tom Rini
2024-07-24 9:53 ` Mattijs Korpershoek
2024-04-22 21:48 Tom Rini
2024-01-29 23:55 Tom Rini
2024-01-30 8:14 ` Heinrich Schuchardt
[not found] <20240127154018.GC785631@bill-the-cat>
2024-01-27 20:56 ` Heinrich Schuchardt
2024-01-28 8:51 ` Heinrich Schuchardt
2024-01-22 23:52 Tom Rini
2024-01-22 23:30 Tom Rini
2024-01-23 8:15 ` Hugo Cornelis
[not found] <65a933ab652b3_da12cbd3e77f998728e5@prd-scan-dashboard-0.mail>
2024-01-19 8:47 ` Heinrich Schuchardt
2024-01-18 14:35 Tom Rini
2024-01-08 17:45 Tom Rini
2024-01-09 5:26 ` Sean Anderson
2024-01-09 22:18 ` Tom Rini
2023-08-21 21:09 Tom Rini
2023-08-24 9:27 ` Abdellatif El Khlifi
2023-08-28 16:09 ` Alvaro Fernando García
2023-08-28 16:11 ` Tom Rini
2023-10-20 11:57 ` Abdellatif El Khlifi
2023-10-25 14:57 ` Tom Rini
2023-10-25 15:12 ` Abdellatif El Khlifi
2023-10-25 15:15 ` Tom Rini
2023-10-31 14:21 ` Abdellatif El Khlifi
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=20260428140433.GQ41863@bill-the-cat \
--to=trini@konsulko.com \
--cc=christian.poetzsch@kernkonzept.com \
--cc=ilias.apalodimas@linaro.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=michal.simek@amd.com \
--cc=raymondmaoca@gmail.com \
--cc=u-boot@lists.denx.de \
/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.