Re: 2.6.11-mm3: BUG: atomic counter underflow at: rpcauth_destroy

From: Trond Myklebust
Date: Tue Mar 15 2005 - 19:01:17 EST


ty den 15.03.2005 Klokka 23:21 (+0100) skreiv Borislav Petkov:

> After some rookie debugging I think I've found the evildoer:
>
> rpcauth_create used to have a line that inits rpc_auth->au_count to one
> atomically. This line is now missing so when you release the rpc
> authentication handle, the au_count underflows. Here's a fix:
>
> Signed-off-by: Borislav Petkov <petkov@xxxxxxxxxxxxxxx>
>
> --- net/sunrpc/auth.c.orig 2005-03-15 22:34:58.000000000 +0100
> +++ net/sunrpc/auth.c 2005-03-15 22:36:23.000000000 +0100
> @@ -70,6 +70,7 @@ rpcauth_create(rpc_authflavor_t pseudofl
> auth = ops->create(clnt, pseudoflavor);
> if (!auth)
> return NULL;
> + atomic_set(&auth->au_count, 1);
> if (clnt->cl_auth)
> rpcauth_destroy(clnt->cl_auth);
> clnt->cl_auth = auth;

The correct fix for this has already been committed to Linus' bitkeeper
repository. See

http://linux.bkbits.net:8080/linux-2.6/cset@42332338Oz6uYqdnuwFBM5JHXlBCCQ?nav=index.html|ChangeSet@-4d

Cheers,
Trond
--
Trond Myklebust <trond.myklebust@xxxxxxxxxx>

-
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/