[scan-admin at coverity.com: New Defects reported by Coverity Scan for Das U-Boot]
Tom Rini
trini at konsulko.com
Tue Apr 26 01:41:36 CEST 2022
----- Forwarded message from scan-admin at coverity.com -----
Date: Mon, 25 Apr 2022 23:38:10 +0000 (UTC)
From: scan-admin at coverity.com
To: tom.rini at gmail.com
Subject: New Defects reported by Coverity Scan for Das U-Boot
Hi,
Please find the latest report on new defect(s) introduced to Das U-Boot found with Coverity Scan.
21 new defect(s) introduced to Das U-Boot found with Coverity Scan.
4 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 20 of 21 defect(s)
** CID 352464: Memory - illegal accesses (NO_EFFECT)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4291 in _wrap_fdt_property_data_set()
________________________________________________________________________________________________________
*** CID 352464: Memory - illegal accesses (NO_EFFECT)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4291 in _wrap_fdt_property_data_set()
4285 res2 = SWIG_AsCharArray(swig_obj[1], temp2, 0);
4286 if (!SWIG_IsOK(res2)) {
4287 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fdt_property_data_set" "', argument " "2"" of type '" "char [0]""'");
4288 }
4289 arg2 = (char *)(temp2);
4290 if (arg2) memcpy(arg1->data,arg2,0*sizeof(char));
>>> CID 352464: Memory - illegal accesses (NO_EFFECT)
>>> Calling "memset" with size 0: "memset(arg1->data, 0, 0UL)" does nothing.
4291 else memset(arg1->data,0,0*sizeof(char));
4292 resultobj = SWIG_Py_Void();
4293 return resultobj;
4294 fail:
4295 return NULL;
4296 }
** CID 352463: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4030 in _wrap_fdt_node_header_name_set()
________________________________________________________________________________________________________
*** CID 352463: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4030 in _wrap_fdt_node_header_name_set()
4024 res2 = SWIG_AsCharArray(swig_obj[1], temp2, 0);
4025 if (!SWIG_IsOK(res2)) {
4026 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fdt_node_header_name_set" "', argument " "2"" of type '" "char [0]""'");
4027 }
4028 arg2 = (char *)(temp2);
4029 if (arg2) memcpy(arg1->name,arg2,0*sizeof(char));
>>> CID 352463: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "memset(arg1->name, 0, 0UL);".
4030 else memset(arg1->name,0,0*sizeof(char));
4031 resultobj = SWIG_Py_Void();
4032 return resultobj;
4033 fail:
4034 return NULL;
4035 }
** CID 352462: Insecure data handling (TAINTED_SCALAR)
________________________________________________________________________________________________________
*** CID 352462: Insecure data handling (TAINTED_SCALAR)
/drivers/gpio/gpio-uclass.c: 1203 in gpio_request_by_line_name()
1197 return ret;
1198
1199 desc->dev = dev;
1200 desc->offset = ret;
1201 desc->flags = 0;
1202
>>> CID 352462: Insecure data handling (TAINTED_SCALAR)
>>> Passing tainted expression "desc->offset" to "dm_gpio_request", which uses it as an offset.
1203 ret = dm_gpio_request(desc, line_name);
1204 if (ret) {
1205 debug("%s: dm_gpio_requestf failed\n", __func__);
1206 return ret;
1207 }
1208
** CID 352461: Control flow issues (UNREACHABLE)
/drivers/block/blk-uclass.c: 568 in blk_find_first()
________________________________________________________________________________________________________
*** CID 352461: Control flow issues (UNREACHABLE)
/drivers/block/blk-uclass.c: 568 in blk_find_first()
562 int blk_find_first(enum blk_flag_t flags, struct udevice **devp)
563 {
564 int ret;
565
566 for (ret = uclass_find_first_device(UCLASS_BLK, devp);
567 *devp && !blk_flags_check(*devp, flags);
>>> CID 352461: Control flow issues (UNREACHABLE)
>>> Since the loop increment "ret = uclass_find_next_devi..." is unreachable, the loop body will never execute more than once.
568 ret = uclass_find_next_device(devp))
569 return 0;
570
571 return -ENODEV;
572 }
573
** CID 352460: Memory - illegal accesses (RETURN_LOCAL)
/drivers/clk/clk_scmi.c: 56 in scmi_clk_get_attibute()
________________________________________________________________________________________________________
*** CID 352460: Memory - illegal accesses (RETURN_LOCAL)
/drivers/clk/clk_scmi.c: 56 in scmi_clk_get_attibute()
50 int ret;
51
52 ret = devm_scmi_process_msg(dev, &msg);
53 if (ret)
54 return ret;
55
>>> CID 352460: Memory - illegal accesses (RETURN_LOCAL)
>>> Returning, through "*name", the address of stack variable "out".
56 *name = out.clock_name;
57
58 return 0;
59 }
60
61 static int scmi_clk_gate(struct clk *clk, int enable)
** CID 352459: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5877 in _wrap_fdt_get_name()
________________________________________________________________________________________________________
*** CID 352459: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5877 in _wrap_fdt_get_name()
5871 arg2 = (int)(val2);
5872 result = (char *)fdt_get_name((void const *)arg1,arg2,arg3);
5873 resultobj = SWIG_FromCharPtr((const char *)result);
5874 if (SWIG_IsTmpObj(res3)) {
5875 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3)));
5876 } else {
>>> CID 352459: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res3 >= 0 && ...".
5877 int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
5878 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags));
5879 }
5880 return resultobj;
5881 fail:
5882 return NULL;
** CID 352458: Control flow issues (UNREACHABLE)
/drivers/block/blk-uclass.c: 580 in blk_find_next()
________________________________________________________________________________________________________
*** CID 352458: Control flow issues (UNREACHABLE)
/drivers/block/blk-uclass.c: 580 in blk_find_next()
574 int blk_find_next(enum blk_flag_t flags, struct udevice **devp)
575 {
576 int ret;
577
578 for (ret = uclass_find_next_device(devp);
579 *devp && !blk_flags_check(*devp, flags);
>>> CID 352458: Control flow issues (UNREACHABLE)
>>> Since the loop increment "ret = uclass_find_next_devi..." is unreachable, the loop body will never execute more than once.
580 ret = uclass_find_next_device(devp))
581 return 0;
582
583 return -ENODEV;
584 }
585
** CID 352457: Null pointer dereferences (FORWARD_NULL)
/drivers/net/phy/phy.c: 990 in fixed_phy_create()
________________________________________________________________________________________________________
*** CID 352457: Null pointer dereferences (FORWARD_NULL)
/drivers/net/phy/phy.c: 990 in fixed_phy_create()
984 }
985
986 phydev = phy_device_create(NULL, 0, PHY_FIXED_ID, false);
987 if (phydev)
988 phydev->node = subnode;
989
>>> CID 352457: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "phydev".
990 phydev->interface = ofnode_read_phy_mode(node);
991
992 return phydev;
993 }
994
995 static struct phy_device *phy_connect_fixed(struct mii_dev *bus,
** CID 352456: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5996 in _wrap_fdt_get_property_by_offset()
________________________________________________________________________________________________________
*** CID 352456: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5996 in _wrap_fdt_get_property_by_offset()
5990 resultobj = SWIG_Python_AppendOutput(resultobj, buff);
5991 }
5992 }
5993 if (SWIG_IsTmpObj(res3)) {
5994 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3)));
5995 } else {
>>> CID 352456: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res3 >= 0 && ...".
5996 int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
5997 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags));
5998 }
5999 return resultobj;
6000 fail:
6001 return NULL;
** CID 352455: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6058 in _wrap_fdt_get_property()
________________________________________________________________________________________________________
*** CID 352455: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6058 in _wrap_fdt_get_property()
6052 resultobj = SWIG_Python_AppendOutput(resultobj, buff);
6053 }
6054 }
6055 if (SWIG_IsTmpObj(res4)) {
6056 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4)));
6057 } else {
>>> CID 352455: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res4 >= 0 && ...".
6058 int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
6059 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags));
6060 }
6061 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
6062 return resultobj;
6063 fail:
** CID 352454: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6239 in _wrap_fdt_getprop_w()
________________________________________________________________________________________________________
*** CID 352454: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6239 in _wrap_fdt_getprop_w()
6233 arg3 = (char *)(buf3);
6234 result = (void *)fdt_getprop_w(arg1,arg2,(char const *)arg3,arg4);
6235 resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0 );
6236 if (SWIG_IsTmpObj(res4)) {
6237 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4)));
6238 } else {
>>> CID 352454: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res4 >= 0 && ...".
6239 int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
6240 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags));
6241 }
6242 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
6243 return resultobj;
6244 fail:
** CID 352453: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6122 in _wrap_fdt_get_property_w()
________________________________________________________________________________________________________
*** CID 352453: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6122 in _wrap_fdt_get_property_w()
6116 resultobj = SWIG_Python_AppendOutput(resultobj, buff);
6117 }
6118 }
6119 if (SWIG_IsTmpObj(res4)) {
6120 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4)));
6121 } else {
>>> CID 352453: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res4 >= 0 && ...".
6122 int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
6123 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags));
6124 }
6125 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
6126 return resultobj;
6127 fail:
** CID 352452: Memory - corruptions (OVERRUN)
/fs/erofs/fs.c: 151 in erofs_readdir()
________________________________________________________________________________________________________
*** CID 352452: Memory - corruptions (OVERRUN)
/fs/erofs/fs.c: 151 in erofs_readdir()
145
146 de = (struct erofs_dirent *)(dirs->dblk + erofs_blkoff(pos));
147 nameoff = le16_to_cpu(de->nameoff);
148 de_name = (char *)dirs->dblk + nameoff;
149
150 /* the last dirent in the block? */
>>> CID 352452: Memory - corruptions (OVERRUN)
>>> "de + 1" evaluates to an address that is at byte offset 4107 of an array of 4096 bytes.
151 if (de + 1 >= (struct erofs_dirent *)(dirs->dblk + dirs->de_end))
152 de_namelen = strnlen(de_name, dirs->maxsize - nameoff);
153 else
154 de_namelen = le16_to_cpu(de[1].nameoff) - nameoff;
155
156 /* a corrupted entry is found */
** CID 352451: Control flow issues (DEADCODE)
/boot/bootflow.c: 226 in bootflow_check()
________________________________________________________________________________________________________
*** CID 352451: Control flow issues (DEADCODE)
/boot/bootflow.c: 226 in bootflow_check()
220 if (iter->flags & BOOTFLOWF_ALL)
221 return log_msg_ret("all", ret);
222 }
223 if (ret)
224 return log_msg_ret("check", ret);
225
>>> CID 352451: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "return 0;".
226 return 0;
227 }
228
229 int bootflow_scan_bootdev(struct udevice *dev, struct bootflow_iter *iter,
230 int flags, struct bootflow *bflow)
231 {
** CID 352450: (TAINTED_SCALAR)
________________________________________________________________________________________________________
*** CID 352450: (TAINTED_SCALAR)
/net/eth_common.c: 129 in eth_set_current()
123 char *ethprime = env_get("ethprime");
124 void *dev = NULL;
125
126 if (ethprime)
127 dev = eth_get_dev_by_name(ethprime);
128 if (dev)
>>> CID 352450: (TAINTED_SCALAR)
>>> Passing tainted expression "*dev->priv_" to "eth_set_dev", which uses it as an offset.
129 eth_set_dev(dev);
130 else
131 eth_set_dev(NULL);
132 } else {
133 eth_set_dev(eth_get_dev_by_name(act));
134 }
/net/eth_common.c: 129 in eth_set_current()
123 char *ethprime = env_get("ethprime");
124 void *dev = NULL;
125
126 if (ethprime)
127 dev = eth_get_dev_by_name(ethprime);
128 if (dev)
>>> CID 352450: (TAINTED_SCALAR)
>>> Passing tainted expression "*dev->parent_priv_" to "eth_set_dev", which uses it as an offset.
129 eth_set_dev(dev);
130 else
131 eth_set_dev(NULL);
132 } else {
133 eth_set_dev(eth_get_dev_by_name(act));
134 }
/net/eth_common.c: 129 in eth_set_current()
123 char *ethprime = env_get("ethprime");
124 void *dev = NULL;
125
126 if (ethprime)
127 dev = eth_get_dev_by_name(ethprime);
128 if (dev)
>>> CID 352450: (TAINTED_SCALAR)
>>> Passing tainted expression "*dev->uclass_priv_" to "eth_set_dev", which uses it as an offset.
129 eth_set_dev(dev);
130 else
131 eth_set_dev(NULL);
132 } else {
133 eth_set_dev(eth_get_dev_by_name(act));
134 }
** CID 352449: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5542 in _wrap_fdt_get_string()
________________________________________________________________________________________________________
*** CID 352449: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 5542 in _wrap_fdt_get_string()
5536 arg2 = (int)(val2);
5537 result = (char *)fdt_get_string((void const *)arg1,arg2,arg3);
5538 resultobj = SWIG_FromCharPtr((const char *)result);
5539 if (SWIG_IsTmpObj(res3)) {
5540 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3)));
5541 } else {
>>> CID 352449: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res3 >= 0 && ...".
5542 int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
5543 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags));
5544 }
5545 return resultobj;
5546 fail:
5547 return NULL;
** CID 352448: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4291 in _wrap_fdt_property_data_set()
________________________________________________________________________________________________________
*** CID 352448: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4291 in _wrap_fdt_property_data_set()
4285 res2 = SWIG_AsCharArray(swig_obj[1], temp2, 0);
4286 if (!SWIG_IsOK(res2)) {
4287 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fdt_property_data_set" "', argument " "2"" of type '" "char [0]""'");
4288 }
4289 arg2 = (char *)(temp2);
4290 if (arg2) memcpy(arg1->data,arg2,0*sizeof(char));
>>> CID 352448: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "memset(arg1->data, 0, 0UL);".
4291 else memset(arg1->data,0,0*sizeof(char));
4292 resultobj = SWIG_Py_Void();
4293 return resultobj;
4294 fail:
4295 return NULL;
4296 }
** CID 352447: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6864 in _wrap_fdt_stringlist_get()
________________________________________________________________________________________________________
*** CID 352447: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6864 in _wrap_fdt_stringlist_get()
6858 arg4 = (int)(val4);
6859 result = (char *)fdt_stringlist_get((void const *)arg1,arg2,(char const *)arg3,arg4,arg5);
6860 resultobj = SWIG_FromCharPtr((const char *)result);
6861 if (SWIG_IsTmpObj(res5)) {
6862 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg5)));
6863 } else {
>>> CID 352447: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res5 >= 0 && ...".
6864 int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
6865 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags));
6866 }
6867 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
6868 return resultobj;
6869 fail:
** CID 352446: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6185 in _wrap_fdt_getprop()
________________________________________________________________________________________________________
*** CID 352446: Control flow issues (DEADCODE)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 6185 in _wrap_fdt_getprop()
6179 resultobj = Py_BuildValue("s#", result, *arg4);
6180 #endif
6181 }
6182 if (SWIG_IsTmpObj(res4)) {
6183 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4)));
6184 } else {
>>> CID 352446: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "new_flags" inside this statement: "new_flags = ((res4 >= 0 && ...".
6185 int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ;
6186 resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags));
6187 }
6188 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
6189 return resultobj;
6190 fail:
** CID 352445: Memory - illegal accesses (NO_EFFECT)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4030 in _wrap_fdt_node_header_name_set()
________________________________________________________________________________________________________
*** CID 352445: Memory - illegal accesses (NO_EFFECT)
/scripts/dtc/pylibfdt/libfdt_wrap.c: 4030 in _wrap_fdt_node_header_name_set()
4024 res2 = SWIG_AsCharArray(swig_obj[1], temp2, 0);
4025 if (!SWIG_IsOK(res2)) {
4026 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fdt_node_header_name_set" "', argument " "2"" of type '" "char [0]""'");
4027 }
4028 arg2 = (char *)(temp2);
4029 if (arg2) memcpy(arg1->name,arg2,0*sizeof(char));
>>> CID 352445: Memory - illegal accesses (NO_EFFECT)
>>> Calling "memset" with size 0: "memset(arg1->name, 0, 0UL)" does nothing.
4030 else memset(arg1->name,0,0*sizeof(char));
4031 resultobj = SWIG_Py_Void();
4032 return resultobj;
4033 fail:
4034 return NULL;
4035 }
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoA22WlOQ-2By3ieUvdbKmOyw68TMVT4Kip-2BBzfOGWXJ5yIiYplmPF9KAnKIja4Zd7tU-3DPkY8_EEm8SbLgSDsaDZif-2Bv7ch8WqhKpLoKErHi4nXpwDNTszK3GDZ9otc8DV3LsnT3z-2F28zz8q5lyeH4hij-2F4stU6mHKHoiYMCCzT6sqvh0yjfRtFJBeQgBYEqn2q85ANfte0TE5DnZksPKtSgc-2ByzT03KaKrNTAA8tRIAJ9D42pLh1urVtQBUaLcD6pi-2F4pw8lD32lkT0HLL97L6TKqmit1uQ-3D-3D
To manage Coverity Scan email notifications for "tom.rini at gmail.com", click https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yped04pjJnmXOsUBtKYNIXxWeIHzDeopm-2BEWQ6S6K-2FtUHv9ZTk8qZbuzkkz9sa-2BJFwJpnH7TdCssKXId9ROfNiDuiUJRwNJQFpbHtj7ECbuia38O4wcdCAa38qtgl2vIVc-3DMDdx_EEm8SbLgSDsaDZif-2Bv7ch8WqhKpLoKErHi4nXpwDNTszK3GDZ9otc8DV3LsnT3z-2FB7wXaOEj7Qci1j-2FZgcO8RxSEjMQGaVeLa-2BejYGjSjU5GtjJmbYXiBXZdcDueNljgGGfbYLk7HuX6dpJHxlDbZVOhkuA1FuAUrWa39egd3Wsmt0lqPCa3QPGFEIPi6AFogH4XKCYOcjA8lBuD58N82g-3D-3D
----- End forwarded message -----
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20220425/5e97cedf/attachment.sig>
More information about the U-Boot
mailing list