All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

             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.