From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de, Simon Glass <sjg@chromium.org>,
Sean Anderson <seanga2@gmail.com>
Subject: [scan-admin@coverity.com: New Defects reported by Coverity Scan for Das U-Boot]
Date: Mon, 26 Jul 2021 22:52:10 -0400 [thread overview]
Message-ID: <20210727025210.GE9379@bill-the-cat> (raw)
[-- Attachment #1: Type: text/plain, Size: 13357 bytes --]
----- Forwarded message from scan-admin@coverity.com -----
Date: Tue, 27 Jul 2021 01:10:27 +0000 (UTC)
From: scan-admin@coverity.com
To: tom.rini@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.
6 new defect(s) introduced to Das U-Boot found with Coverity Scan.
9 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 6 of 6 defect(s)
** CID 332931: Control flow issues (NO_EFFECT)
/drivers/clk/clk_kendryte.c: 852 in k210_pll_set_rate()
________________________________________________________________________________________________________
*** CID 332931: Control flow issues (NO_EFFECT)
/drivers/clk/clk_kendryte.c: 852 in k210_pll_set_rate()
846 int err;
847 const struct k210_pll_params *pll = &k210_plls[id];
848 struct k210_pll_config config = {};
849 u32 reg;
850 ulong calc_rate;
851
>>> CID 332931: Control flow issues (NO_EFFECT)
>>> This less-than-zero comparison of an unsigned value is never true. "rate_in < 0UL".
852 if (rate_in < 0)
853 return rate_in;
854
855 err = k210_pll_calc_config(rate, rate_in, &config);
856 if (err)
857 return err;
** CID 332930: Integer handling issues (NO_EFFECT)
/lib/display_options.c: 216 in print_buffer()
________________________________________________________________________________________________________
*** CID 332930: Integer handling issues (NO_EFFECT)
/lib/display_options.c: 216 in print_buffer()
210 while (count) {
211 uint thislinelen;
212 char buf[HEXDUMP_MAX_BUF_LENGTH(width * linelen)];
213
214 thislinelen = hexdump_line(addr, data, width, count, linelen,
215 buf, sizeof(buf));
>>> CID 332930: Integer handling issues (NO_EFFECT)
>>> This greater-than-or-equal-to-zero comparison of an unsigned value is always true. "thislinelen >= 0U".
216 assert(thislinelen >= 0);
217 puts(buf);
218 putc('\n');
219
220 /* update references */
221 data += thislinelen * width;
** CID 332929: Integer handling issues (NO_EFFECT)
/drivers/clk/clk_kendryte.c: 898 in k210_pll_get_rate()
________________________________________________________________________________________________________
*** CID 332929: Integer handling issues (NO_EFFECT)
/drivers/clk/clk_kendryte.c: 898 in k210_pll_get_rate()
892 static ulong k210_pll_get_rate(struct k210_clk_priv *priv, int id,
893 ulong rate_in)
894 {
895 u64 r, f, od;
896 u32 reg = readl(priv->base + k210_plls[id].off);
897
>>> CID 332929: Integer handling issues (NO_EFFECT)
>>> This less-than-zero comparison of an unsigned value is never true. "rate_in < 0UL".
898 if (rate_in < 0 || (reg & K210_PLL_BYPASS))
899 return rate_in;
900
901 if (!(reg & K210_PLL_PWRD))
902 return 0;
903
** CID 332928: Integer handling issues (NO_EFFECT)
/common/log.c: 305 in _log_buffer()
________________________________________________________________________________________________________
*** CID 332928: Integer handling issues (NO_EFFECT)
/common/log.c: 305 in _log_buffer()
299 while (count) {
300 uint thislinelen;
301 char buf[HEXDUMP_MAX_BUF_LENGTH(width * linelen)];
302
303 thislinelen = hexdump_line(addr, data, width, count, linelen,
304 buf, sizeof(buf));
>>> CID 332928: Integer handling issues (NO_EFFECT)
>>> This greater-than-or-equal-to-zero comparison of an unsigned value is always true. "thislinelen >= 0U".
305 assert(thislinelen >= 0);
306 _log(cat, level, file, line, func, "%s\n", buf);
307
308 /* update references */
309 data += thislinelen * width;
310 addr += thislinelen * width;
** CID 332927: (DIVIDE_BY_ZERO)
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
________________________________________________________________________________________________________
*** CID 332927: (DIVIDE_BY_ZERO)
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In function call "__div64_32", division by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In function call "__div64_32", division by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In function call "__div64_32", division by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In function call "__div64_32", division by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In function call "__div64_32", division by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
/drivers/clk/clk_kendryte.c: 784 in k210_pll_calc_config()
778 } else {
779 /*
780 * There is no way to only divide once; we need
781 * to examine the frequency with and without the
782 * effect of od.
783 */
>>> CID 332927: (DIVIDE_BY_ZERO)
>>> In expression "(u32)_tmp % __base", modulo by expression "__base" which may be zero has undefined behavior.
784 u64 vco = DIV_ROUND_CLOSEST_ULL(rate_in * f, r);
785
786 if (vco > 1750000000 || vco < 340000000)
787 out_of_spec = true;
788 }
789
** CID 332926: API usage errors (CHAR_IO)
/common/autoboot.c: 95 in passwd_abort_crypt()
________________________________________________________________________________________________________
*** CID 332926: API usage errors (CHAR_IO)
/common/autoboot.c: 95 in passwd_abort_crypt()
89 do {
90 if (tstc()) {
91 /* Check for input string overflow */
92 if (presskey_len >= sizeof(presskey))
93 return 0;
94
>>> CID 332926: API usage errors (CHAR_IO)
>>> Assigning the return value of "getchar" to char "presskey[presskey_len]" truncates its value.
95 presskey[presskey_len] = getchar();
96
97 if ((presskey[presskey_len] == '\r') ||
98 (presskey[presskey_len] == '\n')) {
99 if (IS_ENABLED(CONFIG_AUTOBOOT_NEVER_TIMEOUT) &&
100 !presskey_len) {
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoA22WlOQ-2By3ieUvdbKmOyw68TMVT4Kip-2BBzfOGWXJ5yIiYplmPF9KAnKIja4Zd7tU-3DgJHe_EEm8SbLgSDsaDZif-2Bv7ch8WqhKpLoKErHi4nXpwDNTvYvjbZ9T6kqAgpHsL-2FhWyLWnQSgvdEHm6q866xWqhF8Kmj20Sw-2BzKXCiftzibA0uYIZFV1vWC-2FCXF6Dh6IUI5qabfVwsX4r17fuZmWj1IE9lgKHs0WTSBRQjnbruexWDlIvVYutFNrdA8azZiOmUFO6-2FIEOap-2BpBRs7mGOMMevZw-3D-3D
To manage Coverity Scan email notifications for "tom.rini@gmail.com", click https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yped04pjJnmXOsUBtKYNIXxWeIHzDeopm-2BEWQ6S6K-2FtUHv9ZTk8qZbuzkkz9sa-2BJFw4elYDyedRVZOC-2ButxjBZdouVmTGuWB6Aj6G7lm7t25-2Biv1B-2B9082pHzCCex2kqMs-3DJ_Gj_EEm8SbLgSDsaDZif-2Bv7ch8WqhKpLoKErHi4nXpwDNTvYvjbZ9T6kqAgpHsL-2FhWyLCbMsoi8Sh2iVNRO-2F4TymJeWpR6YUe5abzfxZiSqdMBZVlERkyaxx1HaUIY6r92vdxJPh9Y1P2q2Jzb9e1sOCST8P9RzKNS5Cgy-2F0NiCXVB-2F-2BEazUIg-2BeJSNSm4v-2Bke0oWlGf3b6Paw7Los1KuqTOiQ-3D-3D
----- End forwarded message -----
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next reply other threads:[~2021-07-27 2:52 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-27 2:52 Tom Rini [this message]
2021-07-27 3:26 ` [scan-admin@coverity.com: New Defects reported by Coverity Scan for Das U-Boot] Sean Anderson
2021-07-27 15:04 ` Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2022-09-06 15:50 Tom Rini
2022-05-09 17:22 Tom Rini
2022-04-25 23:41 Tom Rini
2022-03-05 18:27 Tom Rini
2022-02-15 19:29 Tom Rini
2022-02-01 0:33 Tom Rini
2021-11-15 18:02 Tom Rini
2021-11-02 16:22 Tom Rini
2021-11-01 20:06 Tom Rini
2021-09-15 14:11 Tom Rini
2021-08-30 17:39 Tom Rini
2021-08-31 15:18 ` Oleh Kravchenko
2021-09-06 14:05 ` Oleh Kravchenko
2021-09-06 15:23 ` Tom Rini
2021-08-16 19:57 Tom Rini
2021-08-16 20:15 ` Pali Rohár
2021-08-16 20:20 ` Tom Rini
2021-05-26 16:58 Tom Rini
2021-05-12 22:30 Tom Rini
2021-04-19 12:20 Tom Rini
2021-04-20 0:58 ` Asherah Connor
2021-04-20 1:17 ` Tom Rini
2021-04-20 6:13 ` Dario Binacchi
2021-03-30 19:55 Tom Rini
2021-03-02 14:42 Tom Rini
2021-02-23 16:15 Tom Rini
2021-02-01 19:51 Tom Rini
2021-01-26 16:41 Tom Rini
2021-01-20 19:04 Tom Rini
2021-01-20 20:43 ` Heinrich Schuchardt
2021-01-20 22:33 ` Heinrich Schuchardt
2021-01-21 2:09 ` AKASHI Takahiro
2021-01-26 17:02 ` Tom Rini
2021-01-20 21:03 ` Andre Przywara
2021-01-20 21:34 ` Tom Rini
2021-01-21 11:36 ` Sughosh Ganu
2021-01-21 13:44 ` Heinrich Schuchardt
2021-01-22 8:54 ` Sughosh Ganu
2021-01-22 11:37 ` Heinrich Schuchardt
2020-12-03 17:28 Tom Rini
2020-11-10 21:18 Tom Rini
2020-10-30 19:16 Tom Rini
2020-11-02 11:54 ` Pratyush Yadav
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=20210727025210.GE9379@bill-the-cat \
--to=trini@konsulko.com \
--cc=seanga2@gmail.com \
--cc=sjg@chromium.org \
--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.