linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] zcache: fix "zcache=" kernel parameter
@ 2013-07-19 14:46 Piotr Sarna
  2013-07-19 15:20 ` Konrad Rzeszutek Wilk
  2013-07-24 10:02 ` Michal Hocko
  0 siblings, 2 replies; 13+ messages in thread
From: Piotr Sarna @ 2013-07-19 14:46 UTC (permalink / raw)
  To: konrad.wilk
  Cc: bob.liu, gregkh, linux-kernel, devel, b.zolnierkie, Piotr Sarna,
	Kyungmin Park

Commit 835f2f5 ("staging: zcache: enable zcache to be built/loaded as
a module") introduced an incorrect handling of "zcache=" parameter.

Inside zcache_comp_init() function, zcache_comp_name variable is
checked for being empty. If not empty, the above variable is tested
for being compatible with Crypto API. Unfortunately, after that
function ends unconditionally (by the "goto out" directive) and returns:
- non-zero value if verification succeeded, wrongly indicating an error
- zero value if verification failed, falsely informing that function
  zcache_comp_init() ended properly.

A solution to this problem is as following:
1. Move the "goto out" directive inside the "if (!ret)" statement
2. In case that crypto_has_comp() returned 0, change the value of ret
   to non-zero before "goto out" to indicate an error.

Signed-off-by: Piotr Sarna <p.sarna@partner.samsung.com>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/staging/zcache/zcache-main.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c
index dcceed2..81972fa 100644
--- a/drivers/staging/zcache/zcache-main.c
+++ b/drivers/staging/zcache/zcache-main.c
@@ -1811,10 +1811,12 @@ static int zcache_comp_init(void)
 #else
 	if (*zcache_comp_name != '\0') {
 		ret = crypto_has_comp(zcache_comp_name, 0, 0);
-		if (!ret)
+		if (!ret) {
 			pr_info("zcache: %s not supported\n",
 					zcache_comp_name);
-		goto out;
+			ret = 1;
+			goto out;
+		}
 	}
 	if (!ret)
 		strcpy(zcache_comp_name, "lzo");
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [PATCH] zcache: fix "zcache=" kernel parameter
@ 2013-07-18 11:09 Piotr Sarna
  0 siblings, 0 replies; 13+ messages in thread
From: Piotr Sarna @ 2013-07-18 11:09 UTC (permalink / raw)
  To: dan.magenheimer
  Cc: linux-kernel, devel, b.zolnierkie, Piotr Sarna, Kyungmin Park

Commit 835f2f5 ("staging: zcache: enable zcache to be built/loaded as
a module") introduced an incorrect handling of "zcache=" parameter.

Inside zcache_comp_init() function, zcache_comp_name variable is
checked for being empty. If not empty, the above variable is tested
for being compatible with Crypto API. Unfortunately, after that
function ends unconditionally (by the "goto out" directive) and returns:
- non-zero value if verification succeeded, wrongly indicating an error
- zero value if verification failed, falsely informing that function
  zcache_comp_init() ended properly.

A solution to this problem is as following:
1. Move the "goto out" directive inside the "if (!ret)" statement
2. In case that crypto_has_comp() returned 0, change the value of ret
   to non-zero before "goto out" to indicate an error.

Signed-off-by: Piotr Sarna <p.sarna@partner.samsung.com>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/staging/zcache/zcache-main.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c
index dcceed2..81972fa 100644
--- a/drivers/staging/zcache/zcache-main.c
+++ b/drivers/staging/zcache/zcache-main.c
@@ -1811,10 +1811,12 @@ static int zcache_comp_init(void)
 #else
 	if (*zcache_comp_name != '\0') {
 		ret = crypto_has_comp(zcache_comp_name, 0, 0);
-		if (!ret)
+		if (!ret) {
 			pr_info("zcache: %s not supported\n",
 					zcache_comp_name);
-		goto out;
+			ret = 1;
+			goto out;
+		}
 	}
 	if (!ret)
 		strcpy(zcache_comp_name, "lzo");
-- 
1.7.9.5


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

end of thread, other threads:[~2013-07-24 16:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-19 14:46 [PATCH] zcache: fix "zcache=" kernel parameter Piotr Sarna
2013-07-19 15:20 ` Konrad Rzeszutek Wilk
2013-07-24 10:02 ` Michal Hocko
2013-07-24 10:04   ` Michal Hocko
2013-07-24 10:32     ` Bartlomiej Zolnierkiewicz
2013-07-24 11:41       ` Michal Hocko
2013-07-24 11:54         ` Bartlomiej Zolnierkiewicz
2013-07-24 15:04           ` Greg KH
2013-07-24 15:06           ` Greg KH
2013-07-24 15:39             ` Bartlomiej Zolnierkiewicz
2013-07-24 15:50               ` Bartlomiej Zolnierkiewicz
2013-07-24 16:48                 ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2013-07-18 11:09 Piotr Sarna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).