All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nvmem: sunxi-sid: SID content is not a valid source of randomness
@ 2016-10-22 13:53 ` Corentin Labbe
  0 siblings, 0 replies; 16+ messages in thread
From: Corentin Labbe @ 2016-10-22 13:53 UTC (permalink / raw)
  To: srinivas.kandagatla, maxime.ripard, wens
  Cc: linux-arm-kernel, linux-kernel, linux-crypto, Corentin Labbe

Since SID's content is constant over reboot, it must not be used
as source of randomness.

This patch remove the use of SID content as source of randomness.

Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
 drivers/nvmem/sunxi_sid.c | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c
index 1567ccc..c82d5d1 100644
--- a/drivers/nvmem/sunxi_sid.c
+++ b/drivers/nvmem/sunxi_sid.c
@@ -21,8 +21,6 @@
 #include <linux/nvmem-provider.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
-#include <linux/slab.h>
-#include <linux/random.h>
 
 static struct nvmem_config econfig = {
 	.name = "sunxi-sid",
@@ -70,8 +68,6 @@ static int sunxi_sid_probe(struct platform_device *pdev)
 	struct resource *res;
 	struct nvmem_device *nvmem;
 	struct sunxi_sid *sid;
-	int ret, i, size;
-	char *randomness;
 
 	sid = devm_kzalloc(dev, sizeof(*sid), GFP_KERNEL);
 	if (!sid)
@@ -82,7 +78,6 @@ static int sunxi_sid_probe(struct platform_device *pdev)
 	if (IS_ERR(sid->base))
 		return PTR_ERR(sid->base);
 
-	size = resource_size(res) - 1;
 	econfig.size = resource_size(res);
 	econfig.dev = dev;
 	econfig.reg_read = sunxi_sid_read;
@@ -91,25 +86,9 @@ static int sunxi_sid_probe(struct platform_device *pdev)
 	if (IS_ERR(nvmem))
 		return PTR_ERR(nvmem);
 
-	randomness = kzalloc(sizeof(u8) * (size), GFP_KERNEL);
-	if (!randomness) {
-		ret = -EINVAL;
-		goto err_unreg_nvmem;
-	}
-
-	for (i = 0; i < size; i++)
-		randomness[i] = sunxi_sid_read_byte(sid, i);
-
-	add_device_randomness(randomness, size);
-	kfree(randomness);
-
 	platform_set_drvdata(pdev, nvmem);
 
 	return 0;
-
-err_unreg_nvmem:
-	nvmem_unregister(nvmem);
-	return ret;
 }
 
 static int sunxi_sid_remove(struct platform_device *pdev)
-- 
2.7.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-11-10 15:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-22 13:53 [PATCH] nvmem: sunxi-sid: SID content is not a valid source of randomness Corentin Labbe
2016-10-22 13:53 ` Corentin Labbe
2016-10-24 20:10 ` Maxime Ripard
2016-10-24 20:10   ` Maxime Ripard
2016-10-25  5:38   ` LABBE Corentin
2016-10-25  5:38     ` LABBE Corentin
2016-10-25  7:06     ` Jean-Francois Moine
2016-10-25  7:06       ` Jean-Francois Moine
2016-10-28 12:37       ` LABBE Corentin
2016-10-28 12:37         ` LABBE Corentin
2016-10-28 12:37         ` LABBE Corentin
2016-10-25 13:26     ` Maxime Ripard
2016-10-25 13:26       ` Maxime Ripard
2016-10-25 13:26       ` Maxime Ripard
2016-11-10 15:14       ` Corentin Labbe
2016-11-10 15:14         ` Corentin Labbe

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.