summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-06-25 09:48:25 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:35 -0400
commit696e38df9d1b256e97b077ecde7afb8dd60364fd (patch)
tree715d9c9550c4cffa8362144d7464cf896c2fdb0c
parent5fe4755e2526a2aa82b7ed8daeb3aed74a236925 (diff)
SUNRPC: replace casts in auth_unix.c with container_of()
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--net/sunrpc/auth_unix.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c
index 2f1bdb5c86b3..f17dabbab1c7 100644
--- a/net/sunrpc/auth_unix.c
+++ b/net/sunrpc/auth_unix.c
@@ -89,12 +89,14 @@ unx_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags)
cred->uc_gids[i] = NOGROUP;
}
- return (struct rpc_cred *) cred;
+ return &cred->uc_base;
}
static void
-unx_destroy_cred(struct rpc_cred *cred)
+unx_destroy_cred(struct rpc_cred *rcred)
{
+ struct unx_cred *cred = container_of(rcred, struct unx_cred, uc_base);
+
kfree(cred);
}
@@ -106,7 +108,7 @@ unx_destroy_cred(struct rpc_cred *cred)
static int
unx_match(struct auth_cred *acred, struct rpc_cred *rcred, int flags)
{
- struct unx_cred *cred = (struct unx_cred *) rcred;
+ struct unx_cred *cred = container_of(rcred, struct unx_cred, uc_base);
int i;
if (!(flags & RPCAUTH_LOOKUP_ROOTCREDS)) {
@@ -137,7 +139,7 @@ static __be32 *
unx_marshal(struct rpc_task *task, __be32 *p)
{
struct rpc_clnt *clnt = task->tk_client;
- struct unx_cred *cred = (struct unx_cred *) task->tk_msg.rpc_cred;
+ struct unx_cred *cred = container_of(task->tk_msg.rpc_cred, struct unx_cred, uc_base);
__be32 *base, *hold;
int i;