Re: 2.6.21-mm1 and now 2.6.21-git: SLUB Crashes on boot - crypto?

From: Kevin Winchester
Date: Thu May 10 2007 - 07:11:08 EST


On 5/9/07, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
On Tue, May 08, 2007 at 09:58:09PM -0300, Kevin Winchester wrote:
>
> Not having any idea what I'm doing, I looked at cryptomgr_probe and
> cryptomgr_notify, and can't seem to see much, except for the following
> odd lines.
>
> From cryptomgr_schedule_probe, which is almost certainly inlined into
> crypto_notify:

Thanks for reporting this. This patch should fix the problem.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff -puN crypto/cryptomgr.c~crypto-fix crypto/cryptomgr.c
--- a/crypto/cryptomgr.c~crypto-fix
+++ a/crypto/cryptomgr.c
@@ -24,8 +24,6 @@
#include "internal.h"

struct cryptomgr_param {
- struct task_struct *thread;
-
struct rtattr *tb[CRYPTOA_MAX];

struct {
@@ -81,6 +79,7 @@ err:

static int cryptomgr_schedule_probe(struct crypto_larval *larval)
{
+ struct task_struct *thread;
struct cryptomgr_param *param;
const char *name = larval->alg.cra_name;
const char *p;
@@ -130,8 +129,8 @@ static int cryptomgr_schedule_probe(stru

memcpy(param->larval.name, larval->alg.cra_name, CRYPTO_MAX_ALG_NAME);

- param->thread = kthread_run(cryptomgr_probe, param, "cryptomgr");
- if (IS_ERR(param->thread))
+ thread = kthread_run(cryptomgr_probe, param, "cryptomgr");
+ if (IS_ERR(thread))
goto err_free_param;

return NOTIFY_STOP;
_


I see that this patch made it in to mainline, and latest -git now
works for me, so I assume this was the correct solution. I thought I
had tried this exact change without success when I was looking at the
problem, but I guess I did something wrong along the way.

Thanks for the fix,
Kevin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/