lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <54C8026B.9070607@vsis.cz>
Date:	Tue, 27 Jan 2015 22:26:03 +0100
From:	Vlastimil Setka <setka@...s.cz>
To:	vbridger@...nsource.altera.com, netdev@...r.kernel.org,
	rfi@...ts.rocketboards.org
Subject: Altera TSE (altera_tse) - tx_fifo_depth init bug

Hello,

I have discovered a bug in Altera TSE (altera_tse) ethernet driver.

In altera_tse_main.c, function altera_tse_probe:

	if (of_property_read_u32(pdev->dev.of_node, "tx-fifo-depth",
				 &priv->rx_fifo_depth)) {

the TX related "tx-fifo-depth" is read from device tree, but by mistake 
written to RX related struct member rx_fifo_depth instead of correct 
tx_fifo_depth.

https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/altera/altera_tse_main.c#L1401

I am not sure about impact of this bug, but it seems that 
priv->tx_fifo_depth is left uninitialised which is definitely not OK.

[PATCH 1/1] Altera TSE: Fix priv->tx_fifo_depth initialization

This patch fixes priv->tx_fifo_depth initialization in altera_tse_probe().
The "tx-fifo-depth" attribute was read again into rx_fifo_depth instead 
of correct tx_fifo_depth probably because of copy-and-paste typo,
and tx_fifo_depth was left uninitialised.

Signed-off-by: Vlastimil Setka <setka@...s.cz>
---
  drivers/net/ethernet/altera/altera_tse_main.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/altera/altera_tse_main.c 
b/drivers/net/ethernet/altera/altera_tse_main.c
index 760c72c..f3d784a 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1399,7 +1399,7 @@ static int altera_tse_probe(struct platform_device 
*pdev)
         }

         if (of_property_read_u32(pdev->dev.of_node, "tx-fifo-depth",
-                                &priv->rx_fifo_depth)) {
+                                &priv->tx_fifo_depth)) {
                 dev_err(&pdev->dev, "cannot obtain tx-fifo-depth\n");
                 ret = -ENXIO;
                 goto err_free_netdev;
--
1.8.1.2


Regards,
Vlastimil Setka
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ